栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CentOS7 基线检查

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CentOS7 基线检查

口令锁定策略 威胁等级:Low 规则描述
设置口令认证失败后的锁定策略
审计描述
检查配置文件的/etc/pam.d/system-auth和/etc/pam.d/password-auth是否有
auth required pam_faillock.so preauth audit silent deny=5 unlock_time=180 
auth [success=1 default=bad] pam_unix.so 
auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=180 
auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=180
检测用例信息
#### 检测描述
检查配置文件/etc/pam.d/system-auth和/etc/pam.d/password-auth是否有以下配置auth required pam_faillock.so preauth audit silent deny=5 unlock_time=180: grep '^s*auth' /etc/pam.d/password-auth /etc/pam.d/system-auth | grep pam_faillock.so | grep "preauth" | grep "audit" | grep "silent" | egrep "deny=[0-5]" | egrep "unlock_time=([1-9][0-9]{3,}|[2-9][0-9][0-9]|1[8-9][0-9])"
#### 期望结果
两个文件都配置auth required pam_faillock.so preauth audit silent deny=5 unlock_time=180
#### 检测结果

#### 检测描述
检查配置文件/etc/pam.d/system-auth和/etc/pam.d/password-auth是否有以下配置auth [success=1 default=bad] pam_unix.so: grep '^s*auth' /etc/pam.d/password-auth /etc/pam.d/system-auth | grep pam_unix.so | egrep "success=1s+default=bad"
#### 期望结果
两个文件都配置auth [success=1 default=bad] pam_unix.so
#### 检测结果

#### 检测描述
检查配置文件/etc/pam.d/system-auth和/etc/pam.d/password-auth是否有以下配置auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=180: grep '^s*auth' /etc/pam.d/password-auth /etc/pam.d/system-auth | grep pam_faillock.so | egrep "default=die" | grep "authfail" | grep "audit" | egrep "deny=[0-5]" | egrep "unlock_time=([1-9][0-9]{3,}|[2-9][0-9][0-9]|1[8-9][0-9])"
#### 期望结果
两个文件都配置auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=180
#### 检测结果

#### 检测描述
检查配置文件/etc/pam.d/system-auth和/etc/pam.d/password-auth是否有以下配置auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=180: grep '^s*auth' /etc/pam.d/password-auth /etc/pam.d/system-auth | grep pam_faillock.so | grep "sufficient" | grep "authsucc" | grep "audit" | egrep "deny=[0-5]" | egrep "unlock_time=([1-9][0-9]{3,}|[2-9][0-9][0-9]|1[8-9][0-9])"
#### 期望结果
两个文件都配置auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=180
#### 检测结果

修改建议
在配置文件/etc/pam.d/system-auth和/etc/pam.d/password-auth中添加
auth required pam_faillock.so preauth audit silent deny=5 unlock_time=180 
auth [success=1 default=bad] pam_unix.so 
auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=180 
auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=180
口令生存期 威胁等级:High 规则描述
该设置确定在系统要求用户更改某个密码之前可以使用改口令的期限及口令过期提前告警时间(以天为单位),此策略使得攻击者用来破解用户密码以及访问网络资源的时间受到限制
审计描述
检查配置文件/etc/login.defs的选项:应设置PASS_MAX_DAYS的值大于等于10且小于等于90,PASS_MIN_DAYS的值为10, PASS_WARN_AGE(口令过期提前时间)的值为7,同时还要检查文件/etc/shadow中有口令且可登录用户(root用户除外)的口令保持有效的最大天数为大于等于10且小于等于90,两次修改口令之间所需的最小天数为10,口令失效告警时间为7。
检测用例信息
#### 检测描述
检查配置文件/etc/login.defs的PASS_MAX_DAYS参数:egrep -v "[[:space:]]*#" /etc/login.defs 2>/dev/null | grep PASS_MAX_DAYS
#### 期望结果
PASS_MAX_DAYS 90(10-90)
#### 检测结果
PASS_MAX_DAYS	99999
#### 检测描述
检查配置文件/etc/login.defs的PASS_MIN_DAYS参数:egrep -v "[[:space:]]*#" /etc/login.defs 2>/dev/null | grep PASS_MIN_DAYS
#### 期望结果
PASS_MIN_DAYS 10
#### 检测结果
PASS_MIN_DAYS	0
修改建议
设置配置文件/etc/login.defs的选项:PASS_MAX_DAYS 90(10~90), PASS_MIN_DAYS 10, PASS_WARN_AGE 7,同时对已有用户还需要修改/etc/shadow文件中有密码且可登录用户(root用户除外)的口令保持有效的最大天数为大于等于10且小于等于90,两次修改口令之间所需的最小天数为10,口令失效告警时间为7。
口令复杂度 威胁等级:High 规则描述
该设置确定用户账户口令包含的最少字符数
审计描述
执行命令:cat /etc/pam.d/password-auth /etc/pam.d/system-auth | grep -v '^s*#' | grep password | grep pam_pwquality.so,检查是否存在以下内容:password requisite pam_pwquality.so try_first_pass retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1 
执行命令:cat /etc/security/pwquality.conf,检查是否存在以下内容:
minlen = 8 
dcredit = -1 
ucredit = -1 
ocredit = -1 
lcredit = -1
检测用例信息
#### 检测描述
检查/etc/pam.d/password-auth文件配置是否符合要求
#### 期望结果
文件/etc/pam.d/password-auth存在配置:
password requisite pam_pwquality.so try_first_pass retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
#### 检测结果

#### 检测描述
检查/etc/pam.d/system-auth文件配置是否符合要求
#### 期望结果
文件/etc/pam.d/system-auth存在配置:
password requisite pam_pwquality.so try_first_pass retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
#### 检测结果

#### 检测描述
检查/etc/security/pwquality.conf文件配置是否符合要求
#### 期望结果
文件/etc/security/pwquality.conf存在配置:
minlen = 8 
dcredit = -1 
ucredit = -1 
ocredit = -1 
lcredit=-1
#### 检测结果

