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、または米国政府の要件に関連していますか? :-)