CentOS7 基线加固

  1. 系统加固加固部分

  1. 密码规范

cp  /etc/login.defs /etc/login.defs.bak

# 原文件备份

sed -i 's/^PASS_MAX_DAYS.*$/PASS_MAX_DAYS 90/' /etc/login.defs

sed -i 's/^PASS_MIN_DAYS.*$/PASS_MIN_DAYS 7/' /etc/login.defs

sed -i 's/^PASS_MIN_LEN.*$/PASS_MIN_LEN 8/' /etc/login.defs

sed -i 's/^PASS_WARN_AGE.*$/PASS_WARN_AGE 30/' /etc/login.defs

# 设置密码最小长度为8位,密码最长生命周期为90天,密码最短更换周期为7天# 密码过期警告信息在过期前30天开始

  1. 检查是否限制用户su到root

usermod -a -G wheel runstone

cp -av /etc/pam.d/su{,.source}

sed -i 's/^#auth\t\trequired\tpam_wheel.so.*$/auth\t\trequired\tpam_wheel.so use_uid/g' /etc/pam.d/su

# 去掉su的pam文件的该行注释,使之生效# auth required pam_wheel.so use_uid# 只有wheel组的用户才可以使用su命令# 该配置项对root用户无效

echo 'PermitRootLogin no'>>/etc/ssh/sshd_config

/etc/init.d/sshd restart

# 限制root,不能直接使用ssh登录

  1. 检查是否删除工作账号

需要锁定的用户: 

listen,gdm,webservd,nobody,nobody4,noaccess。

删除用户:#userdel username; 

锁定用户: 

#usermod -L username 

只有具备超级用户权限的使用者方可使用. 

#usermod –U username可以解锁。 

  1. 检查是否设置文件与目录缺省权限

在文件/etc/profile中设置umask 027或UMASK 027,如果文件中含有umask参数,则需要在最前面设置该参数

/etc/login.defs 该文件也需要修改

  1. 检查是否设置命令行界面超时退出

以root账户执行,vi /etc/profile,增加 export TMOUT=300(单位:秒,可根据具体情况设定超时退出时间,要求不小于300秒),注销用户,再用该用户登录激活该功能

  1. 检查是否限制root用户远程登录

修改/etc/ssh/sshd_config文件,配置PermitRootLogin no。重启服务,/etc/init.d/sshd restart。

禁止root用户远程telnet登录

编辑 /etc/pam.d/login文件,配置auth required pam_securetty.so

  1. 检查日志文件是否非全局可写

chmod 755 /var/log/messages

chmod 775 /var/log/boot.log

chmod 775 /var/log/cron

chmod 775 /var/log/secure

chmod 775 /var/log/maillog

chmod 775 /var/log/spooler

chmod 775 /var/log/mail

  1. 检查是否配置远程日志功能

修改配置文件vi /etc/rsyslog.conf, 

加上这一行: 

*.* @192.168.0.1 

  1. 检查是否禁止匿名用户登录FTP

在/etc/passwd文件中,删除ftp用户

userdel ftp

检查是否禁止root用户登录FTP

检查是否修改系统banner

删除"/etc"目录下的 issue.net 和 issue 文件: 

# mv /etc/issue /etc/issue.bak 

# mv /etc/issue.net /etc/issue.net.bak

  1. 、修改密码策略

修改vi /etc/pam.d/system-auth文件,将password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= 注释并在其下面新增1行 password requisite pam_cracklib.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ocredit=-1 retry=1 type= 

selinux备注:

try_first_pass而当pam_unix验证模块与password验证类型一起使用时,该选项主要用来防止用户新设定的密码与以前的旧密码相同。

minlen=8:最小长度8位

difok=5:新、旧密码最少5个字符不同

dcredit=-1:最少1个数字

lcredit=-1:最少1个小写字符,(ucredit=-1:最少1个大写字符)

ocredit=-1:最少1个特殊字符

retry=1:1次错误后返回错误信息

type=xxx:此选项用来修改缺省的密码提示文本

你可能感兴趣的:(linux,运维,服务器)