> For the complete documentation index, see [llms.txt](https://xu-an.gitbook.io/sec/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xu-an.gitbook.io/sec/os/linux/jixian.md).

# 基线检查

## 1、身份鉴别

### 1、口令复杂度

| 项目    | 详情                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | 对于采用静态口令认证技术的设备，口令长度至少 8 位，并至少包括数字、 小写字母、大写字母和特殊符号中的三种。增强口令复杂度是为了增加攻击 者破解密码的难度和时间成本。                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 检测步骤  | <p>1、执行：more /etc/pam.d/system-auth 检查文件中是否对 pam\_cracklib.so 的参数进行了正确设置； <br>2、执行：awk -F: '($2 == "") { print $1 }' /etc/shadow，检查是否存在空口令 帐号。 </p><p></p>                                                                                                                                                                                                                                                                                                                                                                        |
| 符合性依据 | <p>参考配置操作 # cat /etc/pam.d/system-auth，找到 password 模块接口的配置部分，找到类 似如下的配置行： <br>password requisite /lib/security/$ISA/pam\_cracklib.so minlen =8 参数说明如下： <br>1、retry=N，确定用户创建密码时允许重试的次数； <br>2、minlen=N，确定密码最小长度要求，事实上，在默认配置下，此参数代 表密码最小长度为 N-1； <br>3、dcredit=N，当 N 小于 0 时，代表新密码中数字字符数量不得少于（N）个。例如，dcredit=-2 代表密码中要至少包含两个数字字符； <br>4、ucredit=N，当 N 小于 0 时，代表则新密码中大写字符数量不得少于（N）个； <br>5、lcredit=N，当 N 小于 0 时，代表则新密码中小写字符数量不得少于（-N） 个； <br>6、ocredit=N，当 N 小于 0 时，代表则新密码中特殊字符数量不得少于（ N）个；2.不存在空口令帐号。 <br>shadow 文件第二个字段为空即存在空口令</p> |
| 影响性分析 | 加固操作对业务无影响，加固操作对业务无影响,但是操作失误会导致系统认 证错误，无法正常登陆。 建议在修改配置文件前，对原配置文件进行备份 cp xx xx20190503.bak                                                                                                                                                                                                                                                                                                                                                                                                                                         |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFiK0_j3LccKALny2r%2Fimage.png?alt=media\&token=cbadd3b9-4733-4657-86b6-28d0d521f6fc)

### 2、口令生存期

| 项目    | 详情                                                                                                                                                             |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | <p>对于采用静态口令认证技术的设备，帐户口令的生存期不长于 90 天。最短期 限为 6 天。 <br>由于所有密码理论上都是可以被破解的，只是时间长短问题，设置口令生存期 是为了让攻击者破解密码后密码已经更新</p>                                                  |
| 检测步骤  | 执行：more /etc/login.defs，检查 PASS\_MAX\_DAYS、 PASS\_MIN\_DAYS、 PASS\_WARN\_AGE 参数                                                                                |
| 符合性依据 | <p>参考配置操作 <br>用 vi 编辑/etc/login.defs 文件中配置： <br>PASS\_MAX\_DAYS 90#新建用户的口令最长使用天数 <br>PASS\_MIN\_DAYS 6#新建用户的口令最短使用天数 <br>PASS\_WARN\_AGE 7#新建用户的口令到期提前提醒天数</p> |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFitRtGbyMMv9NurRE%2Fimage.png?alt=media\&token=51ae1d69-f8f8-40cc-a23f-5b43d1669372)

### 3、默认账户

| 项目    | 详情                                                                                                                                                                                                                                                                                               |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 说明    | 攻击者一般都从系统默认帐户进行尝试破解。应锁定与设备运行、维护等工作无关的账户                                                                                                                                                                                                                                                          |
| 检测步骤  | <p>查看锁定用户： <br># cat /etc/passwd，查看哪些账户的 shell 域中为 nologin</p>                                                                                                                                                                                                                                   |
| 符合性依据 | <p>系统默认帐户应被禁止登录或者锁定如下账号： <br>lp, sync, shutdown, halt, news, uucp, operator, games, gopher 。 <br>参考配置操作： <br>锁定用户： <br>修改/etc/passwd 文件，将需要锁定的用户的 shell 域设为 nologin； <br>通过#passwd –l username 锁定账户； <br>只有具备超级用户权限的使用者方可使用#passwd –l username 锁定用户,用 #passwd –d username 解锁后原有密码失效，登录需输入新密码</p> |
| 回退操作  | <p>账户解锁： <br># usermod -U username 或# passwd -u username</p>                                                                                                                                                                                                                                     |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFjB8BSzntt3ziLi6Y%2Fimage.png?alt=media\&token=6c000d2f-73a0-4eca-8645-9a67cffe11a5)

