面对零日攻击这种防不胜防的威胁,防火墙的配置就成了一门必修课。CentOS 自带的 firewalld 是个很趁手的工具,通过精细的规则设定,能有效限制网络访问,给系统多一层防护。下面整理了一套比较落地的防御思路,从基础配置到进阶措施,一步到位。

防火墙配置
安装和启用 Firewalld
先把防火墙装好并启动起来。如果系统里还没有 firewalld,用这条命令安装:sudo yum install firewalld然后启动并设置开机自启:
sudo systemctl start firewalld sudo systemctl enable firewalld配置防火墙规则
先看一眼当前状态和已有规则:sudo firewall-cmd --state sudo firewall-cmd --list-all允许常用端口——比如 SSH(22 端口)和 HTTP(80 端口):
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --reload配置默认区域策略
查看当前默认区域,改成更严格的“work”尝尝:sudo firewall-cmd --get-default-zone sudo firewall-cmd --set-default-zone=work这样一来,只有明确放行的流量才能进出,其他的一律拦截。
IP 白名单机制
如果只有固定几个 IP 需要访问服务器,配置一个信任区最稳。比如只允许 192.168.12.0/24 网段:sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.12.0/24 sudo firewall-cmd --reload禁用不必要的服务和端口
零日攻击最喜欢找开着却没人管的服务。关掉那些用不上的:sudo systemctl stopsudo systemctl disable 端口越少,攻击面越小,这是最朴素也最有效的原则。
其他安全措施
及时更新系统和软件
保持系统最新版本,很多零日漏洞的补丁其实早就发布了。用这条命令一步到位:sudo yum update别偷懒,更新是防御的起点。
强化 SSH 安全配置
SSH 是最常见的入口,修改/etc/ssh/sshd_config来加固:- 禁用 root 直接登录:
PermitRootLogin no- 改用密钥认证,关闭密码登录:
PasswordAuthentication no改完后重启 SSH 服务生效:
sudo systemctl restart sshd安装和配置 SELinux
SELinux 能提供内核级别的访问控制,与防火墙互补。装上并强制启用:sudo yum install selinux-policy-targeted selinux-utils sudo setenforce 1别嫌它繁琐,关键时刻能挡住不少奇奇怪怪的越权操作。
监控和记录关键系统活动
开启审计守护进程,记录下所有重要行为,出了问题才能溯源:sudo yum install auditd sudo systemctl start auditd sudo systemctl enable auditd配合日志分析工具,定期扫一眼,很多异常在爆发前就能发现苗头。
以上几步组合起来,CentOS 系统的安全水平就能明显提升,无论是外部的零日攻击还是内部威胁,都能多几分底气。说到底,安全是个持续对抗的过程,防火墙只是其中一环,但这一环必须扎扎实实。
