-
系统加固加固部分
-
密码规范
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天开始
-
检查是否限制用户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登录
-
检查是否删除工作账号
需要锁定的用户:
listen,gdm,webservd,nobody,nobody4,noaccess。
删除用户:#userdel username;
锁定用户:
#usermod -L username
只有具备超级用户权限的使用者方可使用.
#usermod –U username可以解锁。
-
检查是否设置文件与目录缺省权限
在文件/etc/profile中设置umask 027或UMASK 027,如果文件中含有umask参数,则需要在最前面设置该参数
/etc/login.defs 该文件也需要修改
-
检查是否设置命令行界面超时退出
以root账户执行,vi /etc/profile,增加 export TMOUT=300(单位:秒,可根据具体情况设定超时退出时间,要求不小于300秒),注销用户,再用该用户登录激活该功能
-
检查是否限制root用户远程登录
修改/etc/ssh/sshd_config文件,配置PermitRootLogin no。重启服务,/etc/init.d/sshd restart。
禁止root用户远程telnet登录
编辑 /etc/pam.d/login文件,配置auth required pam_securetty.so
-
检查日志文件是否非全局可写
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
-
检查是否配置远程日志功能
修改配置文件vi /etc/rsyslog.conf,
加上这一行:
*.* @192.168.0.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
-
、修改密码策略
修改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:此选项用来修改缺省的密码提示文本