首页主机资讯Linux防火墙如何防止内部威胁

Linux防火墙如何防止内部威胁

时间2025-12-16 21:27:03发布访客分类主机资讯浏览786
导读:总体思路 面向内部威胁的防护要把“谁能访问什么、在哪儿能访问、访问多快多频繁”说清楚:以默认拒绝为基线,按源地址/区域细分策略,区分入站/出站/转发三类流量,优先放行已建立连接,对敏感服务(如数据库、管理口)实施最小权限与白名单,并对暴力尝...

总体思路

面向内部威胁的防护要把“谁能访问什么、在哪儿能访问、访问多快多频繁”说清楚:以默认拒绝为基线,按源地址/区域细分策略,区分入站/出站/转发三类流量,优先放行已建立连接,对敏感服务(如数据库、管理口)实施最小权限与白名单,并对暴力尝试与异常速率进行连接频率限制。在 Linux 上可通过 firewalld(基于区域与运行时/永久配置)或 iptables(基于链与表)落地这些策略。


策略设计要点

  • 默认拒绝 + 显式放行:对未匹配到的流量统一丢弃/拒绝,仅对明确需求开放端口与协议,降低横向移动与数据外泄空间。
  • 区域化与源地址绑定:用 firewalld 区域将不同来源的流量划分到不同规则集合,优先以“源地址→区域→规则”的顺序匹配,便于管理分段与隔离。
  • 入站/出站/转发分离:服务器本机用 INPUT/OUTPUT,网关/跳板用 FORWARD;对出站流量同样做细粒度控制,防止“被控主机外联”。
  • 状态检测:放行 ESTABLISHED,RELATED 状态,保证合法会话的回包与已建立连接不被中断,同时抑制非对称流量。
  • 服务最小化:数据库、缓存、管理端口只对受控网段开放;对管理口(如带外管理)单独划分区域或物理隔离。
  • 频率限制与异常阻断:对 SSH/RDP 等高价值入口设置登录速率限制与临时封禁,缓解暴力破解与脚本扫描。
  • 日志与告警:对拒绝/限速事件与关键服务访问进行日志记录与集中分析,配合监控平台实现可观测与告警。

firewalld 落地示例

  • 启用与基础

    • 启动与开机自启:systemctl start firewalld & & systemctl enable firewalld
    • 查看状态:firewall-cmd --state;查看默认区域:firewall-cmd --get-default-zone
  • 只允许受控网段访问数据库(示例:仅 192.168.20.0/24 访问 3306/TCP

    • 命令行方式(永久生效并加载):
      firewall-cmd --permanent --zone=public \
        --add-rich-rule='rule family="ipv4" source address="192.168.20.0/24" port port="3306" protocol="tcp" accept'
      firewall-cmd --reload
      
    • 文件方式(/etc/firewalld/zones/public.xml 中添加):
      <
          rule family="ipv4">
          
        <
          source address="192.168.20.0/24"/>
          
        <
          port protocol="tcp" port="3306"/>
          
        <
          accept/>
          
      <
          /rule>
          
      
    • 验证:firewall-cmd --list-rich-rules --zone=public 或从外部主机测试连通性。
  • 出站与转发控制

    • 限制本机出站到外网的 DNS 仅允许内网 192.168.1.53
      firewall-cmd --permanent --zone=public \
        --add-rich-rule='rule family="ipv4" destination address="192.168.1.53" port port="53" protocol="udp" accept'
      firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port port="53" protocol="udp" drop'
      firewall-cmd --reload
      
    • 网关/跳板场景:对来自内网 eth1 的转发流量,仅放行访问外网 80/443,其余默认拒绝:
      firewall-cmd --permanent --zone=internal --add-interface=eth1
      firewall-cmd --permanent --zone=internal --add-rich-rule='rule family="ipv4" port port="80" protocol="tcp" accept'
      firewall-cmd --permanent --zone=internal --add-rich-rule='rule family="ipv4" port port="443" protocol="tcp" accept'
      firewall-cmd --reload
      
    • 说明:firewalld 以“源地址→区域→规则”的顺序匹配,未匹配到的转发流量按该区域默认策略处理(建议设为 drop)。

iptables 落地示例

  • 服务器本机基线(默认拒绝,仅放行必要流量)

    iptables -F
    iptables -X
    iptables -Z
    
    # 默认策略
    iptables -P INPUT   DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT  ACCEPT
    
    # 本地回环与已建立连接
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # 仅内网 192.168.1.0/24 访问 3306
    iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 3306 -j ACCEPT
    
    # SSH 端口(示例 2222),带速率限制
    iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --set --name SSH
    iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent \
      --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
    iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
    
  • 网关/跳板转发(仅放行内网到外网的 80/443)

    # 内网→外网 80/443
    iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80  -j ACCEPT
    iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 443 -j ACCEPT
    
    # 其余转发默认拒绝
    iptables -A FORWARD -j DROP
    
    # 可选:内网 DNS 放行(UDP 53)
    iptables -A FORWARD -s 192.168.1.0/24 -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -d 192.168.1.0/24 -p udp --sport 53 -j ACCEPT
    
  • 说明:上述示例体现了“默认拒绝 + 状态放行 + 源白名单 + 速率限制”的组合用法,可按业务继续细化到具体网段、端口与协议。


运维与加固建议

  • 变更可回滚:规则变更遵循“先测试、再永久、再重载”的流程;firewalld 区分运行时永久配置,变更后用 firewall-cmd --reload 生效;iptables 建议使用脚本化管理并保留备份。
  • 最小权限与职责分离:数据库、缓存、消息队列等后端仅对前端/应用子网开放;管理口与业务口物理或逻辑分离;对敏感端口使用非标准端口配合防火墙白名单。
  • 强制访问控制配合:在 firewalld/iptables 做网络层限制的同时,启用 SELinuxAppArmor 做进程级强制访问控制,降低被攻破后的横向权限提升风险。
  • 日志与监控:集中采集防火墙拒绝日志与关键服务访问日志,设置阈值告警(如 SSH 速率限制触发、异常外联),并结合资产与漏洞管理闭环处置。

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


若转载请注明出处: Linux防火墙如何防止内部威胁
本文地址: https://pptw.com/jishu/773232.html
Linux防火墙如何与其他安全工具集成 Linux防火墙如何更新以应对新威胁

游客 回复需填写必要信息