首页主机资讯centos防火墙如何防护

centos防火墙如何防护

时间2025-12-11 22:33:04发布访客分类主机资讯浏览822
导读:CentOS 防火墙防护实践指南 一 基础防护与最小暴露面 确认并启用默认防火墙服务:在 CentOS 7+ 使用 firewalld 管理防火墙。建议保持默认区域为 public,仅开放必需服务。 命令示例: sudo systemct...

CentOS 防火墙防护实践指南

一 基础防护与最小暴露面

  • 确认并启用默认防火墙服务:在 CentOS 7+ 使用 firewalld 管理防火墙。建议保持默认区域为 public,仅开放必需服务。
    命令示例:
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    sudo firewall-cmd --set-default-zone=public
    sudo firewall-cmd --get-default-zone
  • 仅放行必要端口与服务:优先使用“服务名”放行(如 ssh、http、https),减少因端口号变更带来的维护成本。
    命令示例:
    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
  • 移除不必要的预置服务:在 public 区域移除不需要的服务(如 dhcpv6-client),降低攻击面。
    命令示例:
    sudo firewall-cmd --permanent --zone=public --remove-service=dhcpv6-client
    sudo firewall-cmd --reload
  • 变更前先备份当前规则,变更后及时重载并检查:
    命令示例:
    sudo firewall-cmd --runtime-to-permanent # 将运行时规则固化为永久(可选)
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-all

二 精细化访问控制

  • 按源地址限制访问:仅允许指定 IP/网段 访问关键端口(如数据库、管理口)。
    命令示例(仅允许 192.168.1.100 访问 3306/TCP):
    sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port protocol=“tcp” port=“3306” accept’
    sudo firewall-cmd --reload
  • 将可信网络划入更宽松区域:把内网接口或网段加入 trusted 区域以实现“全放行”,而公网接口保持在 public 区域仅放行必要服务。
    命令示例:
    sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0/24
    sudo firewall-cmd --permanent --zone=public --remove-interface=eth1
    sudo firewall-cmd --permanent --zone=trusted --add-interface=eth1
    sudo firewall-cmd --reload
  • 端口范围与协议:对需要连续端口的服务一次性放行。
    命令示例(放行 10000–10010/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 --zone=public --list-rich-rules

三 端口转发与地址伪装

  • 端口转发:将外网访问的 8080/TCP 转发到本机 80/TCP(常用于对外仅开放高端口、服务实际监听低位端口的场景)。
    命令示例:
    sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
    sudo firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toport=80
    sudo firewall-cmd --reload
  • 地址伪装(SNAT/Masquerade):为内网主机提供上网/NAT 出口。
    命令示例:
    sudo firewall-cmd --permanent --zone=public --add-masquerade
    sudo firewall-cmd --reload

四 高安全场景与应急

  • 默认丢弃策略:在面向公网的 drop 区域中,未显式允许的流量将被丢弃,适合高安全需求。
    命令示例:
    sudo firewall-cmd --set-default-zone=drop

    仅放行必要来源与服务,例如:

    sudo firewall-cmd --permanent --zone=drop --add-rich-rule=‘rule family=“ipv4” source address=“203.0.113.10” port protocol=“tcp” port=“22” accept’
    sudo firewall-cmd --reload
  • 回退与应急:
    • 快速恢复默认区域:sudo firewall-cmd --set-default-zone=public
    • 查看运行时规则:sudo firewall-cmd --list-all
    • 临时放行后再固化:先放行运行时规则测试无误,再添加 –permanent–reload
  • 使用 iptables 的场景(如 CentOS 6 或需直接操作内核规则):
    • 放行单端口:
      sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
    • 保存规则(不同发行版/版本路径可能不同):
      sudo service iptables save

      sudo iptables-save > /etc/sysconfig/iptables
  • 安全加固配套建议:
    • 保持系统与软件包 及时更新
    • 启用并正确配置 SELinux
    • 定期 审计与监控日志,及时关闭不再使用的端口与服务。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos防火墙如何防护
本文地址: https://pptw.com/jishu/769870.html
mongodb如何备份与恢复centos centos nodejs如何进行跨平台开发

游客 回复需填写必要信息