linux系统安全主要从账号安全控制、系统引导和登录控制的角度,来进行Linux系统安全优化。并且使用辅助工具来查找安全隐患,以便我们及时采取相应的措施。
账号安全
1、 系统各种冗余账号,如”games”等,可直接删除,包括一些程序账号,若卸载程序后,账号没能被删除,则需要我们手动进行删除。
2、 当服务器中的用户账号已经固定,不再进行更改,可以直接锁定账号配置文件,锁定以后,便不可以添加用户及更改用户密码:
chattr +i /etc/passwd /etc/shadow #锁定文件
lsattr /etc/passwd /etc/shadow #查看是否锁定
----i----------- /etc/passwd
----i----------- /etc/shadow
chattr -i /etc/passwd /etc/shadow #解锁文件
3、密码的有效期控制:为了降低密码被暴力破解或被猜出的风险,可以设置密码有效期来限制密码最大有效天数,对于密码已过期的用户,登录时则必须重置密码,否则将拒绝登录。
vim /etc/login.defs #适用于新建的用户,配置完毕后新建的用户则为30天
........................
PASS_MAX_DAYS 30 #将该配置项默认的值"99999"改为所期望的值,如30天。
chage -M 30 zhangsan # 适用于已经存在的用户,指定已经存在的用户为30天
chage -d 0 zhangsan # 张三下次登录必须修改密码
4、命令历史、自动注销:
vim /etc/profile #适用于新登录用户
................
HISTSIZE=200 #命令历史记录为200条
export TMOUT=600 #自动注销时间为600秒
#适用于当前用户
export HISTSIZE=200 # 命令历史记录为200条
export TMOUT=600 # 自动注销时间为600秒
注意:当正在执行程序代码编译、修改系统配置等耗时较长的操作时,最好不要设置TMOUT变量。必要时可以执行”unset TMOUT”命令取消TMOUT变量设置。
控制用户切换与提权:
1、su命令用于切换用户
默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,这样就有了安全隐患,为了避免这种情况,可以借助于pam_wheel认证模块,只允许极个别用户使用su命令进行切换。实现过程如下:将授权使用su命令的用户添加到wheel组,修改/etc/pam.d/su认证配置以启用pam_wheel认证:
gpasswd -a admin wheel #添加授权用户admin
正在将用户"admin"加入到"wheel"组中
grep wheel /etc/group #确认wheel组成员
wheel:x:10:admin
vim /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
...................
auth required pam_wheel.so use_uid #去掉此行开头的 # 号