### 4、共享账户

| 项目    | 详情                                                                                                                                                                                    |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | <p>系统需按照实际用户分配账户； <br>避免不同用户间共享账户。</p>                                                                                                                                                |
| 检测步骤  | 使用命令 cat /etc/passwd 查看当前所有用户的信息，与管理员确认是否有共 享账户情况存在                                                                                                                                   |
| 符合性依据 | <p>若存在账户共享的情况，则低于安全要求； <br>参考配置操作： <br>cat /etc/passwd 查看当前所有用户的情况； <br>如需建立用户，参考如下： <br>#useradd username #创建账户 <br>#passwd username #设置密码 <br>使用该命令为不同的用户分配不同的账户，设置不同的口令及权限信息等。</p> |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFjTV0RWWR6fYaUIaY%2Fimage.png?alt=media\&token=5290010d-0a71-46cf-9785-cc62da49106c)

### 5、FTP账户

| 项目    | 详情                                                                                            |                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ----- | --------------------------------------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | 如果系统开启 FTP 服务，检查系统是否禁止 ROOT 等系统帐户远程访问 FTP FTP 容易被攻击者攻击获得权限，FTP 与系统帐户不共享，防止攻击者进一步 获取系统帐户攻击操作系统 |                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 检测步骤  | <p>(一) 查看 FTP 进程: <br>1、ps -ef                                                                | grep ftp，检查是否有 ftp 进程; <br>2、chkconfig --list | grep ftp，检查 ftp 服务是否开机启动； <br>若以上两项未开启 FTP，则忽略以下 FTP 帐户配置。 <br>(二) 检查 FTP 帐户 <br>1、默认 FTP 就是禁止 root 用户登录的（如果没有禁用在/etc/vsftpd/ftpusers 和/etc/vsftpd/user\_list，把 root 去掉） <br>2、更改/etc/vsftpd/vsftpd.conf 文件，查看是否有：<br>userlist\_enable=YES 这条 配置，如果没有则加上；<br>再增加 userlist\_deny=NO（只允许 userlist 文件的用 户登录 FTP，其它默认用户不允许） <br>3、更改/etc/vsftpd/user\_list 文件 添加 ftp 允许登陆的帐户，并注释掉原所有帐户； <br>4、重新启动 vsftpd 服务 service vsftpd restart</p> |
| 符合性依据 | <p>如不使用 FTP，关闭 FTP； <br>如需使用，专门为 FTP 设置账号，与系统帐户不共享。</p>                                       |                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                     |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFkNro5EJ_QjW3Ow07%2Fimage.png?alt=media\&token=d8140b60-d9cb-4c77-8a7a-b21c1cd093b9)

### 6、超级用户控制

| 项目    | 详情                                                                                                                                                                           |
| ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | <p>帐号与口令-检查是否存在除 root 之外 UID 为 0 的用户(超级用户) <br>一般默认情况无其他超级帐户（运维主动添加除外），排除攻击者暗藏添加的超级用户长期潜伏的可能</p>                                                                             |
| 检测步骤  | 执行：awk -F: '($3 == 0) { print $1 }' /etc/passwd                                                                                                                              |
| 符合性依据 | 返回值包括“root”以外的条目，则低于安全要求；                                                                                                                                                    |
| 备注    | <p>补充操作说明： <br>UID 为 0 的任何用户都拥有系统的最高特权，保证只有 root 用户的 UID 为 0 修改方法：编辑 /etc/passwd 文件（文件内容结构为 Root : x : 0 : 0 : root : /root : /bin/bash）把此用户的的第三项改为非 0 的数值，第三项表示用户 UID 值</p> |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFkXqLf6ypcNrgz4yr%2Fimage.png?alt=media\&token=07e81d6b-1c26-49e3-81ce-16cb84ed375f)

### 7、用户锁定策略

