CentOS系统如何进行安全设置
导读:CentOS 系统安全设置实操清单 一 基线加固 保持系统与软件包为最新:执行 yum/dnf update 并定期更新安全补丁,修复已知漏洞。 清理与锁定无用账户:删除或锁定不需要的默认账户(如 adm、lp、sync 等);检查是否存...
CentOS 系统安全设置实操清单
一 基线加固
- 保持系统与软件包为最新:执行 yum/dnf update 并定期更新安全补丁,修复已知漏洞。
- 清理与锁定无用账户:删除或锁定不需要的默认账户(如 adm、lp、sync 等);检查是否存在 空口令 与 UID=0 的异常账户;必要时对关键文件 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 设置不可变属性(chattr +i),降低被篡改风险。
- 强化口令策略:在 /etc/login.defs 中设置密码生命周期(如 PASS_MAX_DAYS 90、PASS_WARN_AGE 7),并用 chage 为用户设置最小/最大天数与到期警告;启用 pam_pwquality 强制复杂度(如最小长度 14、各类字符至少 1 个,且对 root 同样生效)。
- 限制 su 权限:编辑 /etc/pam.d/su,仅允许加入 wheel 组的用户 su 到 root。
- 登录安全:设置登录超时(如 TMOUT=600),统一 umask 027,减少新建文件/目录的暴露权限。
二 网络与防火墙
- 启用并优先使用 firewalld(CentOS 7+ 默认):启动服务并设置开机自启(systemctl start/enable firewalld),按需开放端口或服务,遵循“最小暴露面”原则。
- 常用规则示例:
- 开放 80/443(HTTP/HTTPS):firewall-cmd --zone=public --add-service=http --permanent & & firewall-cmd --zone=public --add-service=https --permanent
- 开放 22/TCP(SSH):firewall-cmd --zone=public --add-port=22/tcp --permanent
- 开放端口段(如 10000–10010/TCP):firewall-cmd --zone=public --add-port=10000-10010/tcp --permanent
- 重载规则:firewall-cmd --reload;查看已开放端口:firewall-cmd --zone=public --list-ports
- 精细化访问控制:使用富规则限制来源 IP 访问某端口(例如仅允许 192.168.1.100 访问 8080/TCP):firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port protocol=“tcp” port=“8080” accept’ & & firewall-cmd --reload。
- 如必须使用 iptables,需先安装 iptables-services,添加规则后保存并重启服务,确保重启后规则持久化。
三 SSH 安全
- 禁止 root 直接登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no。
- 仅启用 SSH 协议 2:设置 Protocol 2。
- 限制认证尝试与登录用户:设置 MaxAuthTries 3;通过 AllowUsers/AllowGroups 明确允许的主机与账户。
- 优先使用密钥认证并禁用密码登录:在客户端生成密钥对,将公钥放入 ~/.ssh/authorized_keys,在服务器端设置 PasswordAuthentication no,重启 sshd 生效。
- 可选:更改默认端口(如 2222)并结合 fail2ban 自动封禁暴力破解来源,降低噪音与风险。
四 权限与 SELinux
- 最小权限原则与 sudo:使用 sudo 精细授权(通过 visudo 配置),避免共享 root 密码;将服务运行在专用的 系统用户(无登录 Shell)下。
- 文件与目录权限:常规目录 750、文件 640;对共享协作目录使用 ACL(setfacl/getfacl) 实现细粒度授权;谨慎使用 SUID/SGID/Sticky Bit,仅对确有必要的系统二进制与共享目录启用。
- 关键目录保护:如 /tmp 设置 1777(Sticky Bit),确保仅所有者可删除自己的文件。
- SELinux:建议保持 SELINUX=enforcing(getenforce/setenforce 查看与临时切换),在出现应用兼容性问题时优先调整策略而非直接关闭,以保留强制访问控制能力。
五 日志审计与运行监控
- 集中与持久化日志:确保 rsyslog 正常工作,关键日志(如 /var/log/secure)妥善留存;必要时将日志发送至远程日志服务器以便取证与合规。
- 启用审计服务 auditd:配置审计规则(例如监控登录相关文件与失败登录状态),使用 ausearch 检索审计事件,定期复盘异常行为。
- 服务最小化与端口收敛:列出并禁用不必要的开机自启服务(systemctl list-unit-files --state=enabled;systemctl disable --now ),仅暴露业务必需端口。
- 变更与备份:任何安全配置变更前先备份,变更后及时验证;定期备份关键数据与配置,并进行恢复演练。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS系统如何进行安全设置
本文地址: https://pptw.com/jishu/786074.html
