一、账号安全控制
1、账号安全基本措施
(1)系统账号清理
·将非登录用户的Shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名
·锁定长期不使用的账号
usermod -L 用户名
passwd -l 用户名
passwd -S 用户名 #查看用户账号状态
·删除无用的账号
userdel [-r] 用户名
·锁定账号文件passwd、shadow
chattr +i /etc/passwd /etc/shadow #锁定账号及密码文件
lsattr /etc/passwd /etc/shadow #查看账号及密码文件
chattr -i /etc/passwd /etc/shadow #解锁账号及密码文件
(2)密码安全控制
①设置密码有效期
1.修改密码配置文件,适用于新建用户
vi /etc/login.defs
修改PASS_MAX_DAYS 30
2.修改已有用户的密码有效期
chage -M 30 用户名
可通过命令cat /etc/shadow | grep 用户名,查看该用户密码相关信息
②强制用户登录时修改密码
chage -d 0 用户名 #将shadow文件中的第三个字段修改为0,强制在下次登录时修改密码
2、命令历史限制
(1)减少记录的命令条数
vi /etc/profile
修改HISTSIZE=n,n为修改条数
或末行添加export HISTSIZE=n
完成修改后source /etc/profile刷新,系统将重新读取该文件
(2)登录时自动清空命令历史
vi /etc/.bashrc
末行添加echo “” > ~./bash_histroy
(3)终端自动注销
设置闲置账户的自动注销是保护系统安全的的有效手段之一
vi /etc/profile
修改TMOUNT=n,n为无操作的秒数,若n秒无操作,账户将自动注销
完成修改后source /etc/profile刷新,系统将重新读取该文件
3、su命令的使用及限制
(1)用途及用法
用途:Substitute User,切换用户
格式:
su - 目标用户 #切换至目标用户的登录Shell环境
su 目标用户 #切换至目标用户并保留在当前目录
(2)密码验证
root切换至任意用户,不验证密码
普通用户切换至其他用户,验证目标用户的密码
(3)限制使用su命令的用户
将允许使用su命令的用户加入wheel组
启用pam_wheel认证模块
gpasswd -a 用户名 wheel #将该用户加入到wheel组
vi /etc/pam.d/su
开启第二行以及第六行pam模块,#为注释状态,删除#即为开启状态
auth sufficient pam_rootok.so
…
…
…
auth required pam_wheel.so use_uid
启动pam_wheel认证后,未加入到wheel组内的用户才能使用su命令,root用户也将禁用su命令。
注1:以上两行的默认状态是开启第一行,注释第二行,这种状态下是允许所有用户间使用su命令切换的。
注2:两行都注释也是运行所有用户都能使用su命令,但root下使用su切换到普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam_rootok.so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码)。
注3:如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令。
注4:如果注释第一行,开启第二行,表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令。
4、Linux中的PAM安全认证
(1)su命令的安全隐患
默认情况下,任何用户都允许使用su命令,有机会反复尝