| 项目    | 详情                                                                                                                                                                                                                                                                                                            |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | <p>对于采用静态口令认证技术的设备，应配置当用户连续认证失败次数超过 5 次，锁定该用户使用的帐号。 <br>用户认证失败锁定是为了防止暴力破解。</p>                                                                                                                                                                                                                                |
| 检测步骤  | <p>查看文件中是否对 pam\_tally2.so 的参数进行了正确设置。 <br>执行：more /etc/pam.d/system-auth</p>                                                                                                                                                                                                                                 |
| 符合性依据 | <p>连续输错 5 次口令，帐号锁定 5 分钟， <br>参考配置操作： <br>使用命令“vi /etc/pam.d/system-auth”修改配置文件 在进行此项安全加固工作前，请先检查 PAM 模块版本，搜索 pam\_tally2 是 否存在，如果 pam\_tally2 存在,请在 system-auth 文件中 <br>配 置 参 数 auth required pam\_tally2.so deny=5unlock\_time=300 even\_deny\_root root\_unlock\_time=300 <br>如果不存在，请在 auth 段最后一行添加上述行。</p> |

###

## 2、访问控制

### 1、SSH登录维护

| 项目    | 详情                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                           |                 |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------- | --------------- |
| 说明    | 系统应配置使用 SSH 等加密协议进行远程登录维护，并安全配置 SSHD 的设 置。不能使用 TELNET 这类可以被嗅探工具抓包获取敏感信息的明文传输协 议。                                                                                                                                                                                                                                                                                                                                                                                   |                                           |                 |
| 检测步骤  | <p>查看 SSH 服务状态：<br>ps –elf                                                                                                                                                                                                                                                                                                                                                                                                                                         | grep ssh</p><p>查看 telnet 服务状态：<br>ps –elf | grep telnet</p> |
| 符合性依据 | <p>没有使用 telnet 进行远程维护 <br>使用 SSH 进行远程维护 <br>参考配置操作： <br>SSH 配置要符合如下要求 <br>Protocol 2 #使用 ssh2 版本 <br>X11Forwarding yes #允许窗口图形传输使用 ssh 加密 <br>IgnoreRhosts yes#完全禁止 SSHD 使用.rhosts 文件 <br>RhostsAuthentication no #不设置使用基于 rhosts 的安全验证 RhostsRSAAuthentication no #不设置使用 RSA 算法的基于 rhosts 的安全验证 <br>HostbasedAuthentication no #不允许基于主机白名单方式认证 PermitRootLogin no #不允许 root 登录 <br>PermitEmptyPasswords no #不允许空密码 <br>Banner /etc/motd #设置 ssh 登录时显示的 banner</p> |                                           |                 |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFl87EX5VkWm-TZfUn%2Fimage.png?alt=media\&token=cd995a15-2de7-4958-aa41-bf5d24cf5e77)

### 2、SSH-ROOT远程登录限制

| 项目    | 详情                                                                                                                                                                |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | <p>1、限制具备超级管理员权限的用户远程登录。 <br>2、远程执行管理员权限操作，应先以普通权限用户远程登录后，再切换到超 级管理员权限账户后执行相应操作。</p>                                                                              |
| 检测步骤  | <p>使用命令“cat /etc/ssh/sshd\_config”查看配置文件 <br>（1）检查是否允许 root 直接登录 <br>          检查“PermitRootLogin”的值是否为 no <br>（2）检查 SSH 使用的协议版本 <br>          检查“Protocol”的值</p> |
| 影响性分析 | 以 root 进行远程登录的管理员或相关系统都将无法登录。                                                                                                                                     |
| 回退操作  | 修改/etc/ssh/sshd\_config 文件，将 PermitRootLogin no 改为 PermitRootLogin yes，重启 sshd 服务                                                                                 |
| 备注    | 远程执行管理员权限操作，应先以普通权限用户远程登录后，再切换到超级 管理员权限账户后执行相应操作                                                                                                                  |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFlZoBR939DhPpnk9c%2Fimage.png?alt=media\&token=9a6a5ae7-6445-41ec-9e03-98f10083cb5d)

### 3、登录超时设置

| 项目    | 详情                                                                                                                                                       |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | 对于具备字符交互界面的设备，配置定时帐户自动登出。当管理员未对系统操作 10 分钟后，则系统自动注销该账户                                                                                                    |
| 检测步骤  | 使用命令“cat /etc/profile \|grepTMOUT”查看 TMOUT 是否被设置                                                                                                         |
| 符合性依据 | <p>返回值为空或是时间较长，则低于安全要求。 <br>参考配置操作 <br>通过修改账户中“TMOUT”参数，可以实现此功能。<br>TMOUT 按秒计算。 <br>编辑 profile 文件（vi /etc/profile），在“HISTFILESIZE=”后面加入这行： TMOUT=600</p> |
| 备注    | 改变这项设置后，必须先注销用户，再用该用户登录才能激活这个功能                                                                                                                          |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFlq0rdYNxVThzvdW7%2Fimage.png?alt=media\&token=9997dbda-6c40-4e4f-a962-d66e34b4b3f0)

