Linux 防火墙 - 我可以访问端口 4506,但我的配置不允许我访问

Linux 防火墙 - 我可以访问端口 4506,但我的配置不允许我访问

不确定我这里哪里做错了。我没有看到此配置中打开了端口 4506,但我能够从 156.9.122 子网上的远程计算机远程登录到该端口。我做错了什么?

#防火墙命令--列出所有区域

防火墙命令--列出所有区域
堵塞
  目标:%%REJECT%%
  icmp 块反转:否
  接口:
  来源:
  服务:
  端口:
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


非军事区
  目标:默认
  icmp 块反转:否
  接口:
  来源:
  服务:ssh
  端口:
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


降低
  目标:DROP
  icmp 块反转:否
  接口:
  来源:
  服务:
  端口:
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


外部的
  目标:默认
  icmp 块反转:否
  接口:
  来源:
  服务:ssh
  端口:
  协议:
  化装舞会:是的
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


  目标:默认
  icmp 块反转:否
  接口:
  来源:
  服务: ssh mdns samba-client dhcpv6-client
  端口:
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


内部的
  目标:默认
  icmp 块反转:否
  接口:
  来源:
  服务: ssh mdns samba-client dhcpv6-client
  端口:
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


公开 (活跃)
  目标:默认
  icmp 块反转:否
  接口:
  来源:156.9.122.0/24
  服务:http https ntp dhcpv6-client kerberos ldaps ssh dns ldap
  端口:443/tcp 7902/tcp 8014/tcp 7903/tcp 8089/tcp 463/tcp 7899/tcp 7898/tcp 7900/tcp 52311/udp 80/tcp 7901/tcp 1584/tcp 1585/tcp 463/udp 22/tcp
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


值得信赖
  目标:接受
  icmp 块反转:否
  接口:
  来源:
  服务:
  端口:
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:


工作
  目标:默认
  icmp 块反转:否
  接口:
  来源:
  服务: ssh dhcpv6-client
  端口:
  协议:
  化装舞会:否
  转发端口:
  源端口:
  icmp 阻止:
  丰富的规则:

# iptables -nvL

链输入(策略接受 0 个数据包,0 字节)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
28874 7345K 接受全部 -- * * 0.0.0.0/0 0.0.0.0/0 ctstate 相关,已建立
  205 36869 接受全部 -- lo * 0.0.0.0/0 0.0.0.0/0           
  117 12145 INPUT_direct 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
  117 12145 INPUT_ZONES_SOURCE 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
  112 11773 INPUT_ZONES 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 全部删除 -- * * 0.0.0.0/0 0.0.0.0/0 ctstate 无效
   21 4809 全部拒绝 -- * * 0.0.0.0/0 0.0.0.0/0 拒绝-使用 icmp-host-prohibited

链转发(策略接受 0 个数据包,0 字节)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 接受全部 -- * * 0.0.0.0/0 0.0.0.0/0 ctstate 相关,已建立
    0 0 接受全部 -- lo * 0.0.0.0/0 0.0.0.0/0           
    0 0 FORWARD_direct 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FORWARD_IN_ZONES_SOURCE 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FORWARD_IN_ZONES 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FORWARD_OUT_ZONES_SOURCE 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FORWARD_OUT_ZONES 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 全部删除 -- * * 0.0.0.0/0 0.0.0.0/0 ctstate 无效
    0 0 拒绝全部 -- * * 0.0.0.0/0 0.0.0.0/0 拒绝-带有 icmp-host-prohibited

链输出(策略接受 29114 个数据包,7722K 字节)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
29114 7722K OUTPUT_direct 全部 -- * * 0.0.0.0/0 0.0.0.0/0           

