一.账号安全控制
1.系统账号清理
-
将非登陆用户的shell设为/sbin/nologin usermod -s/sbin/nologin
[root@localhost ~]# useradd -s /sbin/nologin lisi [root@localhost ~]# usermod -s /sbin/nologin zhangsan
-
锁定长期不使用的账号
usermod -L 用户名 passwd -l 用户名 passwd -S 用户名
-
解锁账号
[root@localhost ~]# passwd -u lisi [root@localhost ~]# usermod -U zhangsan
-
删除无用的账号 (userdel [-r]}
[root@localhost ~]#userdel -r lisi #删除用户及其家目录
-
锁定账号文件passwd,shadow
chattr +i /etc/passwd /etc/shadow lsattr /etc/passwd /etc/shadow chattr -i /etc/passwd /etc/shadow
2密码安全控制
-
设置密码有效期
-
要求用户下次登录时修改密码
-
[root@localhost~]#vi /etc/login.defs #适用于新建用户 ...... PASS_MAX_DAYS 30 [root@localhost~]#chage -M 30 lisi #适用于已有用户 [root@localhost~]#chage -d 0 zhanagsan #强制下次登录用户时需要修改密码
3命令历史限制
-
减少记录的命令条数
-
注销时自动清空命令历史
-
[root@localhost ~]#history #查看命令历史 [root@localhost ~]#history -c #临时清楚命令历史 [root@localhost ~]# vi /etc/profile HISTSIZE=10 #减少命令条数为10 [root@localhost ~]# vi~/.bashrc echo "" > ~/.bash_history #注销时自动清空命令历史
4终端自动注销
-
闲置600秒后自动注销
-
[root@localhost ~]# vi .bash_profile export TMOUT=60 #闲置60秒后自动注销 [root@localhost ~]# source .bash_profile
二.使用su命令切换用户
-
用途用法
-
用途:substitute user ,切换用户
-
格式 su -目标用户
-
-
密码验证
-
root -->任意用户,不验证密码
-
普通用户–>其他用户,验证目标用户的密码
-
[lisi@localhost~]$su - root #带-选项表示将使用目标用户的登录shell环境 口令: [root@localhost~]#whoami #确定当前用户是谁
-
-
限制使用su命令的用户
-
将允许使用su命令的用户加入wheel组
-
启用pam_wheel认证模块
-
[root@localhost~]#vi /etc/pam.d/su #%PAM-1.0 auth sufficient pam_rootok.so auth required pam_wheel.so use_uid ..... [root@localhost~]#gpasswd -a zhangsan wheel # 将用户ngsan加入wheel组
-
三.Linux中的PAM安全认证
-
su命令的安全隐患
- 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
- 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换
-
PAM可插拔式认证模块
- 是一种高效而且灵活便利的用户级别的认证方式
- 也是当前Linux服务器普遍使用的认证方式
-
PAM认证原理
-
一般遵循的顺序
service(服务)–>PAM(配置文件)–>pam_*.so
-
首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认真文件(位于/lib64/security下)进行安全认证
-
用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
-
不同的应用程序所对应的PAM模块是不同的
-
-
PAM认证的构成
-
查看某个程序是否支持PAM认证,可以用ls命令
-
ls /etc/pam.d |grep su
-
查看su的PAM配置文件:
cat /etc/pam.d/su
- 每一行都是一个独立的认证过程
- 每一行可以区分为三个字段
- 第一列代表认证类型
- 第二列代表控制类型
- 第三列代表PAM模块及其参数
-
-
PAM安全认证流程
-
控制类型也称作control flags,用于PAM验证类型的返回结构
- required验证失败时仍然继续,但返回fail
- required验证失败则立即结束整个验证过程,返回fail
- sufficient验证成功则立即返回,不在继续,否则忽略结果并继续
- optional不用于验证,只显示信息(通常用于session类型)
-
流程图
-
四.使用sudo机制提升权限
-
用途用法
用途:以其他用户身份(如root)执行授权的命令 用法:sudo 授权命令
-
配置sudo授权
-
visudo 或者vi /etc/sudoers
-
记录格式:用户 主机名列表=命令程序列表
-
[root@localhost~]#visudo ....... %wheel ALL=NOPASSWD:ALL jerry localhost=/sbin/ifconfig syrianer localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum mike localhost=PKGTOOLS
-
-
查看sudo操作记录
- 需启用Defaults logfile 配置
- 默认日志文件:/var/log/sudo