CentOS Exploit如何使用防火墙
导读:CentOS 防火墙应对 Exploit 的实用配置 一 目标与总体策略 最小化暴露面:只开放业务必需的端口与服务,默认拒绝其他一切入站连接。 默认拒绝、显式放行:对未明确允许的端口与服务一律阻断,避免“全开+黑名单”的脆弱策略。 纵深防...
CentOS 防火墙应对 Exploit 的实用配置
一 目标与总体策略
- 最小化暴露面:只开放业务必需的端口与服务,默认拒绝其他一切入站连接。
- 默认拒绝、显式放行:对未明确允许的端口与服务一律阻断,避免“全开+黑名单”的脆弱策略。
- 纵深防御:防火墙与SELinux、Fail2Ban、系统补丁、最小权限等一起使用,提升整体抗攻击能力。
- 持续运营:定期审查规则、监控日志、及时关闭不再使用的端口与服务。
二 使用 firewalld 快速加固
- 启动与开机自启
- 启动:sudo systemctl start firewalld
- 开机自启:sudo systemctl enable firewalld
- 查看状态:sudo systemctl status firewalld
- 仅开放必要服务(示例为 SSH/HTTP/HTTPS)
- 放行服务:sudo firewall-cmd --permanent --zone=public --add-service=ssh
- 放行 HTTPS:sudo firewall-cmd --permanent --zone=public --add-service=https
- 使配置生效:sudo firewall-cmd --reload
- 按端口放行与批量放行
- 放行单端口:sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
- 放行端口段:sudo firewall-cmd --permanent --zone=public --add-port=10000-10010/tcp
- 使配置生效:sudo firewall-cmd --reload
- 查看与验证
- 查看已开放端口:sudo firewall-cmd --zone=public --list-ports
- 查看规则概览:sudo firewall-cmd --list-all
- 按源 IP 白名单(示例仅允许 192.168.1.100 访问 SSH)
- 放行指定源 IP 的 SSH:sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port protocol=“tcp” port=“22” accept’
- 使配置生效:sudo firewall-cmd --reload
- 应急与回滚
- 紧急阻断所有包:sudo firewall-cmd --panic-on
- 取消紧急阻断:sudo firewall-cmd --panic-off
- 关闭/禁用防火墙(不建议生产环境):sudo systemctl stop|disable firewalld
三 使用 iptables 的基线规则
- 安装与启动(若系统默认未启用 iptables)
- 安装:sudo yum install iptables-services
- 启动:sudo systemctl start iptables
- 开机自启:sudo systemctl enable iptables
- 基线策略(默认拒绝入站与转发,放行已建立连接与必要端口)
- 默认策略:sudo iptables -P INPUT DROP;sudo iptables -P FORWARD DROP;sudo iptables -P OUTPUT ACCEPT
- 放行已建立/相关连接:sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- 放行 SSH:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 持久化
- 保存规则:/etc/init.d/iptables save(或按发行版文档执行相应保存命令)
四 针对常见 Exploit 场景的防火墙做法
- 限制 SSH 暴露面
- 仅允许可信网段访问 SSH(firewalld 富规则示例):sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“203.0.113.0/24” port protocol=“tcp” port=“22” accept’ & & sudo firewall-cmd --reload
- 配合 SSH 加固:修改 /etc/ssh/sshd_config,设置 PermitRootLogin no、PasswordAuthentication no、使用密钥登录,并重启 sshd。
- 关闭不必要端口与服务
- 移除不再使用的端口放行规则(firewalld):sudo firewall-cmd --zone=public --remove-port=9001/tcp --permanent & & sudo firewall-cmd --reload
- 停止并禁用无用服务:sudo systemctl disable < service_name> 。
- 限制 ICMP/探测
- 屏蔽 ping(ICMP echo-request):sudo firewall-cmd --zone=public --add-icmp-block=echo-request --permanent & & sudo firewall-cmd --reload。
- 联动防护
- 启用 Fail2Ban 自动封禁暴力破解来源 IP:sudo yum install fail2ban -y & & sudo systemctl enable --now fail2ban
- 保持系统与软件更新:sudo yum update -y,并启用自动更新(如 yum-cron)。
五 验证与运维要点
- 规则验证
- 查看 firewalld 规则:sudo firewall-cmd --list-all
- 查询端口是否放行:sudo firewall-cmd --zone=public --query-port=443/tcp
- 从外部使用 nmap 或 telnet 验证端口可达性(避免影响线上业务时段)。
- 变更与回滚
- 任何规则变更前先备份当前配置;变更后立即验证关键业务连通性。
- 紧急处置可直接启用 firewalld panic 模式:sudo firewall-cmd --panic-on,故障排除后再关闭:sudo firewall-cmd --panic-off。
- 持续运营
- 定期审查开放端口与服务,清理不再使用的规则;结合日志与监控(如 journalctl -u sshd、/var/log/secure)发现异常并及时处置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Exploit如何使用防火墙
本文地址: https://pptw.com/jishu/761333.html