修改建议
编辑/etc/pam.d/password-auth 和 /etc/pam.d/system-auth文件,分别修改包含minlen的pam_pwquality.so模块如下:
password requisite pam_pwquality.so try_first_pass retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1 
或编辑/etc/security/pwquality.conf文件,修改以下内容:
minlen = 8 
dcredit = -1 
ucredit = -1 
ocredit = -1 
lcredit = -1 
备注:当配置文件/etc/pam.d/password-auth和/etc/pam.d/system-auth未配置minlen、dcredit、ucredit、ocredit、lcredit时,/etc/security/pwquality.conf文件设置生效
删除无关账号 威胁等级:Low 规则描述
删除无关账号
审计描述
检查/etc/shadow文件,确认是否有以下用户(adm|lp|sync|halt|news|nfsnobody|mail|uucp|operator|games|gopher|ftp|nobody|nobody4|noaccess|listen|webservd|rpm|dbus|avahi|mailnull|smmsp|nscd|vcsa|rpc|rpcuser|nfs|sshd|pcap|ntp|haldaemon|distcache|apache|webalizer|squid|xfs|gdm|sabayon|named),若有则检查文件中是否存在系统中未锁定的无关用户(用户密码字段列不是以*或者!开头)和需要锁定和删除的shell域设置的用户(用户shell域不是/bin/false或/sbin/nologin),均不存在则pass。
检测用例信息
#### 检测描述
检查/etc/passwd文件中是否存在需要锁定和删除的shell域设置的用户:egrep "^(adm|lp|sync|halt|news|nfsnobody|mail|uucp|operator|games|gopher|ftp|nobody|nobody4|noaccess|listen|webservd|rpm|dbus|avahi|mailnull|smmsp|nscd|vcsa|rpc|rpcuser|nfs|sshd|pcap|ntp|haldaemon|distcache|apache|webalizer|squid|xfs|gdm|sabayon|named):" /etc/passwd 2>/dev/null|awk -F':' '($7 != "/bin/false" && $7 != "/sbin/nologin") {print $1":"$7}'
#### 期望结果
不存在需要锁定和删除的shell域设置的用户
#### 检测结果
sync:/bin/sync
halt:/sbin/halt
修改建议
删掉不符规范的用户,执行:userdel username。或者编辑/etc/passwd文件,修改用户的密码字段和shell域。
设置账户组 威胁等级:Low 规则描述
系统中存在用户自定义的组账号
审计描述
查看文件/etc/login.defs文件,确认文件中变量GID_MIN和GID_MAX的值,并在/etc/passwd中确认是否存在用户组gid>=GID_MIN且<=GID_MAX的用户,若存在则pass
检测用例信息
#### 检测描述
查看文件/etc/login.defs文件,确认文件中变量GID_MIN和GID_MAX的值,并在/etc/passwd中确认是否存在用户gid>=GID_MIN且<=GID_MAX的用户: UP_GIDMIN=`(grep -v '^s*#' /etc/login.defs 2>/dev/null |grep "^GID_MIN"|awk '($1="GID_MIN") {print $2}')`;UP_GIDMAX=`(grep -v '^s*#' /etc/login.defs 2>/dev/null |grep "^GID_MAX"|awk '($1="GID_MAX") {print $2}')`;grep -v '^s*#' /etc/passwd 2>/dev/null | egrep -v "oracle|sybase|postgres" |awk -F':' '($4>='$UP_GIDMIN' && $4<='$UP_GIDMAX') {print $1":"$3":"$4}'
#### 期望结果
存在用户自定义的组账号
#### 检测结果

修改建议
在/etc/passwd中添加gid符合要求(id>=GID_MIN且<=GID_MAX)的用户,并将用户分配到该用户组中
口令重复次数限制 威胁等级:Medium 规则描述
重新启用某个旧密码,要确保此密码在继上次使用后已被修改过几次。 此策略是管理员能够通过确保旧密码不被连续重新使用来增强安全性
审计描述
检查文件/etc/pam.d/system-auth和文件/etc/pam.d/password-auth是否存在如下配置:
password sufficient pam_unix.so remember=5 
或password required pam_pwhistory.so remember=5 
其中remember选项大于等于5
检测用例信息
#### 检测描述
检查文件/etc/pam.d/system-auth和文件/etc/pam.d/password-auth的“password sufficient pam_unix.so remember=5”参数
#### 期望结果
两个文件都配置password sufficient pam_unix.so remember=5(或更大)
#### 检测结果

#### 检测描述
检查文件/etc/pam.d/system-auth和文件/etc/pam.d/password-auth的“password required pam_pwhistory.so remember=5”参数
#### 期望结果
两个文件都配置password required pam_pwhistory.so remember=5(或更大)
#### 检测结果

修改建议
编辑配置文件/etc/pam.d/system-auth和文件/etc/pam.d/password-auth修改或添加配置:
password sufficient pam_unix.so remember=5 
或password required pam_pwhistory.so remember=5 
备注:使用remember=5配置覆盖原有模块配置
文件与目录缺省权限控制 威胁等级:High 规则描述
该设置确定新创建的目录和文件的默认权限
审计描述
检查/etc/profile,  /etc/profile.dvar/log/cron.*)[[:space:]]*;[[:space:]]*};"|awk '{print $2}'`;if [ -n $cron_2 ];file=`grep -v "^[[:space:]]*#" /etc/syslog-ng/syslog-ng.conf | grep "destinations*cron" | grep -E "file(("|').+("|'))" | awk -F '"' '{print $2}'`;if [ -n $cron_2 -a -f $file ];then cron_3=`cat /etc/syslog-ng/syslog-ng.conf | grep -v "^[[:space:]]*#" | egrep "log[[:space:]]*{[[:space:]]*source(src);[[:space:]]*filter(.*);[[:space:]]*destination($cron_2);[[:space:]]*};" | wc -l`;if [ $cron_3 -ge 1 ];then echo "Cron log has been configured";fi;else echo "$file does not exist";fi;fi;fi;
#### 期望结果
Cron日志已配置
#### 检测结果

修改建议
在文件/etc/rsyslog.conf添加如下配置:
 cron.*     /var/log/cron
或编辑文件/etc/syslog-ng/syslog-ng.conf,在文件增加如下内容(如果存在则无需新增)如下内容:
    filter f_cron { facility(cron); };
    destination cron { file("/var/log/cron"); };
    log { source(src); filter(f_cron); destination(cron); }; 其中/var/log/cron为日志文件。
    (1)、如果该文件不存在,则创建该文件,命令为:
        #touch /var/log/cron
    (2)、同时修改其权限为640,命令为:
        #chmod 640 /var/log/cron
使用SSH协议进行远程维护 威胁等级:High 规则描述
查看telnet和ssh服务状态
审计描述
查看telnet和ssh服务状态: 
systemctl is-enabled sshd, 
systemctl is-enabled telnet.socket
检测用例信息
 
