操作系统加固概述

介绍对openEuler系统进行加固的目的和加固方案。

须知

由于安全加固对系统至关重要,因此只有root用户允许修改并应用安全加固策略。

加固目的

操作系统作为信息系统的核心,承担着管理硬件资源和软件资源的重任,是整个信息系统安全的基础。操作系统之上的各种应用,要想获得信息的完整性、机密性、可用性和可控性,必须依赖于操作系统。脱离了对操作系统的安全保护,仅依靠其他层面的防护手段来阻止黑客和病毒等对网络信息系统的攻击,是无法满足安全需求的。

因此,需要对操作系统进行安全加固,构建动态、完整的安全体系,增强产品的安全性,提升产品的竞争力。

加固方案

本章描述openEuler的安全加固方案,包括加固方式和加固内容。

加固方式

用户可以通过手动修改加固配置或执行相关命令对系统进行加固,也可以通过加固工具批量修改加固项。openEuler的安全加固工具security tool以openEuler-security.service服务的形式运行。系统首次启动时会自动运行该服务去执行默认加固策略,且自动设置后续开机不启动该服务。

用户可以通过修改security.conf,使用安全加固工具实现个性化安全加固的效果。

加固内容

openEuler系统加固内容主要分为以下5个部分:

  • 系统服务
  • 文件权限
  • 内核参数
  • 授权认证
  • 账号口令

加固影响

对文件权限、账户口令等安全加固,可能造成用户使用习惯变更,从而影响系统的易用性。影响系统易用性的常见加固项请参见表1

表 1 加固影响说明

加固项

建议加固

易用性影响

openEuler默认是否设置了该加固项

字符界面等待超时限制

当字符界面长时间处在空闲状态,字符界面会自动退出。

说明:

当用户通过SSH登录,超时时间由/etc/profile文件的TMOUT字段和/etc/ssh/sshd_config文件的ClientAliveInterval字段两个值中较小的值决定。建议加固为300秒。

用户长时间不操作字符界面,字符界面会自动退出。

口令复杂度限制

口令长度最小为8位,口令至少包含大写字母、小写字母、数字和特殊字符中的3种。

系统中所有用户不能设置简单的口令,口令必须符合复杂度要求。

限定登录失败时的尝试次数

当用户登录系统时,口令连续输错3次,账户将被锁定60秒,锁定期间不能登录系统。

用户不能随意登录系统,账户被锁定后必须等待60秒。

用户默认umask值限制

设置所有用户的默认umask值为077,使用户创建文件的默认权限为600、目录权限为700。

用户需要按照需求修改指定文件或目录的权限。

口令有效期

口令有效期的设置通过修改/etc/login.defs文件实现,加固默认值为口令最大有效期90天,两次修改口令的最小间隔时间为0,口令过期前开始提示天数为7。

口令过期后用户重新登录时,提示口令过期并强制要求修改,不修改则无法进入系统。

su权限限制

su命令用于在不同账户之间切换。为了增强系统安全性,有必要对su命令的使用权进行控制,只允许root和wheel群组的账户使用su命令,限制其他账户使用。

普通账户执行su命令失败,必须加入wheel群组才可以su成功。

禁止root账户直接SSH登录系统

设置/etc/ssh/sshd_config文件的PermitRootLogin字段的值为no,用户无法使用root账户直接SSH登录系统。

用户需要先使用普通账户SSH登录后,再切换至root账户。

SSH强加密算法

SSH服务的MACs和Ciphers配置,禁止对CBC、MD5、SHA1算法的支持,修改为CTR、SHA2算法。

当前windows下使用的部分低版本的Xshell、PuTTY不支持aes128-ctr、aes192-ctr、aes256-ctr、hmac-sha2-256、hmac-sha2-512算法,可能会出现无法通过SSH登录系统的情况,请使用最新的PuTTY(0.63版本以上)、Xshell(5.0版本及以上版本)登录。