ここで問題が発生しています。IPtablesルールに次のように追加しました。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 161 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT
しかし、nmapまたは他のツールでスキャンすると、次のように表示されます。
Not shown: 998 filtered ports
PORT STATE SERVICE
22/tcp open ssh
161/tcp closed snmp
私がしているときも:
netstat -apn | grep snmpd
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 3669/snmpd<br>
udp 0 0 0.0.0.0:161 0.0.0.0:* 3669/snmpd<br>
unix 2 [ ] DGRAM 226186 3669/snmpd
また:
service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:161
5 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:161
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
7 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-Host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-Host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
何が起こっているのか分かりますか?クローズ/オープン状態のUDPはありません。私は何をしなければなりませんか?
デフォルトでは、snmpd
はすべてのインターフェイスでUDPポート161をリッスンします。 TCPを使用する場合は、snmpd.conf
または/etc/default/snmpd
で構成する必要があります。
nmap
がポート161を「フィルタリング」ではなく「クローズ」と見なすという事実は、TCPポート161に何も返さずに接続しようとしたときに、代わりにRST
パケットを取得したことを意味します。 IPTablesルールが正常に機能していること。