检查设备密码复杂度策略
1. 检查密码复杂度策略中设置的大写字母个数
2. 检查密码复杂度策略中设置的数字个数
3. 检查密码复杂度策略中设置的特殊字符个数
4. 检查密码复杂度策略中设置的小写字母个数
Redhat系统:修改/etc/pam.d/system-auth文件,
Suse9:修改/etc/pam.d/passwd文件,
Suse10,Suse11:修改/etc/pam.d/common-password文件,
在ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 选3种,追加到password requisite pam_cracklib.so后面,添加到配置文件中。
例如:password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1
注:ucredit:大写字母个数;lcredit:小写字母个数;dcredit:数字个数;ocredit:特殊字符个数
检查是否设置口令生存周期
在文件/etc/login.defs中设置 PASS_MAX_DAYS 不大于标准值90
检查口令最小长度
在文件/etc/login.defs中设置 PASS_MIN_LEN 不小于标准值12
检查是否存在空口令账号
按照密码设置策略设置非空密码 命令: passwd [OPTION...] <accountName>
检查是否对登录进行日志记录
登录日志文件为/var/log/wtmp,/var/log/utmp.这2个文件中记录着所有登录过主机的用户,时间,来源等内容,这个文件不具可读性,可用last命令来看。
检查安全事件日志配置
1. 检查syslog-ng是否配置安全事件日志
编辑/etc/syslog-ng/syslog-ng.conf
配置:
filter f_msgs { level(err) or facility(kern) and level(debug) or facility(daemon) and level(notice); };
destination msgs { file("/var/adm/msgs"); };
log { source(src); filter(f_msgs); destination(msgs); };
其中/var/adm/msgs为日志文件。
如果该文件不存在,则创建该文件,命令为:
touch /var/adm/msgs,并修改权限为666.命令为:chmod 666 /var/adm/msgs.
重启日志服务:
#/etc/init.d/syslog restart
2. 检查rsyslog是否配置安全事件日志
编辑/etc/rsyslog.conf
配置:
*.err;kern.debug;daemon.notice /var/adm/messages
其中/var/adm/messages为日志文件。
如果该文件不存在,则创建该文件,命令为:
touch /var/adm/messages,并修改权限为666.命令为:chmod 666 /var/adm/messages.
重启日志服务:
#/etc/init.d/rsyslog restart
3. 检查syslog是否配置安全事件日志
编辑/etc/syslog.conf
配置:
*.err;kern.debug;daemon.notice /var/adm/messages
其中/var/adm/messages为日志文件。
如果该文件不存在,则创建该文件,命令为:
touch /var/adm/messages,并修改权限为666.命令为:chmod 666 /var/adm/messages.
重启日志服务:
#/etc/init.d/syslog restart
检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议
对于使用IP协议进行远程维护的设备,应配置使用SSH协议
对于使用IP协议进行远程维护的设备,应禁止使用telnet协议, 在/etc/services文件中,注释掉 telnet 23/tcp 一行(如不生效重启telnetd服务或xinetd服务或系统,例如,Red Hat 上重启xinetd:service xinetd restart,根据实际情况操作)
检查是否禁止匿名用户登录FTP
禁止匿名WU-FTP用户登录,在/etc/passwd文件中,删除ftp用户
禁止匿名VSFTP用户登录,编辑/etc/vsftpd.conf(或/etc/vsftpd/vsftpd.conf)文件,设置:anonymous_enable=NO
检查是否修改snmp默认团体字
检查是否安装snmp服务, 如果系统未安装snmp服务,则认为合规。
检查snmp团体字是否未使用private, 编辑/etc/snmp/snmpd.conf,修改private默认团体字为用户自定义团体字。
检查配置文件/etc/snmp/snmpd.conf是否存在,如果系统安装了snmp服务,请确保该文件存在。如果不存在,则在/etc/snmp/目录下创建该文件。
检查snmp团体字是否未使用public,编辑/etc/snmp/snmpd.conf,修改public默认团体字为用户自定义团体字。
检查是否禁止root用户登录FTP
禁止root登录VSFTP, 编辑/etc/ftpusers(或/etc/vsftpd/ftpusers)文件 添加root
禁止root登录WU-FTP, 在/etc/ftpusers文件中加入一行 root
检查是否关闭不必要的服务和端口
检查密码重复使用次数限制
Redhat:编辑/etc/pam.d/system-auth文件,
Suse9:编辑/etc/pam.d/passwd文件,
Suse10,Suse11:编辑/etc/pam.d/common-password文件,
修改设置如下
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
补充操作说明
只需在password sufficient这一行加上remember=5即可
NIS系统无法生效,非NIS系统或NIS+系统能够生效。
检查是否禁用不必要的系统服务
查看所有开启的服务:
#ps aux
禁用xinetd.d 目录中不用的服务:
#vi /etc/xinetd.d/servicename
将服务文件里面的disable设置为disable=yes重启xinetd服务,即可。
要直接关闭某个服务,如sshd可用如下命令:
# /etc/init.d/sshd stop #关闭正在运行的sshd服务
补充操作说明
关闭下列不必要的基本网络服务。
chargen-dgram daytime-stream echo-streamklogin tcpmux-server chargen-stream discard-dgram eklogin krb5-telnet tftp cvs discard-stream ekrb5-telnet kshell time-dgram daytime-dgram echo-dgram gssftp rsync time-stream
检查是否配置SSH方式账户认证失败次数限制
编辑/etc/pam.d/sshd文件
在auth行下方添加:
auth required pam_tally2.so deny=10 unlock_time=300 even_deny_root root_unlock_time=30
在password include password-auth行下方添加:
account required pam_tally.so
参数说明:
deny #连续认证失败次数超过的次数
unlock_time #锁定的时间,单位为秒