web-dev-qa-db-ja.com

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

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に応答しますか?

9
user3125731

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
18
jornane
-A INPUT -p tcp -m tcp --dport 995 -j REJECT --reject-with tcp-reset

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

9
Sven