链 FORWARD_IN_ZONES (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 FWDI_public 全部 -- + * 0.0.0.0/0 0.0.0.0/0 [转到]

链 FORWARD_IN_ZONES_SOURCE (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 FWDI_public 全部 -- * * 156.9.122.0/24 0.0.0.0/0 [转到]

链 FORWARD_OUT_ZONES (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 FWDO_public 全部 -- * + 0.0.0.0/0 0.0.0.0/0 [转到]

链 FORWARD_OUT_ZONES_SOURCE (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 FWDO_public 全部 -- * * 0.0.0.0/0 156.9.122.0/24 [转到]

链 FORWARD_direct (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 FWDI_public(2 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 FWDI_public_log 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FWDI_public_deny 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FWDI_public_allow 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 接受 icmp -- * * 0.0.0.0/0 0.0.0.0/0           

链 FWDI_public_allow (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 FWDI_public_deny (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 FWDI_public_log (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 FWDO_public (2 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    0 0 FWDO_public_log 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FWDO_public_deny 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    0 0 FWDO_public_allow 全部 -- * * 0.0.0.0/0 0.0.0.0/0           

链 FWDO_public_allow (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 FWDO_public_deny (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 FWDO_public_log (1 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 INPUT_ZONES (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
  112 11773 IN_public 全部 -- + * 0.0.0.0/0 0.0.0.0/0 [转到]

链 INPUT_ZONES_SOURCE (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
    5 372 IN_public 全部 -- * * 156.9.122.0/24 0.0.0.0/0 [转到]

链 INPUT_direct (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 IN_public (2 个引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
  117 12145 IN_public_log 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
  117 12145 IN_public_deny 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
  117 12145 IN_public_allow 全部 -- * * 0.0.0.0/0 0.0.0.0/0           
    3 252 接受 icmp -- * * 0.0.0.0/0 0.0.0.0/0           

链 IN_public_allow (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         
   93 7084 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 限制:平均 25/分钟 突发 100
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 ctstate 新
    0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:123 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:88 ctstate 新
    0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:88 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:636 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 ctstate 新
    0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:389 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7902 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8014 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7903 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8089 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:463 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7899 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7898 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7900 ctstate 新
    0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:52311 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7901 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1584 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1585 ctstate 新
    0 0 接受 udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:463 ctstate 新
    0 0 接受 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate 新

链 IN_public_deny (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 IN_public_log (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

链 OUTPUT_direct (1 引用)
 pkts 字节数 目标 协议 选择加入 退出 源 目标         

答案1

这似乎是允许此类流量的规则:

Chain IN_public_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   93  7084 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 25/min burst 100

从 INPUT 链开始:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
28874 7345K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
  205 36869 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
  117 12145 INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  117 12145 INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  112 11773 INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

注意 INPUT_ZONES_SOURCE 和 INPUT_ZONES_SOURCE。INPUT_direct 为空,因此在拒绝/驳回任何内容之前什么都没有。

Chain INPUT_ZONES_SOURCE (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    5   372 IN_public  all  --  *      *       156.9.122.0/24       0.0.0.0/0

Chain INPUT_ZONES (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  112 11773 IN_public  all  --  +      *       0.0.0.0/0            0.0.0.0/0           [goto] 

两个链都调用了 IN_public。在本例中,源位于 156.9.1220/24,因此使用了 INPUT_ZONES_SOURCE。如果没有,INPUT_ZONES 将被调用并产生相同的结果。基本上,INPUT_ZONES_SOURCE 在此配置中不执行任何操作,但如果规则发生变化,则其中一个配置中 [goto] 的存在可能会有所不同。

Chain IN_public (2 references)
 pkts bytes target     prot opt in     out     source               destination         
  117 12145 IN_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  117 12145 IN_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  117 12145 IN_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0

IN_public_log 和 IN_public_deny 为空,因此不执行任何操作。因此达到 IN_public_allow:

Chain IN_public_allow (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   93  7084 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 25/min burst 100

所有 IP 和所有 tcp 端口均可接受,但有一定的速率限制。由于 INPUT_ZONES,这适用于所有源,而不仅仅是 156.9.122.0/24,因此情况似乎比您想象的更糟糕。

免责声明:以编程方式生成的 iptables 规则让我的眼睛流血,所以我很可能是错的。

答案2

在我的测试中,Redhat 提供的这条规则无效。由于该规则似乎不再存在于 STIG 文档中,因此我将其删除。

[root@d1dd-trdev-rv01 ~]# cat /etc/firewalld/direct.xml

<?xml version="1.0" encoding="utf-8"?> 
<direct>
<rule priority="0" table="filter" ipv="ipv4" chain="IN_public_allow">-p tcp -m limit --limit 25/minute --limit-burst 100 -j INPUT_ZONES</rule> 
</direct>

[root@d1dd-trdev-rv01 ~]#防火墙-cmd——重新加载

Error: COMMAND_FAILED: Direct: '/usr/sbin/iptables-restore -w -n' failed: iptables-restore: line 3 failed

请注意,下面的方法不起作用。留下以供参考。

我今天从 Redhat 得到确认,@Michael Hampton 指出的规则实际上来自/etc/firewalld/direct.xml,这是 STIG 文档中的一个错误。文档建议使用这个(注意 ACCEPT)

<?xml version="1.0" encoding="utf-8"?> 
<direct>
 <rule priority="0" table="filter" ipv="ipv4" chain="IN_public_allow">-p tcp -m limit --limit 25/minute --limit-burst 100 -j ACCEPT</rule> 
</direct>

何时应使用此功能(请注意 INPUT_ZONES)

<?xml version="1.0" encoding="utf-8"?> 
<direct>
 <rule priority="0" table="filter" ipv="ipv4" chain="IN_public_allow">-p tcp -m limit --limit 25/minute --limit-burst 100 -j INPUT_ZONES</rule> 
</direct>

相关内容