### 4、关键目录权限

| 项目    | 详情                                                                                                                                                                                                                                                                                                             |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | <p>根据安全需求对重要目录和文件的权限进行设置。 <br>重点要求 password 配置文件、shadow 文件、group 文件权限。 <br>当前主流版本的 linux 系统在默认情况下即对重要文件做了必要的权限设置， 在日常管理和操作过程中应避免修改此类文件权限，除此以外，应定期对权 限进行检查及复核，确保权限设置正确。</p>                                                                                                                                     |
| 检测步骤  | <p>执行以下命令检查目录和文件的权限设置情况，并按照如下的权限设置： ls –l /etc 755 <br>ls –l /etc/rc.d/init.d 755 <br>ls –l /tmp 1777<br>（只要求/tmp 文件夹为 1777，对/tmp 的子文件不要求修 改权限） <br>ls –l /etc/passwd644 <br>ls –l /etc/shadow400 <br>ls –l /etc/group 644 <br>ls –l /etc/security755 <br>ls –l /etc/services 644<br>ls -l /etc/rc\*.d 755</p> |
| 符合性依据 | 若权限均为 777 或者过低，则低于安全要求                                                                                                                                                                                                                                                                                         |
| 影响性分析 | 加固操作对业务的影响需在测试环境中进行测试                                                                                                                                                                                                                                                                                          |
| 回退操作  | 通过 chmod 命令对目录的权限进行实际调整                                                                                                                                                                                                                                                                                        |
| 备注    | <p>对于重要目录，建议执行如下类似操作：<br>chmod -R 750 /etc/rc.d/init.d/\*</p><p>这样只有 root 可以读、写和执行这个目录下的脚本。</p>                                                                                                                                                                                                                |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFmVng_VB8usjMYWLH%2Fimage.png?alt=media\&token=27883059-2569-437c-8b8e-0025696ecb79)

### 5、用户缺省权限

| 项目    | 详情                                                                                                                                                                                                                                                                                |
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | 控制用户缺省访问权限，当在创建新文件或目录时应除去新文件或目录不应 有的访问允许权限,防止同属于该组的其它用户及别的组的用户修改该用户 的文件或更高限制                                                                                                                                                                                                      |
| 检测步骤  | <p>执行命令，查看文件下 umask 值设置情况。 <br>more /etc/profile <br>more /etc/csh.cshrc <br>more /etc/bashrc</p>                                                                                                                                                                                 |
| 符合性依据 | <p>若 umask 值小于 027，则低于安全要求 <br>参考配置操作： <br>针对单独用户设置 <br>可修改用户 home 目录下的.bash\_profile 脚本文件，例如，可增加一条语句： umask 027；<br>对于权限要求较严格的场合，建议设置为 077。 <br>全局默认设置： <br>默认通过全局脚本/etc/bashrc 设置所有用户的默认 umask 值，修改脚本即可 <br>实现对用户默认 umask 值的全局性修改，建议将 umask 设置为 022，对于权 限要求较严格的场合，建议设置为 077</p> |
| 备注    | <p>umask 系统默认设置一般为 022，新创建的文件默认权限 755（777-022=755）；导致其他用户有执行权利。 <br>在 UNIX 类系统中 777 是最高权限，4 是读，2 是写，1 是执行，加起来等于 7，三个 7 分别代表系统用户，本组用户和其他用户的权限。</p>                                                                                                                                 |

## 3、安全审计

### 1、系统日志审计

