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