修改建议 
关闭Telnet服务, systemctl disable telnet.socket,并开启ssh服务, systemctl enable sshd
检查SSH的PermitEmptyPasswords是否禁用 威胁等级:Medium 规则描述
PermitEmptyPasswords参数指定SSH服务器是否允许使用空密码登录帐户。
审计描述
检查/etc/ssh/sshd_config文件中是否存在 PermitEmptyPasswords no
检测用例信息
 
修改建议 
/编辑/etc/ssh/sshd_config文件将PermitEmptyPasswords设置为:no,并重启服务。
备注:PermitEmptyPasswords默认值为no
检查SSH的HostbasedAuthentication是否禁用 威胁等级:Medium 规则描述
HostbasedAuthentication参数指定身份验证是否允许。
审计描述
检查/etc/ssh/sshd_config文件中是否存在 HostbasedAuthentication no
检测用例信息
 
修改建议 
编辑/etc/ssh/sshd_config文件将 HostbasedAuthentication 设置为:no,并重启服务。
备注:HostbasedAuthentication的默认值为no
修改SNMP的默认Community 威胁等级:Medium 规则描述
检查snmpd服务是否开启,若开启则修改snmp默认团体名称
审计描述
1、使用命令systemctl is-enabled snmpd查看snmpd服务是否开启。
2、snmpd服务若开启,则修改snmp默认团体名称
#cat /etc/snmp/snmpd.conf
检测用例信息
 
修改建议 
修改snmp默认团体名称
禁止root用户登录FTP 威胁等级:Medium 规则描述
禁止root用户登录FTP
审计描述
禁止root用户登录ftp

1)检查是否有ftp服务,如果不存在,直接pass,如果有ftp服务,检查后面内容。
2)ftp服务启动时,检查下面内容:
检查userlist_enable是YES(默认是NO),同时userlist_deny是否是NO,且查看/etc/vsftpd/user_list文件是否有配置root用户,如果有root配置则不通过。
注:如果userlist_deny是YES(默认),则/etc/vsftpd/user_list中的用户都无法访问服务器,建议使用用户白名单。如果是pure-ftp服务器,查看如下配置文件pure-ftpd.conf。
pure-ftp服务器,pure-ftpd.conf文件中设置了MinUID            100,限制了uid<=100的用户登录FTP。
如果是wu-ftp服务器,查看如下配置文件/etc/ftpd/ftpusers(/etc/ftpusers)。
wu-ftp服务器,/etc/ftpd/ftpusers(/etc/ftpusers)文件中存在root用户。
如果是proftp服务器,查看如下配置文件proftpd.conf。
proftp服务器,proftpd.conf文件中不存在如下配置:
RootLogin           on
以上五个条件满足其一则合规,否则不合规。
检测用例信息
#### 检测描述
检查vsftpd.conf文件确保输出为userlist_enable=YES:if [ `ps -ef|grep ftpd|grep -v "grep"|wc -l` -ge 1 ];then data=`if [ -f /etc/vsftpd/vsftpd.conf ]; then printf '/etc/vsftpd/vsftpd.conf'; else if [ -f /etc/vsftpd.conf ]; then printf '/etc/vsftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then cat $data | grep -v "^[[:space:]]*#" | awk -F'#' '{print $1}' | grep '^[[:space:]]*userlist_enable' 2>/dev/null;fi;fi;
#### 期望结果
userlist_enable=YES
#### 检测结果

#### 检测描述
检查vsftpd.conf文件确保输出为userlist_deny=NO:if [ `ps -ef|grep ftpd|grep -v "grep"|wc -l` -ge 1 ];then data=`if [ -f /etc/vsftpd/vsftpd.conf ]; then printf '/etc/vsftpd/vsftpd.conf'; else if [ -f /etc/vsftpd.conf ]; then printf '/etc/vsftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then cat $data | grep -v "^[[:space:]]*#" | awk -F'#' '{print $1}'| grep '^[[:space:]]*userlist_deny' 2>/dev/null;fi ;fi;
#### 期望结果
userlist_deny=NO
#### 检测结果

#### 检测描述
检查pure-ftpd.conf文件确保存在MinUID      100:if [ `ps -ef|grep ftpd|grep -v "grep"|wc -l` -ge 1 ];then data=`if [ -f /etc/pure-ftpd/pure-ftpd.conf ]; then printf '/etc/pure-ftpd/pure-ftpd.conf'; else if [ -f /etc/pure-ftpd.conf ]; then printf '/etc/pure-ftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then cat $data | egrep -v "^[[:space:]]*#|^[[:space:]]*$"|grep -i "MinUID";fi;unset data;fi;
#### 期望结果
MinUID 100
#### 检测结果

#### 检测描述
检查ftpusers文件,确保配置root:if [ `ps -ef|grep ftpd|grep -v "grep"|wc -l` -ge 1 ];then data=`if [ -f /etc/ftpusers ]; then printf '/etc/ftpusers'; else if [ -f /etc/ftpd/ftpusers ]; then printf '/etc/ftpd/ftpusers';fi;fi;`; if [ ! -z "$data" ]; then cat $data | egrep -v "^[[:space:]]*#|^[[:space:]]*$"|grep "^[[:space:]]*root";fi;unset data;fi;
#### 期望结果
root
#### 检测结果

#### 检测描述
检查proftpd.conf文件确保输出符合要求:if [ `ps -ef|grep ftpd|grep -v "grep"|wc -l` -ge 1 ];then data=`if [ -f /etc/proftpd.conf ]; then printf '/etc/proftpd.conf'; else if [ -f /etc/proftpd/proftpd.conf ]; then printf '/etc/proftpd/proftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then cat $data | egrep -v "^[[:space:]]*#|^[[:space:]]*$"|egrep "RootLogin[[:space:]]+on"; else printf 'The configuration file of ftp does not exist'; fi;unset data;else printf 'Service ftp is not open'; fi;
#### 期望结果
ftp服务开启且proftpd.conf文件中不存在如下配置:RootLogin on
#### 检测结果
Service ftp is not open
修改建议
如果ftp服务不需要,需要关闭该服务。
如果需要ftp服务,则需要配置userlist_enable为YES,userlist_deny为NO,且/etc/vsftpd/user_list文件中删除root用户。
wu-ftp
    编辑/etc/ftpusers或者/etc/ftpd/ftpusers,在文件中录入root,例如:
    root
    venustech
    说明:ftpusers文件中用户将禁止登录FTP
