1、Linux安全配置基线Linux 系统安全配置基线版本版本控制信息更新日期更新人审批人V1.0创建2009年1月V2.0更新2012年4月备注:1. 若此文档需要日后更新,请创建人填写版本控制表格,否则删除版本控制表格。2. 第1章 概述第2章 2.1 目的2.2 本文档旨在指导系统管理人员或安全检查人员进行LINUX 操作系统的安全合规性检查和配置。2.3 适用范围2.4 本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。2.5 适用版本2.6 LINUX系列服务器。2.7 实施2.8 2.9 例外条款2.10 第3章 帐号管理、认证授权第4章 4.1 帐号4.2 4.2
2、.1 用户口令设置安全基线项目名称操作系统Linux用户口令设置安全基线要求项安全基线编号SBL-Linux-02-01-01 安全基线项说明 对于采用静态口令认证技术的设备,帐户口令的生存期不长于90天。检测操作步骤1、询问管理员是否存在如下类似的简单用户密码配置,比如:root/root, test/test, root/root12342、执行:more /etc/login.defs,检查PASS_MAX_DAYS/ PASS_MIN_DAYS/PASS_WARN_AGE参数3、执行:awk -F: ($2 = ) print $1 /etc/shadow, 检查是否存在空口令帐号基线
3、符合性判定依据建议在/etc/login.defs文件中配置:PASS_MAX_DAYS 90 #新建用户的密码最长使用天数PASS_MIN_DAYS 0 #新建用户的密码最短使用天数PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数不存在空口令帐号备注4.2.2 用户口令强度要求安全基线项目名称操作系统Linux用户口令强度安全基线要求项安全基线编号SBL-Linux-02-01-02 安全基线项说明 对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。检测操作步骤/etc/pam.d/system-auth文件中是否对pa
4、m_cracklib.so的参数进行了正确设置。基线符合性判定依据建议在/etc/pam.d/system-auth 文件中配置:password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=1 至少8位,包含一位大写字母,一位小写字母和一位数字备注4.2.3 用户锁定策略安全基线项目名称操作系统Linux用户口令锁定策略安全基线要求项安全基线编号SBL-Linux-02-01-03 安全基线项说明 对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过10次,锁定该用户使用的帐号。
5、检测操作步骤/etc/pam.d/system-auth文件中是否对pam_tally.so的参数进行了正确设置。基线符合性判定依据设置连续输错10次密码,帐号锁定5分钟,使用命令“vi /etc/pam.d/ system-auth”修改配置文件,添加auth required pam_tally.so onerr=fail deny=10 unlock_time=300注:解锁用户 faillog -u -r备注4.2.4 root用户远程登录限制安全基线项目名称操作系统Linux远程登录安全基线要求项安全基线编号SBL-Linux-02-01-04 安全基线项说明 帐号与口令-root用
6、户远程登录限制检测操作步骤执行:more /etc/securetty,检查Console参数基线符合性判定依据建议在/etc/securetty文件中配置:CONSOLE = /dev/tty01备注4.2.5 检查是否存在除root之外UID为0的用户安全基线项目名称操作系统Linux超级用户策略安全基线要求项安全基线编号SBL-Linux-02-01-05 安全基线项说明 帐号与口令-检查是否存在除root之外UID为0的用户检测操作步骤执行:awk -F: ($3 = 0) print $1 /etc/passwd基线符合性判定依据返回值包括“root”以外的条目,则低于安全要求;备注
7、补充操作说明UID为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为04.2.6 root用户环境变量的安全性安全基线项目名称操作系统Linux超级用户环境变量安全基线要求项安全基线编号SBL-Linux-02-01-06 安全基线项说明 帐号与口令-root用户环境变量的安全性检测操作步骤执行:echo $PATH | egrep (|:)(.|:|$),检查是否包含父目录,执行:find echo $PATH | tr : -type d ( -perm -002 -o -perm -020 ) -ls,检查是否包含组目录权限为777的目录基线符合性判定依据返回值包含以上条
8、件,则低于安全要求;备注补充操作说明确保root用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777的目录4.3 认证4.4 4.4.1 远程连接的安全性配置安全基线项目名称操作系统Linux远程连接安全基线要求项安全基线编号SBL-Linux-02-02-01 安全基线项说明 帐号与口令-远程连接的安全性配置检测操作步骤执行:find / -name .netrc,检查系统中是否有.netrc文件,执行:find / -name .rhosts ,检查系统中是否有.rhosts文件基线符合性判定依据返回值包含以上条件,则低于安全要求;备注补充操作说明如无必要,删除这两个文件
9、4.4.2 用户的umask安全配置安全基线项目名称操作系统Linux用户umask安全基线要求项安全基线编号SBL-Linux-02-02-02 安全基线项说明 帐号与口令-用户的umask安全配置检测操作步骤执行:more /etc/profile more /etc/csh.login more /etc/csh.cshrc more /etc/bashrc检查是否包含umask值且umask=027基线符合性判定依据umask值是默认的,则低于安全要求备注补充操作说明建议设置用户的默认umask=0274.4.3 重要目录和文件的权限设置安全基线项目名称操作系统Linux目录文件权限安
10、全基线要求项安全基线编号SBL-Linux-02-02-03 安全基线项说明 文件系统-重要目录和文件的权限设置检测操作步骤执行以下命令检查目录和文件的权限设置情况:ls l /etc/ls l /etc/rc.d/init.d/ls l /tmpls l /etc/inetd.confls l /etc/passwdls l /etc/shadowls l /etc/groupls l /etc/securityls l /etc/servicesls -l /etc/rc*.d基线符合性判定依据若权限过低,则低于安全要求;备注补充操作说明对于重要目录,建议执行如下类似操作:# chmod
11、-R 750 /etc/rc.d/init.d/*这样只有root可以读、写和执行这个目录下的脚本。4.4.4 查找未授权的SUID/SGID文件*安全基线项目名称操作系统Linux SUID/SGID文件安全基线要求项安全基线编号SBL-Linux-02-02-04 安全基线项说明 文件系统-查找未授权的SUID/SGID文件检测操作步骤用下面的命令查找系统中所有的SUID和SGID程序,执行:for PART in grep -v # /etc/fstab | awk ($6 != 0) print $2 ; dofind $PART ( -perm -04000 -o -perm -02
12、000 ) -type f -xdev -printDone基线符合性判定依据若存在未授权的文件,则低于安全要求;备注需要手工检查。补充操作说明建议经常性的对比suid/sgid文件列表,以便能够及时发现可疑的后门程序4.4.5 检查任何人都有写权限的目录*安全基线项目名称操作系统Linux目录写权限安全基线要求项安全基线编号SBL-Linux-02-02-05 安全基线项说明 文件系统-检查任何人都有写权限的目录检测操作步骤在系统中定位任何人都有写权限的目录用下面的命令:for PART in awk ($3 = ext2 | $3 = ext3) print $2 /etc/fstab;
13、dofind $PART -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -printDone基线符合性判定依据若返回值非空,则低于安全要求;备注需要手工检查。4.4.6 查找任何人都有写权限的文件*安全基线项目名称操作系统Linux文件写权限安全基线要求项安全基线编号SBL-Linux-02-02-06 安全基线项说明 文件系统-查找任何人都有写权限的文件检测操作步骤在系统中定位任何人都有写权限的文件用下面的命令:for PART in grep -v # /etc/fstab | awk ($6 != 0) print $2 ; dofind
14、$PART -xdev -type f ( -perm -0002 -a ! -perm -1000 ) -printDone基线符合性判定依据若返回值非空,则低于安全要求;备注需要手工检查。4.4.7 检查没有属主的文件*安全基线项目名称操作系统Linux文件所有权安全基线要求项安全基线编号SBL-Linux-02-02-07 安全基线项说明 文件系统-检查没有属主的文件检测操作步骤定位系统中没有属主的文件用下面的命令:for PART in grep -v # /etc/fstab | awk ($6 != 0) print $2 ; dofind $PART -nouser -o -no
15、group -printdone注意:不用管“/dev”目录下的那些文件。基线符合性判定依据若返回值非空,则低于安全要求;备注需要手工检查。补充操作说明发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有主人的文件存在。如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。4.4.8 检查异常隐含文件*安全基线项目名称操作系统Linux隐含文件安全基线要求项安全基线编号SBL-Linux-02-02-08 安全基线项说明 文件系统-检查异常隐含文件检测操作步骤用
16、“find”程序可以查找到这些隐含文件。例如: # find / -name . * -print xdev # find / -name * -print -xdev | cat -v 同时也要注意象“.xx”和“.mail”这样的文件名的。(这些文件名看起来都很象正常的文件名)基线符合性判定依据若返回值非空,则低于安全要求;备注需要手工检查。补充操作说明在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在UNIX下,一个常用的技术就是用一些特殊的名,如:
17、“”、“. ”(点点空格)或“.G”(点点control-G),来隐含文件或目录。4.4.9 登录超时设置安全基线项目名称操作系统Linux登录超时设置安全基线编号SBL-Linux-02-02-09安全基线项说明 帐号与口令-检查登录超时设置检测操作步骤使用命令“cat /etc/profile |grep TMOUT”查看TMOUT是否被设置基线符合性判定依据返回值为空或值低于180,则低于安全要求备注使用命令“vi /etc/profile”修改配置文件,添加“TMOUT=”行开头的注释,建议设置为“TMOUT=180”,即超时时间为3分钟4.4.10 使用SSH远程登录安全基线项目名称
18、操作系统Linux SSH安全连接要求安全基线编号SBL-Linux-02-02-10安全基线项说明 对于使用IP协议进行远程维护的设备,设备应配置使用SSH等加密协议。检测操作步骤查看SSH服务状态:# service ssh status查看telnet服务状态:# service telnet status基线符合性判定依据SSH服务状态查看结果为:running telnet服务状态查看结果为:not running/unrecognized备注4.4.11 Root远程登录限制安全基线项目名称操作系统Linux超级用户登录设置安全基线编号SBL-Linux-02-02-11安全基线项
19、说明 对SSH服务进行安全检查检测操作步骤使用命令“cat /etc/ssh/sshd_config”查看配置文件(1)检查是否允许root直接登录检查“PermitRootLogin ”的值是否为no(2)检查SSH使用的协议版本检查“Protocol”的值基线符合性判定依据使用命令“vi /etc/ssh/sshd_config”编辑配置文件(1)不允许root直接登录设置“PermitRootLogin ”的值为no(2)修改SSH使用的协议版本设置“Protocol”的版本为2备注root用户需要使用普通用户远程登录后su进行系统管理4.4.12 关闭不必要的服务*安全基线项目名称操作
20、系统Linux关闭不必要的服务安全基线编号SBL-Linux-02-02-12安全基线项说明 帐号与口令-关闭不必要的服务检测操作步骤使用命令“who -r”查看当前init级别使用命令“chkconfig -list ”查看所有服务的状态基线符合性判定依据若有不必要的系统在当前级别下为on,则低于安全要求备注需要手工检查。使用命令“chkconfig -level on|off|reset”设置服务在个init级别下开机是否启动第5章 日志审计第6章 6.1 日志6.2 6.2.1 syslog登录事件记录*安全基线项目名称操作系统Linux登录审计安全基线要求项安全基线编号SBL-Linu
21、x-03-01-01 安全基线项说明 日志审计-syslog登录事件记录检测操作步骤执行命令:more /etc/syslog.conf查看参数authpriv值基线符合性判定依据若未对所有登录事件都记录,则低于安全要求;备注需要手工检查。6.3 审计6.4 6.4.1 Syslog.conf的配置审核*安全基线项目名称操作系统Linux配置审计安全基线要求项安全基线编号SBL-Linux-03-02-01 安全基线项说明 日志审计-Syslog.conf的配置审核检测操作步骤执行:more /etc/syslog.conf,查看是否设置了下列项:kern.warning;*.err;auth
22、priv.nonetloghost*.info;mail.none;authpriv.none;cron.nonetloghost*.emergtloghostlocal7.*tloghost基线符合性判定依据若未设置,则低于安全要求;备注需要手工检查。补充操作说明建议配置专门的日志服务器,加强日志信息的异地同步备份第7章 系统文件第8章 8.1 系统状态8.2 8.2.1 系统core dump状态安全基线项目名称操作系统Linux core dump 状态安全基线要求项安全基线编号SBL-Linux-04-01-01 安全基线项说明 系统文件-系统core dump状态检测操作步骤执行:more /etc/security/limits.conf 检查是否包含下列项:* soft core 0* hard core 0基线符合性判定依据若不存在,则低于安全要求备注补充操作说明core dump中可能包括系统信息,易被入侵者利用,建议关闭第9章 评审与修订第10章
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1