IPTablesが有効な場合、アウトバウンドSNMP接続を確立できません。

IPTablesが有効な場合、アウトバウンドSNMP接続を確立できません。

Windows SNMP エージェントとして構成された複数の Windows サーバーがあります。各サーバーには4つのIPアドレスがあり、SNMPはすべてのアドレスを受信します。

私の監視サーバー(Centos 5.5 32ビット、net-snmp 5.3.2.2)には何かとても奇妙なことがあります。私が持っているならiptables オフこれにより、このサーバーのすべてのIPアドレスに対してsnmpクエリを実行することに問題はありません。

IPtablesをオンにすると、各サーバーが特定のIPアドレスに見えるものだけを照会できます。snmpgetタイムアウトしましたTimeout: No Response from x.x.x.x

どのIPアドレスへの接続が許可されるかについてのこの動作にはパターンはありません。ただし、各システムにはIPアドレスが1つしかありません。

これは私のiptables設定です。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 5668 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 5668 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

たとえば、RPMを取得するために問題なく他のサーバーにアウトバウンドで接続できますwget

最後の手段としてこれを追加しようとしましたが、楽しみもありません。

-A OUTPUT -p udp -s 0/0 --sport 1024:65535 -d 0/0 --dport 161:162 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -s 0/0 --sport 161:162 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

これは次の出力ですiptables -L

チェーン入力(ポリシー承認)
ターゲット保護の選択ソースターゲット
RH-Firewall-1-INPUTすべて - どこでもどこでも
UDPを受け入れる - UDP spts:snmp:snmptrap dpts:1024:65535ステータスが設定されているすべての場所で

チェーン転送(ポリシー承認)
ターゲット保護の選択ソースターゲット
RH-Firewall-1-INPUTすべて - どこでもどこでも

チェーン出力(ポリシー承認)
ターゲット保護の選択ソースターゲット
udpを受け入れる - どこでもudp spts:1024:65535 dpts:snmp:snmptrapステータス新規、設定済み

ChainRH-Firewall-1-INPUT(参照2個)
ターゲット保護の選択ソースターゲット
すべて受け入れる - いつでもどこでも
icmp を許可 — どこでもどこでも icmp any
UDPを許可する - どこでも224.0.0.251 udp dpt:mdns
すべて受け入れ - 関連性が高く、どこでも確立
tcpを許可する - 172.16.3.0/24すべてのステータスNEW tcp dpt:ssh
tcpを許可する - どこでもどこでもnew tcp dpt:ssh
tcpを受け入れる - 172.16.3.0/24すべてのステータス新しいtcp dpt:5668
udpを受け入れる - 172.16.3.0/24どこでも状態新しいudp dpt:5668
tcpを許可する - どこでもどこでも状態new tcp dpt:5668
udpを許可 - どこでも新しいudp dpt:5668
tcpを受け入れる - 172.16.3.0/24どこでもステータスNEW tcp dpt:http
tcpを許可する - どこでもどこでも状態NEW tcp dpt:http
tcpを受け入れる - 172.16.3.0/24どこでもnew tcp dpt:https
tcpを許可する - どこでも新しいtcp dpt:https
tcpを受け入れる - 172.16.3.0/24どこでもステータスNEW tcp dpt:mysql
tcpを許可する - どこでもnew tcp dpt:mysql
すべて拒否 - どこでもICMPを拒否します。ホスト禁止

答え1

次のルールを削除できますか?

-A OUTPUT -p udp -s 0/0 --sport 1024:65535 -d 0/0 --dport 161:162 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -s 0/0 --sport 161:162 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

そして、次のものを交換してください-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp --sport 161:162 -j ACCEPT

まず、このルールを使用して機能していることを確認します。

最後に気になります。これは、PCI、HIPAA、または米国政府の要件に関連していますか? :-)

関連情報