CentOS Stream 8 是 CentOS 的一个版本,它基于 Red Hat Enterprise Linux (RHEL) 的源代码构建。在 CentOS Stream 8 上进行安全设置通常涉及以下几个方面:
- 更新系统:确保系统已经更新到最新版本。
sudo yum update
- 配置防火墙:
- 安装 firewalld(如果尚未安装)。
- 启动 firewalld 服务。
- 启用 firewalld 服务以在系统启动时自动启动。
- 添加必要的端口和服务到防火墙规则中。
sudo yum install firewalld sudo systemctl start firewalld sudo systemctl enable firewalld sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
-
强化用户口令:
- 设置复杂的口令策略,要求密码包含大写字母、小写字母、数字和特殊字符,并且长度大于10位。
- 编辑
/etc/login.defs
文件来设置密码策略。
-
禁用不必要的超级用户:
- 删除不必要的默认账户,如
adm
,lp
,sync
等。 - 锁定或删除具有超级用户权限的账户。
- 删除不必要的默认账户,如
-
保护口令文件:
- 使用
chattr
命令给/etc/passwd
,/etc/shadow
,/etc/group
, 和/etc/gshadow
文件加上不可更改属性。
- 使用
chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow
- 设置 root 账户自动注销时限:
- 修改
/etc/profile
文件中的TMOUT
参数。
- 修改
vi /etc/profile # 在文件末尾添加 TMOUT=300
- 限制 SSH 访问:
- 禁止 root 用户通过 SSH 远程登录。
- 限制只有特定用户可以通过 SSH 远程登录。
- 禁止空密码登录。
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo sed -i 's/AllowUsers.*/AllowUsers username/' /etc/ssh/sshd_config sudo sed -i 's/PermitEmptyPasswords yes/PermitEmptyPasswords no/' /etc/ssh/sshd_config
- 定期更新系统和软件包:
- 定期检查并安装系统和软件包的最新更新,以修补安全漏洞。
sudo yum update
- 其他安全措施:
- 禁用 ctrl+alt+delete 重启命令。
- 设置开机启动服务权限。
- 限制 NFS 网络访问。
- 通过编辑
/etc/securetty
文件限制 root 用户的登录终端。
请注意,这些步骤提供了一般性的安全配置建议,具体配置可能需要根据您的实际环境和需求进行调整。在进行任何安全配置之前,请确保您有足够的权限,并理解每个命令的作用,以避免不必要的服务中断或安全漏洞。