1、安全基线项目名称操作系统Linux用户口令安全基线要求项安全基线项说明 帐号与口令-用户口令设置, 配置用户口令强度检查达到12位,要求用户口令包括数字、小写字母、大写字母和特殊符号4类中至少2类。检测操作步骤1、询问管理员是否存在如下类似的简单用户密码配置,比如:root/root, test/test, root/root12342、执行:more /etc/login,检查PASS_MIN_LEN 12PASS_MAX_DAYS 90PASS_WARN_AGE 73、执行:awk -F: ($2 = ) print $1 /etc/shadow, 检查是否存在空口令账号4、编辑/etc/
2、pam.d/system-auth文件,将password requisite pam_cracklib.so try_first_pass retry=3改为password requisite pam_cracklib.so try_first_pass retry=3 dcredit=-1 ocredit=-1基线符合性判定依据不允许存在简单密码,密码设置至少包括一个数字和一个特殊字符,长度至少为12位检查grep pam_cracklib /etc/pam.d/system-auth修改已有用户的口令生存期和过期告警天数#chage -M 90 -W 7 htsc_temp备注4.1.
3、2检查是否存在除root之外UID为0的用户操作系统Linux超级用户策略安全基线要求项帐号与口令-检查是否存在除root之外UID为0的用户执行:($3 = 0) print $1 /etc/passwd返回值包括“root”以外的条目,则低于安全要求。补充操作说明UID为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为04.1.3检查多余账户操作系统Linux无用账户策略安全基线要求项帐号与口令-检查是否存在如下不必要账户:lp, sync, shutdown, halt, news, uucp, operator, games, gopher等,cat /etc/pass
4、wd如果不使用,用以下命令进行删除。#deluser test01如发现上述账户,则低于安全要求。如主机存在gnone,则需要保留games账号4.1.4分配账户操作系统Linux账户策略安全基线要求项给不同的用户分配不同的帐号,避免多个用户共享帐号。至少分配root,auditor,operator角色。1、参考配置操作#useradd auditor #新建帐号#passwd auditor #设置口令#chmod 700 auditor #修改用户主目录权限,确保只有该用户可以读写#vi /etc/passwd注释掉不用的账户auditor #停用不用的账户 1、判定条件用新建的用户登陆
5、系统成功,可以做常用的操作,用户不能访问其他用户的主目录。2、检测操作用不同用户登陆,检查用户主目录的权4.1.5账号锁定操作系统Linuxr认证失败锁定要求项设置帐号在3次连续尝试认证失败后锁定,锁定时间为1分钟,避免用户口令被暴力破解。建立/var/log/faillog文件并设置权限#touch /var/log/faillog#chmod 600 /var/log/faillog编辑/etc/pam.d/system-auth文件,在auth required pam_env.so后面添加auth required pam_tally.so onerr=fail deny=3 unlo
6、ck_time=60连续输入错误口令3次以上,再输正确口令,用户不能登陆。grep pam_tally /etc/pam.d/system-auth4.1.6检查账户权限帐号与口令-检查除ROOT外是否有其他账户拥有shell权限cat /etc/passwd观察是否有非root账户设置/bin/bash或/bin/sh权限无特殊应用情况下,如发现上述账户,则低于安全要求。4.2认证4.2.1远程连接的安全性配置操作系统Linux远程连接安全基线要求项帐号与口令-远程连接的安全性配置find / -name .netrc,检查系统中是否有.netrc文件;find / -name .rhost
7、s ,检查系统中是否有.rhosts文件返回值包含以上条件,则低于安全要求。如无必要,删除这两个文件4.2.2限制ssh连接的IP配置配置tcp_wrappers,限制允许远程登陆系统的IP范围。编辑/etc/hosts.deny添加sshd:ALL编辑/etc/hosts.allow168.8.44.0/255.255.255.0 #允许168.8.44.0网段远程登陆168.8.43.0/255.255.255.0 #允许168.8.43.0网段远程登陆只有网管网段可以ssh登陆系统。cat /etc/hosts.denycat /etc/hosts.allow对于不需要sshd服务的无需
8、配置该项。中心机房以外的服务器管理,暂时不做源地址限制。4.2.3用户的umask安全配置操作系统Linux用户umask安全基线要求项帐号与口令-用户的umask安全配置more /etc/profile more /etc/csh.login more /etc/csh.cshrc more /etc/bashrc检查是否包含umask值umask值是默认的,则低于安全要求。补充操作说明:vi /etc/profile建议设置用户的默认umask=0774.2.4查找未授权的SUID/SGID文件操作系统Linux SUID/SGID文件安全基线要求项文件系统-查找未授权的SUID/SGI
9、D文件用下面的命令查找系统中所有的SUID和SGID程序,执行:for PART in grep -v # /etc/fstab | awk ($6 != 0) print $2 ; dofind $PART ( -perm -04000 -o -perm -02000 ) -type f -xdev -printDone若存在未授权的文件,则低于安全要求。建议经常性的对比suid/sgid文件列表,以便能够及时发现可疑的后门程序4.2.5检查任何人都有写权限的目录操作系统Linux目录写权限安全基线要求项文件系统-检查任何人都有写权限的目录在系统中定位任何人都有写权限的目录用下面的命令:fo
10、r PART in awk ($3 = ext2 | $3 = ext3) print $2 /etc/fstab;find $PART -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -print若返回值非空,则低于安全要求。4.2.6查找任何人都有写权限的文件操作系统Linux文件写权限安全基线要求项文件系统-查找任何人都有写权限的文件在系统中定位任何人都有写权限的文件用下面的命令:find $PART -xdev -type f ( -perm -0002 -a !4.2.7检查没有属主的文件操作系统Linux文件所有权安全基线要求项文件系统
11、-检查没有属主的文件定位系统中没有属主的文件用下面的命令:find $PART -nouser -o -nogroup -printdone注意:不用管“/dev”目录下的那些文件发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有属主的文件存在。如果在系统中发现了没有属主的文件或目录,先查看它的完整性,如果一切正常,给它一个属主。有时候卸载程序可能会出现一些没有属主的文件或目录,在这种情况下可以把这些文件和目录删除掉。4.2.8检查异常隐含文件操作系统Linux隐含文件安全基线要求项文件系统-检查异常隐含文件用“find”程序可以查找到这些隐含文件。例如: # find / -n
12、ame . * -print xdev* -print -xdev | cat -v 同时也要注意象“.xx”和“.mail”这样的文件名的。(这些文件名看起来都很象正常的文件名)在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在UNIX/LINUX下,一个常用的技术就是用一些特殊的名,如:“”、“. ”(点点空格)或“.G”(点点control-G),来隐含文件或目录。第5章日志审计5.1日志5.1.1syslog登录事件记录操作系统Linux登录审计安
13、全基线要求项日志审计-syslog登录事件记录执行命令:more /etc/syslog.conf查看参数authpriv值Authpriv.* /var/log/secure若未对所有登录事件都记录,则低于安全要求。5.2审计5.2.1Syslog.conf的配置审核操作系统Linux配置审计安全基线要求项开启系统的审计功能,记录用户对系统的操作,包括但不限于账号创建、删除,权限修改和口令修改。#chkconfig auditd on系统能够审计用户操作。chkconfig -list auditd用aureport、ausearch查看审计日志。5.2.2日志增强操作系统Linux日志增强
14、要求项使messages只可追加,使轮循的messages文件不可更改,从而防止非法访问目录或者删除日志的操作Chattr +a /var/log/messagesChattr +i /var/log/messages.*Chattr +i /etc/shadowChattr +i /etc/passwdChattr +i /etc/group使用lsattr判断属性5.2.3syslog系统事件审计日志审计-syslog系统安全事件记录,方便管理员分析查看参数:*.err;kern.debug;daemon.notice; /var/adm/messages第6章其他配置操作6.1系统状态6
15、.1.1系统超时注销操作系统超时注销要求项设置帐号超时自动注销。编辑/etc/profile文件,添加TMOUT=300用户登陆后如果300秒内没有做任何操作,则自动注销登陆。用户登陆后,在指定的时间内没进行操作,可以自动注销。登陆系统,在设定时间内不做任何操作动作,检查是否注销。6.2Linux服务6.2.1禁用不必要服务操作系统系统服务管理安全基线要求项根据实际情况,关闭不必要的系统服务,如:finger,kudzu,isdn,nfs,apm, sound,pcmcia,vsftpd, rhnsd,Bluetooth,sendmail,lpd,netfs,telnet,RPC,imap等服务。1.grep -v # /etc/inetd.conf检查不必要开启的服务。2.#chkconfig -list #显示服务列表#chkconfig servicename off #关闭服务自启动#service stop servicename #关闭指定服务在无特殊应用情况下,若有上述提到的服务开启,则不符合要求。第7章持续改进本文件由XXX定期进行审查,根据审查结果修订标准,并重新颁发执行。