1、系统账号清理
在Linux系统中.除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他大量账号。除了超级用户rool之外.其他大量账号只是用来维护系统运作.启动或保持服务进程.一般是不允许登录的.因此也称为非登录用户账号.
常见的非登录用户账号包括bin、daemon、adm、lp、mail等。为了确保系统安全,这些用户账号的登录Shell通常是/sbin/nologin,表示禁止终端登录,应确保不被人为改动,如下所示,
[root@Linux01 ~]# grep "/sbin/nologin$" /etc/passwd
————————————————————————————————————————
对于Linux 服务器中长期不用的用户账号.若无法确定是否应该删除.可以暂时将其锁定。例如.若要锁定.解锁名为zhangsan的用户账号,可以执行以下操作(passwd,usermod 命令都可用来锁定.解锁账号).
[root@Linux01 ~]# usermod -L bdqn //锁定账号
[root@Linux01 ~]# passwd -S bdqn //查看账号的状态
[root@Linux01 ~]# usermod -U bdqn //解锁账号
———————————————————————————————————————————
如果服务器中的用户账号已经固定.不再进行更改,还可以采取锁定账号配置文件的方法.使用chattr命令,分别结合“+i”“-i”选项来锁定.解锁文件.使用lsattr 命令可以查看文件锁定情况。
[root@Linux01 ~]# chattr +i /etc/passwd /etc/shadow //锁定文件
[root@Linux01 ~]# lsattr /etc/passwd /etc/shadow //查看文件状态
[root@Linux01 ~]# chattr -i /etc/passwd /etc/shadow //解锁文件
[root@Linux01 ~]# lsattr /etc/passwd /etc/shadow //查看文件的状态
———————————————————————————————————————————
在账号文件被锁定的情况下,其内容将不允许变更.因此无法添加.删除账号,也不能更改用户的密码、登录Shell、宿主目录等属性信息.
[root@Linux01 ~]# chattr +i /etc/passwd /etc/shadow //锁定文件
[root@Linux01 ~]# useradd lishi //添加新的账号
——————————————————————————————————————
2.密码安全控制
在不安全的网络环境中.为了降低密码被猜出或被暴力破解的风险,用户应养成定期更改密码的习惯.避免长期使用同一个密码。管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时将被要求重新设置密码,否则将拒绝登录。
执行以下操作可将密码的有效期设为30天(chage命令用于设置密码时限)。
[root@Linux01 ~]# vim /etc/login.defs //用于新建的账号
[root@Linux01 ~]# chage -M 3000 bdqn //用于已经有的账户
————————————————————————————————————————
在某些特殊情况下.如要求批量创建的用户初次登录时必须自设密码,根据安全规划统一要求所有用户更新密码等,可以由管理员执行强制策略.以便用户在下次登录时必须更改密码。例如.执行以下操作可强制要求用户zhangsan下次登录时重设密码.
[root@Linux01 ~]# chage -d 0 lisi
——————————————————————————————————————————
history //查询使用过的命令
[root@Linux01 ~]# vim /etc/profile //用于新账号登录
[root@Linux01 ~]# export HISTSIZE=10000 //用于当前账号
————————————————————————————————————————
Bash 终端环境中,还可以设置-一个闲置超时时间,当超过指定的时间没有任何输入时即自动注销终端.这样可以有效避免当管理员不在时其他人员对服务器的误操作风险,闲置超时由变量 TMOUT来控制,默认单位为秒(s).
[root@Linux01 ~]# vim /etc/profile //用于新用户
[root@Linux01 ~]# export TMOUT=6000 用于当前用户 立即生效
新增加下面这一项
——————————————————————————————————————————
使用su命令,可以切换为指定的另一个用户.从而具有该用户的所有权限。当然,切换时需要对目标用户的密码进行验证(从root 用户切换为其他用户时除外)。例如,当前登录的用户为jerry,若要切换为root 用户.可以执行以下操作。
[bdqn@Linux01 ~]$ su - root
——————————————————————————————————
默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户〈如root〉的登录密码,这样带来了安全风险。为了加强su命令的使用控制.可以借助于pamn_wheel认证模块.只允许极个别用户使用su命令进行切换。实现过程如下:将授权使用su命令的用户添加到wheel 组,修改/etc/parn.d/ su认证配置以启用pam_wheel认证。
[root@Linux01 ~]# gpasswd -a bdqn wheel //添加授权用户 bdqn
[root@Linux01 ~]# grep wheel /etc/group //确认 wheel 组成员
——————————————————————————————————————————
默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户〈如root)的登录密码,这样带来了安全风险,为了加强su命令的使用控制,可以借助于parm_wheel认证模块.只允许极个别用户使用su命令进行切换。实现过程如下:将授权使用su命令的用户添加到wheel组,修改/ etc/parn.d/su认证配置以启用pam_wheel认证。
[root@Linux01 ~]# vim /etc/pam.d/su
去掉这行开头的 # 号 就可以了
启用pamn_wheel认证以后,未加入到wheel组内的其他用户将无法使用su命令,尝试进行切换时将提示“拒绝权限”,从而将切换用户的权限控制在最小范围内。
——————————————————————————————————————————
禁止Ctrl + Alt + Del 快捷键重启
快捷键重启功能为服务器的本地维护提供了方便.但对于多终端登录的Linux服务器,禁用此功能是比较安全的选择。在CentOS 7中,执行cat /etc/ inittb命令可以得知Ctrl+Alt+Del 快捷键功能由/usr /lib/systemd/system/ctrl-alt-del , target 文件进行设置,查看/usr/ lib/systernd/system/ctrl-alt-del , target文件发现,ctrl--alt-del , target是reboot , target文件的软链接文件。
在不影响reboot , target文件的前提下执行以下命令即可禁用Ctrl+Alt+Del快捷键功能。
[root@Linux01 ~]# systemctl mask ctrl-alt-del.target //注销 ctrl-alt-del.target 服务
[root@Linux01 ~]# systemctl daemon-reload //从新加载配置systemd
_______________________________________________________________________
1.禁止 root 用户登录
在Linx系统中,login程序会读取/etc/securetty文件.以决定允许root用户从哪些终端〈安全终端)登录系统。若要禁止root用户从指定的终端登录.只需从该文件中删除或者注释掉对应的行即可。例如.若要禁止 roat 用户从tty5、tty6登录.可以修改/etc/securetty文件,将tty5,tty6行注释掉。
[root@Linux01 ~]# vim /etc/securetty
————————————————————————————————————————
2.禁止普通用户登录
当服务器正在进行备份或调试等维护工作时.可能不希望再有新的用户登录系统。这时候,只需要简单地建立/etc/nologin文件即可。login程序会检查/etc/nologin文件是否存在.如果存在,则拒绝普通用户登录系统(root 用户不受限制)。
[root@Linux01 ~]# touch /etc/nologin //禁止普通用户登录
[root@Linux01 ~]# rm -rf touch /etc/nologin //如果想解除禁止就直接删除命令
——————————————————————————————————————————