| 项目    | 详情                                                                                                                                                                    |
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | 系统应配置完备日志记录，记录对与系统相关的安全事件，方便发生安全时 间后溯源。                                                                                                                               |
| 检测步骤  | <p>执行命令 <br>1、# cat /etc/syslog.conf 查看是否有对应配置 <br>2、# cat /var/log/secure 查看是否记录有需要的设备相关的安全事件 <br>如不存在/etc/syslog.conf，则查看/etc/rsyslog.conf <br>检查参数 authpriv 的值</p> |
| 符合性依据 | <p>若未对所有登录事件都记录，则低于安全要求； <br>参考配置操作 <br>authpriv. <em>/var/log/secure</em> <br><em>//其中</em>是通配符，代表任何设备；none 表示不对任何级别的信息进行记录</p>                                      |
| 影响性分析 | 加固操作增加系统资源开消，请检查系统资源是否充足。                                                                                                                                             |
| 回退操作  | <p>修改配置文件 vi /etc/syslog.conf。 <br>配置如下类似语句，注释掉下面： <br>#authpriv.\*/var/log/secure</p>                                                                                |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFnbY8r3QYndCxNyK4%2Fimage.png?alt=media\&token=59836ab4-f420-4834-acd8-7665aa318679)

### 2、日志远程存储

| 项目    | 详情                                                                                                                                                                                                                                                                                                                       |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 说明    | 当前系统应配置远程日志功能，将需要重点关注的日志内容传输到日志服务 器进行备份。方便发生安全事件后对事件进行溯源                                                                                                                                                                                                                                                                 |
| 检测步骤  | <p>执行：more /etc/syslog.conf， <br>如不存在/etc/syslog.conf，查看/etc/rsyslog.conf <br>查看是否设置了下列项：<br> *<em>.*</em> @10.110.102.23</p>                                                                                                                                                                                            |
| 符合性依据 | <p>若未设置远程日志服务器，则低于安全要求。 <br>参考配置操作 <br>修改配置文件 vi /etc/syslog.conf， <br>加上这一行： *<em>.*</em> @10.110.102.23 <br>可以将"*<em>.*</em>"替换为你实际需要的日志信息。比如：kern.\* <em>/ mail.*</em> 等等；可以将此处 10.110.102.23 替换为实际的 IP 或域名。 <br>重新启动 syslog 服务，执行下列命令： <br>services syslogd restart <br>补充操作说明 <br>注意：*<em>.\*</em>和@之间为一个 Tab 键</p> |
| 备注    | 建议配置专门的日志服务器，加强日志信息的异地同步备份。                                                                                                                                                                                                                                                                                              |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFnzCqkR556osXuYq9%2Fimage.png?alt=media\&token=b5ef8212-4cbc-40e9-ab92-9178a8fe42b5)

## 4、端口管理

### 1、关闭不必要服务

| 项目    | 详情                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | 根据每台机器的不同角色，关闭不需要的系统服务，根据服务器的角色和应用 情况对启动项进行修改。对外部关闭不必要的端口。如无特殊需要，应关闭 Sendmail、Telnet、Bind 等服务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 检测步骤  | <p>执行：netstat -nap，查看系统端口使用情况 <br>iptables -L -n，查看对端口访问限制</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 符合性依据 | <p>参考配置操作 <br>关闭业务不需要的端口，使用如下方式禁用不必要的服务。<br># service <服务名> stop<br># chkconfig --level 35 off</p><p>业务需要使用或不确定的端口服务应在 iptables 中进行访问控制。 <br>iptables -p INPUTACCEPT <br>iptables -p OUTPUT ACCEPT <br>iptables -p FORWARD ACCEPT <br>黑名单模式。 <br>iptables -A INPUT -p tcp --dport31337 -j DROP <br>iptables -A FORWARD -p udp --dport135 -j DROP <br>参考说明 <br>Linux/Unix 系统服务中，部分服务存在较高安全风险，应当禁用，包括： “lpd”，此服务为行式打印机后台程序，用于假脱机打印工作的 UNIX 后台程 序，此服务通常情况下不用，建议禁用； <br>“telnet”，此服务采用明文传输数据，登陆信息容易被窃取，建议用 ssh 代替； <br>“routed”，此服务为路由守候进程，使用动态 RIP 路由选择协议，建议禁用； <br>“sendmail”，此服务为邮件服务守护进程，非邮件服务器应将其关闭； <br>“Bluetooth”，此服务为蓝牙服务，如果不需要蓝牙服务时应关闭； <br>“identd”，此服务为 AUTH 服务，在提供用户信息方面与 finger 类似，一般情 况下该服务不是必须的，建议关闭； <br>“xfs”，此服务为 Linux 中 X Window 的字体服务，关于该服务历史上出现过信 息泄露和拒绝服务等漏洞，应以减少系统风险； <br>R 服务（“rlogin”、“rwho”、“rsh”、“rexec”），R 服务设计上存在严重的安全缺 陷，仅适用于封闭环境中信任主机之间便捷访问，其他场合下均必须禁用； <br>基于 inetd/xinetd 的服务（daytime、chargen、echo 等），此类服务建议禁用。</p><p>关闭高危端口： <br>TCP：31337 到 31340（特洛伊木马）、 31335、27444、27665、20034（NetBus） 、 9704、111、79、137-139（smb）、2049(NFS)、2745、3127、6129 、1434、593、 445 端口等 <br>UDP ：135、137、138、139、445、4444、1434、593 端口等 /etc/rc.d/init.d/iptables save<br>service iptables restart</p> |
| 影响性分析 | 关闭服务前，务必和管理员确定此服务关闭不会对使用中的应用程序造成影响。 此项工作需要在明确系统端口实际用途的情况下，限制不必要的端口访问，建 议先在测试环境中进行测试                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 回退操作  | <p>查看所有开启的服务： <br>#ps –eaf <br>在 inetd.conf 中 关 闭 不 用 的 服 务 首先复制/etc/inet/inetd.conf 。 <br>#cp /etc/inet/inetd.conf /etc/inet/inetd.conf.backup <br>然后用vi编辑器编辑inetd.conf 文件，把在相应行开头标记"#"字符删除， 重启 inetd 进程</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFoKHSge9LN7pxCBEN%2Fimage.png?alt=media\&token=8102f1a2-df3d-4457-8745-82a03e32e4f4)

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFoUHtr_RfwQjJDaZC%2Fimage.png?alt=media\&token=c641517c-a73d-42b7-ace5-1c0f51ec90a8)