proftp
    编辑配置文件proftpd.conf,在文件中查看是否存在如下内容,存在则将其注释掉:
    RootLogin           on
pure-ftp
    编辑配置文件pure-ftpd.conf,在文件中查看是否存在如下内容,没有则新增:
    MinUID          100          #即禁止uid<=100的用户登录FTP
重启FTP服务
备注:配置文件pure-ftpd.conf文件的默认路径为/etc/pure-ftpd/pure-ftpd.conf或/etc/pure-ftpd.conf 
配置文件proftpd.conf的默认路径为/etc/proftpd.conf或/etc/proftpd/proftpd.conf
禁止匿名FTP 威胁等级:High 规则描述
禁止匿名FTP
审计描述
禁止匿名登录ftp
1)检查是否有ftp服务,如果不存在,直接pass,如果有ftp服务,检查后面内容。
2)ftp服务启动时,检查下面内容:
a) 禁止匿名用户访问。
检查vsftpd.conf文件中anonymous_enable是否是NO,如果是No,则不需要检查b、c项,默认是YES。
b) 禁止匿名用户在FTP服务器中上传文件和创建目录。
检查vsftpd.conf文件中anon_upload_enable是否是NO,检查anon_mkdir_write_enable是否是NO。
备注:anon_upload_enable和anon_mkdir_write_enable默认为NO。
c) 禁止邮件地址登录。
检查vsftpd.conf文件中deny_email_enables是否是YES,同时检查banned_email_file配置的文件路径
如果是pure-ftp服务器,查看如下配置文件pure-ftpd.conf.
pure-ftp服务器,配置文件中存在NoAnonymous的值为yes
如果是wu-ftp服务器,查看如下配置文件ftpaccess.
wu-ftp服务器,配置文件中不存在class  [guest|anonymous] 
如果是proftp服务器,查看如下配置文件proftpd.conf.
proftp服务器,配置文件中将匿名用户配置注释掉或者匿名用户配置中存在AnonRequirePassword的值为on
以上四个条件满足其一则合规,否则不合规
检测用例信息
#### 检测描述
检查vsftpd.conf确保输出为anonymous_enable=NO:data=`if [ -f /etc/vsftpd/vsftpd.conf ]; then printf '/etc/vsftpd/vsftpd.conf'; else if [ -f /etc/vsftpd.conf ]; then printf '/etc/vsftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then cat $data | grep -v "^[[:space:]]*#" | awk -F'#' '{print $1}' | grep '^[[:space:]]*anonymous_enable' 2>/dev/null;fi
#### 期望结果
anonymous_enable=NO
#### 检测结果

#### 检测描述
检查vsftpd.conf确保输出为deny_email_enables=YES:data=`if [ -f /etc/vsftpd/vsftpd.conf ]; then printf '/etc/vsftpd/vsftpd.conf'; else if [ -f /etc/vsftpd.conf ]; then printf '/etc/vsftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then cat $data  | grep -v "^[[:space:]]*#" | awk -F'#' '{print $1}' | grep '^[[:space:]]*deny_email_enables' 2>/dev/null;fi
#### 期望结果
deny_email_enable=YES
#### 检测结果

#### 检测描述
检查vsftpd.conf确保有输出:unset data;unset securecat;unset ret;data=`if [ -f /etc/vsftpd/vsftpd.conf ]; then printf '/etc/vsftpd/vsftpd.conf'; else if [ -f /etc/vsftpd.conf ]; then printf '/etc/vsftpd.conf';fi;fi;`; securecat=`if [ ! -z "$data" ]; then cat $data | grep -v "^[[:space:]]*#" | awk -F'#' '{print $1}' | grep '^[[:space:]]*banned_email_file' | awk -F'=' '{print $2}' 2>/dev/null;fi`;if [ ! -z "$securecat" ];then ret=`find $securecat -type f 2>/dev/null`;if [ ! -z "$ret" ];then echo $ret;fi;fi;unset securecat;unset ret;
#### 期望结果
文件存在
#### 检测结果

