用户帐号安全优化

注意:在进行对任何配置文件做修改之前请务必进行原有配置文件的备份!

基本的安全措施

1.删除系统中不使用的用户和组

 在linux系统中,一些程序在安装的时候会创建特有的用户和组,这些用户仅仅用于启动服务或运行进程,通常是不允许登录的。例如mysql、apache、named、news。当***者假冒这些用户或组身份时,往往不易被管理员发现。如果不需要提供FTP服务,就可以删除ftp用户和ftp组……

误删一些在使用的用户、用户组会导致部分功能失常,所以删除需谨慎。

可以删除的用户有:lp、shutdown、halt、news、uucp、operator、games、gopher

可以删除的用户组有: lp、news、uucp、games、dip

如果不确定用户是否应该删除,也可以暂时禁用该用户。

使用带“-l”选项的passwd命令可以锁定(lock)用户,“-u”选项可用于解锁。

#passwd -l  xiaozhang  锁定用户

#passwd -u  xiaozhang   解锁用户

或者直接修改shadow文件,在zhangsan用户的密码字符串钱添加“!”

#vi /etc/shadow

zhangsan:!$7$RWh4JrNb$cvLzgh/x4DQoYCC1021f5KLtSeVLbAeAeD6VrCATE22ovEKdds94IV0CAUUm7f6PLTIWSYFxfvM8qD3R/6W631:16057:0:99999:7:::

2、确认程序或服务用户的登录shell不可用

主要检查服务器运行必需的系统服务或程序的运行帐号,如:rpm、ftp、apache、dovecot等,将这些用户的帐号登录shell修改为“/sbin/nologin”,即可禁止登录。

#vi /etc/passwd

named:x:25:25:Named:/var/named:/sbin/nologin

或者执行如下命令:

#usermod -s /sbin/nologin named

3、限制用户的密码有效期(最大天数)

 在不安全的网络环境中,为了降低密码被猜出或者被暴力破解的风险,用户应养成定期修改密码的习惯。

将密码的最大有效天数限制为30天

#vi /etc/login.def   //只对新建立的用户有效

PASS_MAX_DAYS 30  

#chage -M 30 zhangsan  //只对已存在的zhangsan用户有效

用户在登陆服务器时,如果密码过期,系统会要求重新设置一个新的密码,否则将无法登录。

4、制定用户在下次登录时必须修改密码

制定zhangsan用户在下次登录时必须修改自己的密码,否则不允许登录。

#chage -d 0 zhangsan

或将shadow文件中zhangsan用户LAST DAY域(冒号“:”分隔的第3列)的值设为0

#vi /etc/shadow

zhangsan:$7$RWh4JrNb$cvLzgh/x4DQoYCC1021f5KLtSeVLbAeAeD6VrCATE22ovEKdds94IV0CAUUm7f6PLTIWSYFxfvM8qD3R/6W631:0:0:99999:7:::

5、限制用户密码的最小长度、