1、Linux系统安全配置基线Linux系统安全配置基线Linux系统安全配置基线 概述1.1目的本文规定了Linux 操作系统主机应当遵循的操作系统安全性设置标准,本文档旨在指导系统管理人员或安全检查人员进行Linux 操作系统的安全合规性检查和配置。1.2适用范围本配置标准的使用者包括:服务器系统管理员、安全管理员和相关使用人员。本配置标准适用的范围包括:Linux 服务器。1.3适用版本适用于Redhat AS 5。第2章安装前准备工作2.1需准备的光盘从RedHat官网下载高级企业服务器版操作系统,并制作成光盘。第3章操作系统的基本安装3.1基本安装(1)应在隔离网络进行安装。选择cust
2、om方式,根据最小化原则,仅安装需要的软件包。(2)根据服务器的实际用途来确实是否需要给/VAR,/HOME划分单独的分区。(3)安装完成后尽快通过合适可行的方式安装重要的补丁程序。 第4章账号管理、认证授权4.1账号4.1.1用户口令设置安全基线项目名称操作系统Linux用户口令安全基线要求项安全基线项说明 帐号与口令-用户口令设置, 配置用户口令强度检查达到12位,要求用户口令包括数字、小写字母、大写字母和特殊符号4类中至少2类。检测操作步骤1、询问管理员是否存在如下类似的简单用户密码配置,比如:root/root, test/test, root/root12342、执行:more /e
3、tc/login,检查PASS_MIN_LEN 12PASS_MAX_DAYS 90PASS_WARN_AGE 73、执行:awk -F: ($2 = ) print $1 /etc/shadow, 检查是否存在空口令账号4、编辑/etc/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基线符合性判定依据不允许存在简单密码,密码
4、设置至少包括一个数字和一个特殊字符,长度至少为12位检查grep pam_cracklib /etc/pam.d/system-auth修改已有用户的口令生存期和过期告警天数#chage -M 90 -W 7 htsc_temp备注4.1.2检查是否存在除root之外UID为0的用户安全基线项目名称操作系统Linux超级用户策略安全基线要求项安全基线项说明 帐号与口令-检查是否存在除root之外UID为0的用户检测操作步骤执行:awk -F: ($3 = 0) print $1 /etc/passwd基线符合性判定依据返回值包括“root”以外的条目,则低于安全要求。备注补充操作说明UID为0
5、的任何用户都拥有系统的最高特权,保证只有root用户的UID为04.1.3检查多余账户安全基线项目名称操作系统Linux无用账户策略安全基线要求项安全基线项说明 帐号与口令-检查是否存在如下不必要账户:lp, sync, shutdown, halt, news, uucp, operator, games, gopher等,检测操作步骤执行:cat /etc/passwd如果不使用,用以下命令进行删除。#deluser test01基线符合性判定依据如发现上述账户,则低于安全要求。如主机存在gnone,则需要保留games账号备注4.1.4分配账户安全基线项目名称操作系统Linux账户策略安
6、全基线要求项安全基线项说明 给不同的用户分配不同的帐号,避免多个用户共享帐号。至少分配root,auditor,operator角色。检测操作步骤1、参考配置操作#useradd auditor #新建帐号#passwd auditor #设置口令#chmod 700 auditor #修改用户主目录权限,确保只有该用户可以读写#vi /etc/passwd注释掉不用的账户auditor #停用不用的账户 基线符合性判定依据1、判定条件用新建的用户登陆系统成功,可以做常用的操作,用户不能访问其他用户的主目录。2、检测操作用不同用户登陆,检查用户主目录的权备注4.1.5账号锁定安全基线项目名称操
7、作系统Linuxr认证失败锁定要求项安全基线项说明 设置帐号在3次连续尝试认证失败后锁定,锁定时间为1分钟,避免用户口令被暴力破解。检测操作步骤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 unlock_time=60基线符合性判定依据1、判定条件连续输入错误口令3次以上,再输
8、正确口令,用户不能登陆。2、检测操作grep pam_tally /etc/pam.d/system-auth备注4.1.6检查账户权限安全基线项目名称操作系统Linux无用账户策略安全基线要求项安全基线项说明 帐号与口令-检查除ROOT外是否有其他账户拥有shell权限检测操作步骤执行:cat /etc/passwd观察是否有非root账户设置/bin/bash或/bin/sh权限基线符合性判定依据无特殊应用情况下,如发现上述账户,则低于安全要求。备注4.2认证4.2.1远程连接的安全性配置安全基线项目名称操作系统Linux远程连接安全基线要求项安全基线项说明 帐号与口令-远程连接的安全性配
9、置检测操作步骤执行:find / -name .netrc,检查系统中是否有.netrc文件;执行:find / -name .rhosts ,检查系统中是否有.rhosts文件基线符合性判定依据返回值包含以上条件,则低于安全要求。备注补充操作说明如无必要,删除这两个文件4.2.2限制ssh连接的IP配置安全基线项目名称操作系统Linux远程连接安全基线要求项安全基线项说明 配置tcp_wrappers,限制允许远程登陆系统的IP范围。检测操作步骤1、参考配置操作编辑/etc/hosts.deny添加sshd:ALL编辑/etc/hosts.allow添加sshd:168.8.44.0/255
10、.255.255.0 #允许168.8.44.0网段远程登陆sshd:168.8.43.0/255.255.255.0 #允许168.8.43.0网段远程登陆基线符合性判定依据1、判定条件只有网管网段可以ssh登陆系统。2、检测操作cat /etc/hosts.denycat /etc/hosts.allow备注对于不需要sshd服务的无需配置该项。中心机房以外的服务器管理,暂时不做源地址限制。4.2.3用户的umask安全配置安全基线项目名称操作系统Linux用户umask安全基线要求项安全基线项说明 帐号与口令-用户的umask安全配置检测操作步骤执行:more /etc/profile
11、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/SGID文件检测操作步骤用下面的命令查找系统中所有的SUID和SGID程序,执行:for PART in grep -v # /etc/fstab | awk
12、($6 != 0) print $2 ; dofind $PART ( -perm -04000 -o -perm -02000 ) -type f -xdev -printDone基线符合性判定依据若存在未授权的文件,则低于安全要求。备注补充操作说明建议经常性的对比suid/sgid文件列表,以便能够及时发现可疑的后门程序4.2.5检查任何人都有写权限的目录安全基线项目名称操作系统Linux目录写权限安全基线要求项安全基线项说明 文件系统-检查任何人都有写权限的目录检测操作步骤在系统中定位任何人都有写权限的目录用下面的命令:for PART in awk ($3 = ext2 | $3 =
13、ext3) print $2 /etc/fstab; dofind $PART -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -printDone基线符合性判定依据若返回值非空,则低于安全要求。备注4.2.6查找任何人都有写权限的文件安全基线项目名称操作系统Linux文件写权限安全基线要求项安全基线项说明 文件系统-查找任何人都有写权限的文件检测操作步骤在系统中定位任何人都有写权限的文件用下面的命令:for PART in grep -v # /etc/fstab | awk ($6 != 0) print $2 ; dofind $PART -
14、xdev -type f ( -perm -0002 -a ! -perm -1000 ) -printDone基线符合性判定依据若返回值非空,则低于安全要求。备注4.2.7检查没有属主的文件安全基线项目名称操作系统Linux文件所有权安全基线要求项安全基线项说明 文件系统-检查没有属主的文件检测操作步骤定位系统中没有属主的文件用下面的命令:for PART in grep -v # /etc/fstab | awk ($6 != 0) print $2 ; dofind $PART -nouser -o -nogroup -printdone注意:不用管“/dev”目录下的那些文件基线符合性
15、判定依据若返回值非空,则低于安全要求。备注补充操作说明发现没有属主的文件往往就意味着有黑客入侵你的系统了。不能允许没有属主的文件存在。如果在系统中发现了没有属主的文件或目录,先查看它的完整性,如果一切正常,给它一个属主。有时候卸载程序可能会出现一些没有属主的文件或目录,在这种情况下可以把这些文件和目录删除掉。4.2.8检查异常隐含文件安全基线项目名称操作系统Linux隐含文件安全基线要求项安全基线项说明 文件系统-检查异常隐含文件检测操作步骤用“find”程序可以查找到这些隐含文件。例如: # find / -name . * -print xdev # find / -name * -pri
16、nt -xdev | cat -v 同时也要注意象“.xx”和“.mail”这样的文件名的。(这些文件名看起来都很象正常的文件名)基线符合性判定依据若返回值非空,则低于安全要求。备注补充操作说明在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。在UNIX/LINUX下,一个常用的技术就是用一些特殊的名,如:“”、“. ”(点点空格)或“.G”(点点control-G),来隐含文件或目录。第5章日志审计5.1日志5.1.1syslog登录事件记录安全基线项目名
17、称操作系统Linux登录审计安全基线要求项安全基线项说明 日志审计-syslog登录事件记录检测操作步骤执行命令:more /etc/syslog.conf查看参数authpriv值Authpriv.* /var/log/secure基线符合性判定依据若未对所有登录事件都记录,则低于安全要求。备注5.2审计5.2.1Syslog.conf的配置审核安全基线项目名称操作系统Linux配置审计安全基线要求项安全基线项说明 开启系统的审计功能,记录用户对系统的操作,包括但不限于账号创建、删除,权限修改和口令修改。检测操作步骤1、参考配置操作#chkconfig auditd on基线符合性判定依据1
18、、判定条件系统能够审计用户操作。2、检测操作chkconfig -list auditd用aureport、ausearch查看审计日志。备注5.2.2日志增强安全基线项目名称操作系统Linux日志增强要求项安全基线项说明 使messages只可追加,使轮循的messages文件不可更改,从而防止非法访问目录或者删除日志的操作检测操作步骤执行命令:Chattr +a /var/log/messagesChattr +i /var/log/messages.*Chattr +i /etc/shadowChattr +i /etc/passwdChattr +i /etc/group基线符合性判定
19、依据使用lsattr判断属性备注5.2.3syslog系统事件审计安全基线项目名称操作系统Linux登录审计安全基线要求项安全基线项说明 日志审计-syslog系统安全事件记录,方便管理员分析检测操作步骤执行命令:more /etc/syslog.conf查看参数:*.err;kern.debug;daemon.notice; /var/adm/messages基线符合性判定依据若未对所有登录事件都记录,则低于安全要求。备注第6章其他配置操作6.1系统状态6.1.1系统超时注销安全基线项目名称操作系统超时注销要求项安全基线项说明 设置帐号超时自动注销。检测操作步骤1、参考配置操作编辑/etc/
20、profile文件,添加TMOUT=300用户登陆后如果300秒内没有做任何操作,则自动注销登陆。基线符合性判定依据1、判定条件用户登陆后,在指定的时间内没进行操作,可以自动注销。2、检测操作登陆系统,在设定时间内不做任何操作动作,检查是否注销。备注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定期进行审查,根据审查结果修订标准,并重新颁发执行。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1