## 5、其他安全配置

### 1、系统core dump状态

| 项目    | 详情                                                                                                                                  |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------- |
| 说明    | <p>系统文件-系统 core dump 状态 <br>core dump 记录许多系统敏感信息（程序运行时的内存，寄存器状态，堆栈 指针，内存管理信息、系统错误信息），只在系统调试阶段对开发人员有用， 正式运行环境建议删除，容易泄露敏感信息被攻击者利用</p> |
| 检测步骤  | <p></p><p>执行：more /etc/security/limits.conf 检查是否包含下列项：</p><p>/ \* soft core 0 </p><p>/ \* hard core 0</p>                           |
| 符合性依据 | 若不存在 *\*soft core 0；\** hard core 0，则低于安全要求                                                                                         |
| 回退操作  | <p>修改配置文件 <br>vi /etc/security/limits.conf <br>配置如下类似语句，注释掉下面：<br>\* soft core 0<br>\* hard core 0</p>                              |
| 备注    | 补充操作说明 core dump 中可能包括系统信息，易被入侵者利用，建议关闭。                                                                                            |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFpEZ4jyw1FTgJfYay%2Fimage.png?alt=media\&token=4fbe33d7-d812-4071-92a7-4211360d54d1)

### 2、补丁更新

| 项目      | 详情                                                                                                                                                                  |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 说明      | 应根据需要及时进行按照操作系统更新补丁，修复系统漏洞。对服务器系统 补丁更新，应先进行兼容性测试                                                                                                                    |
| 检测步骤    | <p>1、查看当前系统内核版本、补丁版本<br># uname  -a<br># cat /proc/version  //查看内核版本<br># lsb\_release  -a<br># cat /etc/Linux-release//查看补丁版本</p><p>2、 检查官网当前系统版本是否发布安全更新。</p>     |
| 符合性判定依据 | 版本应保持为最新                                                                                                                                                            |
| 影响性分析   | 加固操作对业务的影响需要在测试环境中进行测试，测试稳定后才在系统上 做补丁安装。                                                                                                                            |
| 回退操作    | 卸载相关补丁                                                                                                                                                              |
| 备注      | cat /etc/Linux-release//查看补丁版本的命令要根据系统的不通进行变化如： cat /etc/redhat-release、cat /etc/centos-release。LINUX 相关系统补丁一般 均会涉及到系统内核调整，一般是通过内核版本判断，是否需要最新的内核版本，对于这种情况，一般不建议内核升级 |

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFpjenxrbQ5Fl4pwgc%2Fimage.png?alt=media\&token=c9223d95-8268-475b-b196-f86a2a161e0a)

![](https://172932098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MC0hWgbNjaxH4i6ny5D%2F-MDFe_Q2k9X5BXjDQwXY%2F-MDFq6O0PRhQJQsCIRt_%2Fimage.png?alt=media\&token=98e1dc34-5e13-4dd8-878f-794586cb729a)
