不要なポートがフィルターされたものとして報告されないようにiptablesを構成する方法


9

nmap標準スキャンでフィルタリングされたポートが他のユーザーに表示されないようにしたい(非特権)。次のポートを開いているとします。22、3306、995、およびファイアウォールは次のように構成されています。

-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p tcp -m tcp --dport 995 -j DROP

これはnmapスキャンの結果です:

[+] Nmap scan report for X.X.X.X

    Host is up (0.040s latency).
    Not shown: 90 closed ports

    PORT     STATE    SERVICE
    22/tcp   filtered ssh
    995/tcp  filtered pop3s
    3306/tcp filtered mysql

サーバーがSYNのRSTに応答しなかったため、これらのポートはフィルターされたものとして表示されます。この動作を変更する方法はありますか?例:iptablesファイアウォールがポートをブロックする場合、サイレントのまま(何も応答しない)ではなく、RSTをSYNに応答しますか?

回答:


18

DROPは使用しないでください。ボックスが稼働していることがわかっている場合は、「フィルター済み」と簡単に識別できます。代わりに、以下を使用してRSTを送信できます。(リッスンしているサービスがあるかのように、それはあなたからの接続を受け付けません)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT --reject-with tcp-reset

または、次のコードを使用して、ポートが閉じているように見せます。(それを聞いているサービスがないかのように)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT

9
-A INPUT -p tcp -m tcp --dport 995 -j REJECT --reject-with tcp-reset

あなたが望むことをしているはずです(RSTで返信してください)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.