#### 检测描述
检查pure-ftpd.conf文件确保输出为NoAnonymous yes:data=`if [ -f /etc/pure-ftpd/pure-ftpd.conf ]; then printf '/etc/pure-ftpd/pure-ftpd.conf'; else if [ -f /etc/pure-ftpd.conf ]; then printf '/etc/pure-ftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then cat $data | egrep -v "^[[:space:]]*#|^[[:space:]]*$"|egrep -i "NoAnonymous";fi;unset data;
#### 期望结果
NoAnonymous yes
#### 检测结果

#### 检测描述
检查ftpaccess文件确保输出满足要求:data=`if [ -f /etc/ftpaccess ]; then printf '/etc/ftpaccess'; else if [ -f /etc/ftpd/ftpaccess ]; then printf '/etc/ftpd/ftpaccess';fi;fi;`; if [ ! -z "$data" ]; then grep -v "^[[:space:]]*#" $data | egrep "^classs*.*(guest|anonymous).*" 2>/dev/null;else echo "ftpaccess does not exist";fi;
#### 期望结果
文件存在且不包含内容class [类名][guest/anonymous] [IP地址]
#### 检测结果
ftpaccess does not exist
#### 检测描述
检查proftpd.conf文件确保输出满足要求:data=`if [ -f /etc/proftpd.conf ]; then printf '/etc/proftpd.conf'; else if [ -f /etc/proftpd/proftpd.conf ]; then printf '/etc/proftpd/proftpd.conf';fi;fi;`; if [ ! -z "$data" ]; then Anonymous_1=`cat $data|sed '/^[[:space:]]*#/d'|sed '/^[[:space:]]*$/d'|sed -n '//p'|grep -i "AnonRequirePassword[[:space:]]*on"`;Anonymous_2=`cat $data|sed '/^[[:space:]]*#/d'|sed '/^[[:space:]]*$/d'|sed -n '//p'`;if ([ -n "$Anonymous_1" ] || [ -z "$Anonymous_2" ]);then printf "true";fi;fi;
#### 期望结果
true
#### 检测结果

修改建议
如果ftp服务不需要,需要关闭该服务。
如果需要ftp服务,则需要配置vsftpd.conf文件中anonymous_enable为No,禁止匿名用户访问。
pure-ftp
编辑配置文件pure-ftpd.conf,在文件中找到如下行,修改NoAnonymous的值为yes(没有则添加)
NoAnonymous         yes
wu-ftp
编辑配置文件ftpaccess,如果文件中存在类似如下行,则注释掉:
class [类名] [guest/anonymous] [IP地址]
说明:用户类型不能为guest或者anonymous
proftp
编辑配置文件proftpd.conf,查看文件中找到如下结构:

  Group                         ftp
  UserAlias                     anonymous ftp

在该结构中添加如下行:
AnonRequirePassword on     #启用认证功能,注意AnonRequirePassword后面更得是多个tab符.
或者将....结构注释掉.
重启ftp服务
备注:配置文件pure-ftpd.conf文件的默认路径为/etc/pure-ftpd/pure-ftpd.conf或/etc/pure-ftpd.conf 
配置文件proftpd.conf的默认路径为/etc/proftpd.conf或/etc/proftpd/proftpd.conf
root用户环境变量的安全性 威胁等级:Medium 规则描述
查看path环境变量的值,检查root用户的系统路径中是否包含父目录。
审计描述
检查PATH环境变量的值,确认PATH环境变量中是否存在.或者..的路径
检测用例信息
 
修改建议 
查看PATH环境变量的值,删除PATH环境变量中存在.或者..的路径
禁止组合键关机 威胁等级:Medium 规则描述
禁止Control-Alt-Delete重启动机器命令
审计描述
检查/usr/lib/systemd/system/reboot.target文件,如果该文件不存在、该文件都注释掉、该文件为空则pass,或者如果软链接文件/usr/lib/systemd/system/ctrl-alt-del.target不存在,也pass
检测用例信息
#### 检测描述
检查/usr/lib/systemd/system/reboot.target文件是否存在: cat /usr/lib/systemd/system/reboot.target 2>/dev/null | grep -v "^s*#" 
#### 期望结果
文件/usr/lib/systemd/system/reboot.target不存在或该文件都注释掉或该文件为空
#### 检测结果

[Unit]
Description=Reboot
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-reboot.service
After=systemd-reboot.service
AllowIsolate=yes
JobTimeoutSec=30min
JobTimeoutAction=reboot-force

[Install]
Alias=ctrl-alt-del.target
#### 检测描述
检查/usr/lib/systemd/system/ctrl-alt-del.target文件是否存在: ls /usr/lib/systemd/system/ctrl-alt-del.target 2>/dev/null
#### 期望结果
文件/usr/lib/systemd/system/ctrl-alt-del.target不存在
#### 检测结果
/usr/lib/systemd/system/ctrl-alt-del.target
修改建议
删掉/usr/lib/systemd/system/reboot.target文件
修改TELNET的Banner信息 威胁等级:Low 规则描述
检查在TELNET服务开启的时候,其Banner信息中是否包含敏感信息。
审计描述
1、检查TELNET服务
2、若TELNET服务开启,检查文件/etc/issue和/etc/issue.net是否不包含系统敏感信息(版本信息),执行命令:1. egrep '(v|r|m|s)' /etc/issue 2>/dev/null | grep -v "^s*#" 2.egrep '(v|r|m|s)' /etc/issue.net 2>/dev/null | grep -v"^s*#"
检测用例信息
#### 检测描述
检查/etc/issue文件是否存在敏感信息:egrep '(v|r|m|s)' /etc/issue 2>/dev/null | grep -v "^s*#"
#### 期望结果
文件/etc/issue不存在敏感信息
#### 检测结果
Kernel r on an m
#### 检测描述
检查/etc/issue.net文件是否存在敏感信息:egrep '(v|r|m|s)' /etc/issue.net 2>/dev/null | grep -v"^s*#"
#### 期望结果
文件/etc/issue.net不存在敏感信息
#### 检测结果
Kernel r on an m
修改建议
删除文件/etc/issue和/etc/issue.net中的系统敏感信息(版本信息)
更改主机解析地址的顺序 威胁等级:Low 规则描述
1、检查是否设置首先通过DNS解析IP地址,然后通过hosts文件解析。
2、检查设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。
3、检查是否设置说明要注意对本机未经许可的IP欺骗。
审计描述
检查文件/etc/host.conf,看是否存在如下内容:
        order hosts,bind
        multi on
        nospoof on
检测用例信息
#### 检测描述
检查文件中是否存在order hosts,bind:egrep -v "^s*#"  /etc/host.conf | egrep  -i "^s*orders*hostss*"
#### 期望结果
order hosts,bind
#### 检测结果

#### 检测描述
检查文件中是否存在nospoof on:egrep -v "^s*#"  /etc/host.conf | egrep  -i "^s*nospoofs*"
#### 期望结果
nospoof on
#### 检测结果

修改建议
在文件/etc/host.conf中修改或添加如下内容:
        order hosts,bind
        multi on
        nospoof on
检查可疑数据包是否被记录 威胁等级:Medium 规则描述
开启功能后,将不可发送源地址的数据包记录到内核日志
审计描述
检查文件/etc/sysctl.conf或/etc/sysctl.d/*的参数net.ipv4.conf.all.log_martians和net.ipv4.conf.default.log_martians,值为1表示合规,执行命令:
1.sysctl net.ipv4.conf.all.log_martians 2.cat /etc/sysctl.conf/etc/sysctl.d/* | grep -v '^s*#' | grep "net.ipv4.conf.all.log_martians"  
3.sysctl net.ipv4.conf.default.log_martians 4.cat /etc/sysctl.conf /etc/sysctl.d/* | grep '^s*#' | grep "net.ipv4.conf.default.log_martians"
检测用例信息
#### 检测描述
查看系统设置的参数net.ipv4.conf.all.log_martians: sysctl net.ipv4.conf.all.log_martians
#### 期望结果
net.ipv4.conf.all.log_martians = 1
#### 检测结果
net.ipv4.conf.all.log_martians = 0
#### 检测描述
查看文件/etc/sysctl.conf或/etc/sysctl.d/*是否配置参数net.ipv4.conf.all.log_martians: cat /etc/sysctl.conf/etc/sysctl.d/* | grep -v '^s*#' | grep "net.ipv4.conf.all.log_martians"
#### 期望结果
文件/etc/sysctl.conf或者/etc/sysctl.d/*配置:net.ipv4.conf.all.log_martians = 1
#### 检测结果

#### 检测描述
查看系统设置的参数net.ipv4.conf.default.log_martians:sysctl net.ipv4.conf.default.log_martians
#### 期望结果
net.ipv4.conf.default.log_martians = 1
#### 检测结果
net.ipv4.conf.default.log_martians = 0
#### 检测描述
查看文件/etc/sysctl.conf或/etc/sysctl.d/*是否配置参数net.ipv4.conf.default.log_martians: cat /etc/sysctl.conf /etc/sysctl.d/* | grep '^s*#' | grep "net.ipv4.conf.default.log_martians"
#### 期望结果
文件/etc/sysctl.conf或者/etc/sysctl.d/*配置:net.ipv4.conf.default.log_martians = 1
#### 检测结果

修改建议
设置文件/etc/sysctl.conf或/etc/sysctl.d/*的参数:net.ipv4.conf.all.log_martians=1 和 net.ipv4.conf.default.log_martians=1,执行命令:sysctl -p重新加载配置文件使策略项生效
检查重复UID是否不存在 威胁等级:Medium 规则描述
虽然useradd命令不会允许创建重复的用户标识(UID),但管理员可以手动编辑 /etc/passwd 文件并更改UID字段。
审计描述
重复UID不存在
检测用例信息
 
修改建议 
建立唯一的UID并确保与/etc/passwd文件中用户UID不重复。
检查重复用户名是否不存在 威胁等级:Medium 规则描述
虽然useradd命令不会允许创建重复的用户名,但管理员可以手动编辑 /etc/passwd 文件并更改用户名。
审计描述
重复用户名不存在
检测用例信息
 
修改建议 
为用户设置唯一的用户名。
检查重复用户组名称是否不存在 威胁等级:Medium 规则描述
虽然groupadd命令不会允许创建重复的用户组名,但管理员可以手动编辑 /etc/group 文件并更改用户组名。
审计描述
重复用户组名称不存在
检测用例信息
 
修改建议 
为用户组设置唯一的组名称。
检查重复GID是否不存在 威胁等级:Medium 规则描述
虽然groupadd命令不会允许创建重复的用户组标识(GID),但管理员可以手动编辑 /etc/group 文件并更改GID字段。
审计描述
重复GID不存在
检测用例信息
 
修改建议 
建立唯一的GID并确保与/etc/group文件已有GID不重复
检查是否对系统账号进行登录限制 威胁等级:Low 规则描述
应限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令
审计描述
检查是否对系统账号进行登录限制,执行:cat /etc/passwd | egrep "^(adm|daemon|bin|sys|lp|uucp|nuucp|smmsp):" | awk -F: '{print $1":"$7}' | egrep -v "/sbin/nologin|/bin/false",输出为空。
检测用例信息
 
修改建议 
需要锁定账户有adm、daemon、bin、sys、lp、uucp、nuucp、smmsp。编辑/etc/passwd文件,重命名系统默认帐户,修改这些帐户的默认口令为/sbin/nologin或/bin/false。
限制FTP用户登录后能访问的目录 威胁等级:Low 规则描述
限制FTP用户登录后能访问的目录
审计描述
检查ftp服务状态,若服务开启,在相应的配置文件中查看配置信息:
    1、vsftp服务器,配置文件中存在如下内容:
        chroot_list_enable=YES
        chroot_local_user=NO
        chroot_list_file=/etc/vsftpd/chroot_list
    2、pure-ftp服务器,配置文件中存在ChrootEveryone的值为yes
    3、proftp服务器,配置文件中存在DefaultRoot ~.
    4、wu-ftp服务器,配置文件中存在restricted-uid *
检测用例信息
#### 检测描述
检查文件中chroot_list_enable是否等于YES:cat /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf 2>/dev/null |grep -v "^s*#"  | grep -i "^s*chroot_list_enables*="
#### 期望结果
chroot_list_enable=YES
#### 检测结果

#### 检测描述
检查文件中chroot_local_user是否等于NO:cat /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf 2>/dev/null |grep -v "^s*#"  | grep -i "^s*chroot_local_users*="
#### 期望结果
chroot_local_user=NO
#### 检测结果

#### 检测描述
检查文件中是否存在chroot_list_file的配置:cat /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf 2>/dev/null |grep -v "^s*#"  | grep -i "^s*chroot_list_files*" | grep "^s*chroot_list_files*="
#### 期望结果
存在chroot_list_file的配置
#### 检测结果

#### 检测描述
检查文件中ChrootEveryone的值是否为YES:cat /etc/pure-ftpd.conf /etc/pure-ftpd/pure-ftpd.conf 2>/dev/null |grep -v "^s*#" | grep -i "ChrootEveryone"
#### 期望结果
ChrootEveryone YES
#### 检测结果

#### 检测描述
检查文件中是否存在restricted-uid:cat /etc/ftpaccess /etc/ftpd/ftpaccess 2>/dev/null |grep -v "^s*#"|egrep -i "restricted-uids+
#### 期望结果
restricted-uid *
#### 检测结果

#### 检测描述
检查文件中是否存在DefaultRoot:cat /etc/proftpd.conf /etc/proftpd/proftpd.conf /usr/local/proftpd/etc/proftpd.conf 2>/dev/null |grep -v "^s*#" |grep -i "DefaultRoot"
#### 期望结果
DefaultRoot ~.
#### 检测结果

修改建议
若服务开启,在相应的配置文件中添加配置信息:
    1、vsftp服务器,配置文件中添加如下内容:
        chroot_list_enable=YES
        chroot_local_user=NO
        chroot_list_file=/etc/vsftpd/chroot_list
    2、或者在pure-ftp服务器,配置文件中添加ChrootEveryone的值为yes
    3、或者在proftp服务器,配置文件中添加DefaultRoot ~.
    4、或者在wu-ftp服务器,配置文件中存添加restricted-uid *
用户FTP访问安全配置 威胁等级:Medium 规则描述
用户FTP访问安全配置
审计描述
检查ftp服务状态,若服务开启,则查看以下配置:
    1、vsftp服务器,查看/etc/vsftpd.conf(/etc/vsftpd/vsftpd.conf)是否存在如下内容:
        ls_recurse_enable=YES
        local_umask=022      //设置用户上传文件的权限为 755
        anon_umask=022     //匿名用户上传文件的权限为755
    2、proftp服务器,查看proftpd.conf是否存在如下内容:
        Umask   022
    3、wu-ftp服务器,如果ftpaccess文件中存在类似如下内容:
        upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
        其文件上载权限必须为0644
    4、pure-ftp服务器,查看pure-ftpd.conf文件中是否存在如下配置:
        Umask   177:077
检测用例信息
#### 检测描述
检查文件中是否存在ls_recurse_enable的配置:cat /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf 2>/dev/null | grep -v "^[[:space:]]*#" | grep "^s*ls_recurse_enables*="
#### 期望结果
ls_recurse_enable=YES
#### 检测结果

#### 检测描述
检查文件中是否存在local_umask的配置:cat /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf 2>/dev/null | grep -v "^[[:space:]]*#" | grep -i "^s*local_umask"
#### 期望结果
local_umask=022
#### 检测结果

#### 检测描述
检查文件中是否存在anon_umask的配置:cat /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf 2>/dev/null | grep -v "^[[:space:]]*#" | grep -i "^s*anon_umask"
#### 期望结果
anon_umask=022
#### 检测结果

#### 检测描述
检查文件中是否存在umask的配置:cat /etc/pure-ftpd.conf /etc/pure-ftpd/pure-ftpd.conf 2>/dev/null | grep -v "^[[:space:]]*#" | grep -i "umask"
#### 期望结果
存在umask的配置
#### 检测结果

#### 检测描述
检查文件中是否存在upload的配置:cat /etc/ftpaccess /etc/ftpd/ftpaccess 2>/dev/null | grep -v "^[[:space:]]*#" | grep -i "upload"
#### 期望结果
ftpaccess文件中存在类似内容:upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
#### 检测结果

#### 检测描述
检查文件中是否存在umask的配置:cat /etc/proftpd.conf /etc/proftpd/proftpd.conf  2>/dev/null | grep -v "^[[:space:]]*#" |grep -i "umask"
#### 期望结果
umask 022
#### 检测结果

修改建议
若服务开启,则添加以下配置:
    1、vsftp服务器,/etc/vsftpd.conf(/etc/vsftpd/vsftpd.conf)添加如下内容:
        ls_recurse_enable=YES
        local_umask=022      //设置用户上传文件的权限为 755
        anon_umask=022     //匿名用户上传文件的权限为755
    2、或者在proftp服务器,proftpd.conf添加如下内容:
        Umask   022
    3、或者在wu-ftp服务器,ftpaccess文件中添加类似如下内容:
        upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
        其文件上载权限必须为0644
    4、或者在pure-ftp服务器,pure-ftpd.conf文件中添加如下配置:
        Umask   177:077
修改FTP的Banner信息 威胁等级:Low 规则描述
检查ftp服务状态,若服务开启,在相应的配置文件中检查是否设置了ftp banner信息
审计描述
检查ftp服务状态,若服务开启,在相应的配置文件中查看配置信息:
1、vsftp服务器,查看/etc/vsftpd.conf(/etc/vsftpd/vsftpd.conf)是否存在如下内容:
ftpd_banner=”Authorized users only. All activity may be monitored and reported.”
2、wu-ftp服务器,如果ftpaccess文件中存在类似如下内容:
banner          /etc/ftpd/banner.msg
且/etc/ftpd/banner.msg内容非空。
3、pure-ftp服务器,查看pure-ftpd.conf文件中是否存在如下内容:
FortunesFile              内容非空。
4、proftpd服务器,查看proftpd.conf文件中是否存在如下内容:
DisplayConnect         内容为非空。
检测用例信息
#### 检测描述
检查文件中是否存在ftpd_banner的配置:cat /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf 2>/dev/null |grep -v "^s*#" | grep "ftpd_banner"
#### 期望结果
存在ftpd_banner的配置
#### 检测结果

#### 检测描述
检查文件pure-ftpd.conf中是否存在FortunesFile的配置:path=$(grep -v '^s*#' /etc/pure-ftpd.conf /etc/pure-ftpd/pure-ftpd.conf 2>/dev/null | grep -i "FortunesFile" | awk '{print $2}');if [ -n $path ];then cat $path 2>/dev/null | grep -v '^s*#';fi
#### 期望结果
pure-ftpd.conf文件中FortunesFile配置且配置的文件内容不为空
#### 检测结果

#### 检测描述
检查文件中ftpaccess是否存在banner的配置:path=$(grep -v "^s*#" /etc/ftpaccess /etc/ftpd/ftpaccess 2>/dev/null | grep -i "^s*banner" | awk '{print $2}');if [ -n $path ];then cat $path 2>/dev/null | grep -v '^s*#';fi
#### 期望结果
ftpaccess文件中banner配置且配置的文件内容不为空
#### 检测结果

#### 检测描述
检查文件proftpd.conf中是否存在DisplayConnect的配置:path=$(grep -v "^s*#" /etc/proftpd.conf /etc/proftpd/proftpd.conf 2>/dev/null | grep -i "DisplayConnect" | awk '{print $2}');if [ -n $path ];then cat $path 2>/dev/null | grep -v '^s*#';fi
#### 期望结果
proftpd.conf文件中DisplayConnect配置且配置的文件内容不为空
#### 检测结果

修改建议
若服务开启,则添加以下配置:
1、vsftp服务器,/etc/vsftpd.conf(/etc/vsftpd/vsftpd.conf)添加如下内容:
ftpd_banner=”Authorized users only. All activity may be monitored and reported.”
2、或者在wu-ftp服务器,ftpaccess文件中添加类似如下内容:
banner          /etc/ftpd/banner.msg
且/etc/ftpd/banner.msg内容非空。
3、或者在pure-ftp服务器,pure-ftpd.conf文件中添加如下配置:
FortunesFile              内容非空。
4、或者在proftp服务器,proftpd.conf添加如下内容:
DisplayConnect         内容为非空。
配置NTP 威胁等级:Low 规则描述
查看ntp服务状态,查看为目标主机配置ntp服务器的个数
审计描述
采用rpm -q ntp检查ntp服务是否有安装,没有安装则pass,若安装则检查以下ntp配置:
1、检查NTP服务是否开启:
ps -ef|egrep "ntp|ntpd"|grep -v grep 
2、检查/etc/ntp.conf文件设置NTP时间同步服务器: 
grep -v "^s*#" /etc/ntp.conf 2>/dev/null |egrep -i "servers*"
检测用例信息
#### 检测描述
检查NTP服务状态: ps -ef|egrep "ntp|ntpd"|grep -v grep
#### 期望结果
NTP服务已开启
#### 检测结果

#### 检测描述
检查是否设置了NTP时间同步服务器: cat /etc/ntp.conf |grep -v "^s*#"|egrep -i "servers*(2(5[0-5]|[0-4][0-9])|[0-1]?[0-9]{1,2})(.(2(5[0-5]|[0-4][0-9])|[0-1]?[0-9]{1,2})){3}" 2>/dev/null
#### 期望结果
存在NTP时间同步服务器
#### 检测结果

修改建议
1.如果NTP服务没有安装,则该项通过, 
2.如果NTP服务安装,则启动服务,并要求设置NTP时间同步服务器
配置NFS服务限制 威胁等级:Low 规则描述
检查是否存在与nfs相关的守护进程检查NFS服务开启的情况下,是否限制访问nfs的ip地址
审计描述
查看系统是否存在如下NFS守护进程: rpc.lockd,rpc.nfsd,rpc.statd,rpc.mountd,执行:
# ps -ef | egrep "nfs|rpc.mountd|rpc.nfsd|rpc.lockd|rpc.statd"|egrep -v "egrep|grep"|grep -v kblockd 
检查NFS服务开启的情况下,检查限制访问nfs的ip地址,执行: egrep -i "nfs:all|all:all" /etc/hosts.deny | grep -v "^s*#" 
检查允许访问nfs的ip地址,执行: egrep -i "nfs" /etc/hosts.allow | grep -v "^s*#"
检测用例信息
#### 检测描述
检查允许访问nfs的ip地址: egrep -i "nfs" /etc/hosts.allow | grep -v "^s*#"
#### 期望结果
nfs:允许访问的IP
#### 检测结果

#### 检测描述
检查限制访问nfs的ip地址: egrep -i "nfs:all|all:all" /etc/hosts.deny | grep -v "^s*#"
#### 期望结果
nfs:all或者all:all
#### 检测结果

修改建议
编辑文件/etc/hosts.allow增加一行: nfs:允许访问的IP,编辑文件/etc/hosts.deny增加一行: nfs:all或者all:all
禁止存在心血漏洞 威胁等级:High 规则描述
检查openssl版本,判断设备是否存在心血漏洞
审计描述
查看openssl版本,判断版本是否不在下列列表中
(1.0.0、1.0.1f、1.0.1e、1.0.1d、1.0.1c、1.0.1b、1.0.1a、1.0.1、1.0.2-beta、1.0.2-beta1)
检测用例信息
 
修改建议 
确认openssl版本不在下列列表中
(1.0.0、1.0.1f、1.0.1e、1.0.1d、1.0.1c、1.0.1b、1.0.1a、1.0.1、1.0.2-beta、1.0.2-beta1),如果在列表中需要对openssl进行更新
检查MCS Translation是否未安装 威胁等级:Medium 规则描述
mcstransd守护程序向请求信息的客户端进程提供类别标签信息。标签翻译在/etc/selinux/targeted/setrans.conf中定义。
审计描述
检查MCS Translation是否未安装,执行:rpm -q mcstrans 2>/dev/null
检测用例信息
 
修改建议 
执行以下以下命令移除MCS Translation:
# yum remove mcstrans
关闭不必要启动项 威胁等级:Low 规则描述
以S开头的启动不必要服务的脚本文件个数为0
审计描述
检查/etc/rc2.d、/etc/rc3.d、/etc/rc4.d、/etc/rc5.d目录下的所有"S"打头的脚本文件,确认以下不必要服务脚本文件名是否以“S”打头:lp|rpc|snmpdx|keyserv|nscd|Volmgt|uucp|dmi|sendmail|autoinstall
检测用例信息
 
修改建议 
修改以下脚本文件名使其不以“S”打头,lp|rpc|snmpdx|keyserv|nscd|Volmgt|uucp|dmi|sendmail|autoinstall
检查/etc/passwd中没有遗留的“+”条目 威胁等级:Medium 规则描述
各种文件中的+字符用于系统标记在系统配置文件中的某一点插入来自NIS映射的数据。大多数系统不再需要这些条目,但可能存在于从其他平台导入的文件中
审计描述
检查/etc/passwd文件中是否存在”+“条目,执行命令:grep "^+:" /etc/passwd
检测用例信息
 
修改建议 
删除/etc/passwd文件中遗留的“+”条目
检查/etc/shadow中没有遗留的"+"条目 威胁等级:Medium 规则描述
各种文件中的+字符用于系统标记在系统配置文件中的某一点插入来自NIS映射的数据。大多数系统不再需要这些条目,但可能存在于从其他平台导入的文件中
审计描述
查找/etc/shadow文件中是否存在“+”的条目,执行命令:grep "^+:" /etc/shadow
检测用例信息
 
修改建议 
删除/etc/shadow文件中遗留的“+”条目
检查/etc/group中没有遗留的“+”条目 威胁等级:Medium 规则描述
各种文件中的+字符用于系统标记在系统配置文件中的某一点插入来自NIS映射的数据。大多数系统不再需要这些条目,但可能存在于从其他平台导入的文件中
审计描述
查找/etc/group文件中是否存在“+”条目,执行命令:grep "^+:" /etc/group
检测用例信息
 
修改建议 
删除/etc/group文件中遗留的“+”条目
禁止存在bash安全漏洞 威胁等级:Medium 规则描述
禁止存在bash安全漏洞
审计描述
执行如下命令查看设备是否存在bash安全漏洞。执行命令:
env -i  X="() { (a)=>" bash -c "/dev echo vulnerable"  2>/dev/null
检测用例信息
 
修改建议 
升级系统的bash补丁
补丁安装 威胁等级:Low 规则描述
获取系统版本后由用户判断是否进行补丁安装
审计描述
检查系统版本然后由用户判断是否需要进行补丁安装。具体操作参照以下执行命令:cat /etc/centos-release, uname -a
检测用例信息
#### 检测描述
是否需要补丁安装:cat /etc/centos-release
#### 期望结果
由用户判断是否需要进行补丁安装
#### 检测结果
CentOS Linux release 7.9.2009 (Core)
#### 检测描述
是否需要补丁安装:uname -a
#### 期望结果
由用户判断是否需要进行补丁安装
#### 检测结果
Linux ecs-215417-0002 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
修改建议
对系统中/etc/yum/yum.repos.d下yum源进行配置后,采用命令yum update -y进行手动更新系统。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号