ファイアウォール ルールをテストするにはどうすればよいですか?

ファイアウォール ルールをテストするにはどうすればよいですか?

リモート サーバーでいくつかのルールを設定しufw、ファイアウォールをオンにしました。ルールが実際にトラフィックをブロックしていることを確認したいのですが、nmap -PN -p <my_port> <ip>ローカル ワークステーションから実行すると、ブロックしているポートがまだ開いているように見えます。少なくともnmap「開いている」と報告されています (正しくないようです)。サーバーで実行すると、ufw status verbose次のレポートが表示されます。

...
Status: Active
Default: deny (incoming), allow (outgoing)
To          Action   From
--          ------   ----
22          ALLOW IN Anywhere
<my_port>   DENY IN  Anywhere

これはnmapクローズ済みとして報告されるべきではないでしょうか? これらのルールを正しくテストするにはどうすればよいでしょうか?

答え1

ルールが機能するかどうかをテストする方法:telnet host port

タイムアウトした場合 (またはファイアウォールが拒否するはずの応答があった場合)、接続は確立されません。つまり、ファイアウォールはトラフィックを希望どおりにブロックしていることになります。ルールが機能しない場合は、何らかの応答が表示されます。100% の状況で機能するとは限りませんが、自宅で誰かが行う通常の作業には十分です。

答え2

出力から:デフォルトではufwすべての着信トラフィックを拒否し、ポート22を開いて許可したと書かれています。テストでは、すべきポート 22 は開いているため、ポート経由で SSH 接続できます。他のポートにアクセスしようとすると、ポートは閉じられ、拒否されます。

関連情報