iptables を使用して、非常に単純なファイアウォールを備えているはずのサーバーをスキャンしています :デフォルトでは、RELATED
以外はすべてドロップされます およびESTABLISHED
パケット。 NEW
の唯一のタイプ 許可されるパケットは、ポート22と80のTCPパケットであり、それだけです(そのサーバーにはHTTPSはありません)。
nmapの結果 私が期待するように、最初の2048ポートでは、22と80が開いています。ただし、一部のポートは「フィルタリング済み」として表示されます。
私の質問は、ポート21、25、および1863が「フィルタリング済み」として表示され、2043の他のポートがフィルタリング済みとして表示されないのはなぜですか?
「オープン」として表示されるのは22と80だけだと思っていました。
21,25と1863が「フィルタリングされた」と表示されるのが普通の場合、他のすべてのポートも「フィルタリングされた」と表示されないのはなぜですか!?
これがnmap 出力:
# nmap -PN 94.xx.yy.zz -p1-2048
Starting Nmap 6.00 ( http://nmap.org ) at 2014-06-12 ...
Nmap scan report for ksXXXXXX.kimsufi.com (94.xx.yy.zz)
Host is up (0.0023s latency).
Not shown: 2043 closed ports
PORT STATE SERVICE
21/tcp filtered ftp
22/tcp open ssh
25/tcp filtered smtp
80/tcp open http
1863/tcp filtered msnp
2043の閉じたポートがある理由がよくわかりません:
Not shown: 2043 closed ports
2046の閉じたポートではありません。
これがlsofです サーバーで起動:
# lsof -i -n
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
named 3789 bind 20u IPv4 7802 TCP 127.0.0.1:domain (LISTEN)
named 3789 bind 21u IPv4 7803 TCP 127.0.0.1:953 (LISTEN)
named 3789 bind 512u IPv4 7801 UDP 127.0.0.1:domain
sshd 3804 root 3u IPv4 7830 TCP *:ssh (LISTEN)
sshd 5408 root 3r IPv4 96926113 TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
sshd 5411 b 3u IPv4 96926113 TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
java 16589 t 42u IPv4 88842753 TCP *:http-alt (LISTEN)
java 16589 t 50u IPv4 88842759 TCP *:8009 (LISTEN)
java 16589 t 51u IPv4 88842762 TCP 127.0.0.1:8005 (LISTEN)
(Java / Tomcatはポート8009でリッスンしていますが、そのポートはファイアウォールによってドロップされていることに注意してください)
承認された回答:
nmapの「filteredport」ステートメントは、スキャン方法によって異なります。
標準スキャン(非特権ユーザーの場合はTCPスキャン、スーパーユーザーの場合はHalf-Open scan -sS)はTCPプロトコルに依存します。 (3ウェイハンシェイクという名前)
-
サーバーがSYN/ACKと応答した場合、クライアント(ユーザー)はSYNを発行します。これは、ポートが開いていることを意味します。 !
-
サーバーがRSTと応答した場合、SYNを発行します。これは、ポートが近いことを意味します。 !
- サーバーが応答しない場合、またはICMPエラーで応答する場合は、SYNを発行します。これは、ポートがフィルタリングされていることを意味します。 。 IDS /ステートフルファイアウォールがリクエストをブロックしている可能性があります)
ポートの実際のステータスを把握するには、次のことができます:
- -sVを使用します 、または -A オプション(バージョン検出、このポートのステータスを判断するのに役立ちます。
- –tcp-flags SYN、FINを使用 fwをバイパスしてみてください。
- 他のスキャンタイプを使用する(http://nmap.org/book/man-port-scanning-techniques.html)
優れた「Nmapネットワークディスカバリー 」の作成者であるFyodorによって書かれた本は、これを非常によく説明しています。
引用します
フィルタリング済み:パケットフィルタリングによりプローブがポートに到達できないため、Nmapはポートが開いているかどうかを判断できません。フィルタリングは、
専用のファイアウォールデバイス、ルータールール、またはホストベースの
ファイアウォールソフトウェアから行うことができます。これらのポートは、
提供する情報が非常に少ないため、攻撃者を苛立たせます。タイプ3コード13(宛先に到達できません:
通信は管理上禁止されています)などのICMPエラー
メッセージで応答する場合がありますが、応答せずにプローブを単にドロップする
フィルターの方がはるかに一般的です。これにより、フィルタリングではなくネットワークの輻輳が原因でプローブがドロップされた場合に備えて、Nmapが
何度か再試行します。この種のフィルタリングは、
スキャンダウンを劇的に遅くします。open | filtered:
Nmapは、ポートが開いているかフィルタリングされているかを
判断できない場合、ポートをこの状態にします。これは、開いているポートが応答しないスキャン
タイプの場合に発生します。応答がないということは、
パケットフィルターがプローブをドロップしたか、それが誘発した応答を
示している可能性もあります。そのため、Nmapは、ポートが開いているのか、それとも
フィルタリングされているのかを確実に知りません。 UDP、IPプロトコル、FIN、NULL、およびXmasスキャンは
この方法でポートを分類します。close | filtered:
」で説明されているアイドルスキャンにのみ使用されます。
この状態は、Nmapがポートが閉じているかフィルタリングされているかを
判断できない場合に使用されます。これは、IP ID
セクション5.10「TCPアイドルスキャン(-sl)