CentOS是一种广泛使用的Linux发行版,其安全性配置尤为重要。以下是一些基本的CentOS安全配置步骤:
1. 密码策略设置
-
修改密码策略配置文件:
- 打开
/etc/login.defs
文件,设置PASS_MIN_DAYS
(密码修改的最小间隔时间)为7天,PASS_MAX_DAYS
(密码失效时间)为90天。 - 通过PAM模块实现密码复杂度检查和密码重用限制,修改
/etc/security/pwquality.conf
文件,设置minlen
(密码最小长度)、maxrepeat
(密码中允许的最大字符重复次数)、minclass
(密码中至少包含的字符类别数)等参数。
- 打开
2. SSH安全配置
-
禁止空密码登录:
- 编辑
/etc/ssh/sshd_config
文件,将PermitEmptyPasswords
设置为no
。
- 编辑
-
设置SSH空闲超时退出时间:
- 在
/etc/ssh/sshd_config
文件中,设置ClientAliveInterval
(SSH空闲超时时间)为300秒,ClientAliveCountMax
(客户端空闲超时退出次数)为0。
- 在
-
禁止root登录:
- 将
/etc/ssh/sshd_config
文件中的PermitRootLogin
设置为no
。
- 将
3. 防火墙配置
-
使用firewalld配置防火墙:
- 安装firewalld:
sudo yum install firewalld
- 启动firewalld服务:
sudo systemctl start firewalld
- 设置防火墙开机自启:
sudo systemctl enable firewalld
- 添加必要的端口和服务:
sudo firewall-cmd --permanent --add-port=80/tcp
(允许HTTP流量) - 重新加载防火墙配置:
sudo firewall-cmd --reload
- 安装firewalld:
4. 系统更新和补丁管理
-
定期更新系统:
- 使用
sudo yum update
命令更新所有软件包,确保系统和软件包的最新状态。
- 使用
5. 账户安全和权限管理
-
禁用不必要的超级用户:
- 查看
/etc/passwd
文件,检测并锁定不必要的超级账户。
- 查看
-
删除不必要的账号和组:
- 删除所有不必要的默认账户,如
adm
、lp
、sync
等。
- 删除所有不必要的默认账户,如
-
强化用户口令:
- 设置复杂的口令,包含大写字母、小写字母、数字和特殊字符,并且长度大于10位。
6. 安全审计
-
使用auditd服务进行安全审计:
- 安装auditd服务:
sudo yum install auditd
- 启动auditd服务:
sudo systemctl start auditd
- 配置审计策略,记录特定系统事件。
- 安装auditd服务:
7. SELinux配置
-
启用并配置SELinux:
- 编辑
/etc/selinux/config
文件,将SELINUX
设置为enforcing
。
- 编辑
通过上述配置,可以显著提高CentOS系统的安全性和稳定性。请根据实际需求和安全要求进行配置,并定期进行安全审计和更新。