如何预防CentOS Exploit攻击
小樊
34
2026-01-02 08:28:42
CentOS Exploit攻击预防实用清单
一 基础防护与系统加固
- 保持系统与软件包为最新:执行yum/dnf update;启用自动安全更新(如yum-cron)以减少暴露窗口。
- 最小化安装与关闭高危服务:仅保留必需软件,禁用telnet、ftp等明文或不安全服务。
- 强化账户与权限:锁定不必要的系统账号;仅允许wheel组成员使用su;检查并清理空口令账户;为关键文件设置不可变属性(如chattr +i /etc/passwd /etc/shadow)。
- 口令与登录策略:在**/etc/login.defs中设置PASS_MAX_DAYS 90、PASS_MIN_LEN 9、PASS_WARN_AGE 7**;为SSH设置Protocol 2与登录失败限制。
- 文件系统与默认权限:设置umask 027降低新建文件默认权限;对敏感目录设置最小访问权限。
二 网络与SSH安全
- 边界防护:启用并配置firewalld,仅开放必要端口(如22/80/443);必要时使用Zone做访问隔离。
- 精细化访问控制:在**/etc/ssh/sshd_config中设置PermitRootLogin no**、仅允许特定用户或网段登录(如AllowUsers youruser@10.0.0.0/24),并重启sshd。
- 抗暴力破解:部署fail2ban,自动封禁反复失败的来源IP。
- 端口与协议:如业务允许,可修改SSH端口以降低自动化扫描命中率,但需同步更新防火墙与监控告警规则。
三 运行时防护与入侵检测
- 强制访问控制:保持SELinux为enforcing模式,必要时使用策略限制进程权限,降低漏洞利用后的横向移动与提权风险。
- 完整性校验:使用AIDE对关键系统文件做基线校验与定期比对,及时发现被篡改的可执行文件与配置。
- 审计与日志:启用并持久化auditd,重点审计**/var/log/secure与sshd相关日志;结合journalctl与集中化日志分析(如ELK**)做异常检测与告警。
- 恶意代码防护:部署ClamAV并更新病毒库,定期扫描邮件、上传目录与临时目录。
四 漏洞管理与备份恢复
- 持续漏洞评估:定期使用OpenVAS、Nessus进行漏洞扫描与配置基线核查,形成整改闭环。
- 网络分段与隔离:通过VLAN、ACL将不同安全域隔离,减少单点被攻破后的影响范围。
- 备份与演练:对系统与业务数据执行定期备份(如rsync、tar),并进行恢复演练验证可用性与完整性;关键数据可考虑LUKS磁盘加密。
五 快速执行清单与加固示例
- 快速执行清单
- 更新与自动更新:sudo yum update;启用yum-cron。
- 防火墙:仅放行22/80/443;必要时按业务细化到来源网段。
- SSH:设置PermitRootLogin no、仅允许特定用户、重启sshd。
- 账户:锁定无用账号、仅wheel可su、清理空口令。
- SELinux:setenforce 1并持久化;必要时调整策略。
- 审计与监控:启用auditd与fail2ban,集中分析**/var/log/secure**。
- 备份:建立每日/每周备份与离线/异地副本,定期演练。
- 扫描:每月一次漏洞扫描与基线核查。
- 加固示例命令
- 更新与自动更新
sudo yum update -y
sudo systemctl enable --now yum-cron
- 防火墙放行Web与SSH
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
sudo firewall-cmd --reload
- SSH安全
echo -e “PermitRootLogin no\nProtocol 2” | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd
- Fail2ban
sudo yum install -y fail2ban
sudo systemctl enable --now fail2ban
- SELinux与审计
sudo setenforce 1
echo “SELINUX=enforcing” | sudo tee /etc/selinux/config
sudo systemctl enable --now auditd
- ClamAV
sudo yum install -y clamav clamav-update
sudo freshclam
sudo systemctl enable --now clamav-freshclam
- 完整性校验(AIDE)
sudo yum install -y aide
sudo aide --init && sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
sudo aide --check