私のコンピュータにどのポートが開いているのか他の人が知らないようにするには、未使用のポートをすべて開いて、nmaperが実際に開いているポートを識別できないようにすることが役に立つと思いました。
nmap
スキャンでポートが開いているように見えるようにする方法
答え1
すでにネットワークのIPアドレスをスキャンしている人が利用できるLabreaがありますが、しばらくテストしていません。
labrea - 着信IP接続を試みるためのハニーポット
labreaは、指定されたIPアドレスブロックで未使用のIPアドレスの仮想マシンを作成します。 LaBreaはARP「所有者」の要求を聞いています。
特定のIPへのARP要求が「速度」設定(デフォルト:3秒)より長く応答しない場合、labreaはそのIPへのすべてのトラフィックを「偽」MACアドレスにルーティングするARP応答を作成します。 labreaはそのMACアドレスに送信されたTCP / IPトラフィックを検出し、生成されたSYN / ACKパケットですべてのSYNパケットに応答します。
Debian にインストールするには:
sudo apt-get install labrea
指定されたパブリックポートの一部で応答してアラートを提供する場合psad、私が覚えている限り、これはすべてのポートでリッスンするわけではありません。
しばらくテストしていませんが、いつでもハニーポットを実行できます。
それにもかかわらず、私の考えでは、使用されていないポートへのすべての接続を切断し、外部に公開されるサービスの数が少ないほど、攻撃経路も減らすことを好みます。
答え2
iptables
Linux では ' を使用できます。socket
iptables
ポートがTCP
使用中であることを確認するには、一致してください。結合するxtablesプラグイン~のTARPIT
Target (また LaBrea の概念を使用しています) これはどんな外観でもオープンにすることができます。未使用 TCP
自動ポートは、実際に開いているポートを通常どおりに動作させるようにします。UDP
応答しないオープンポートと削除されたポートの間に大きな違いはないので、これについては話しません(デフォルトではudpのみが削除されます)。
ルール:
iptables -N openclosed
iptables -A openclosed -p tcp -m socket --nowildcard -j RETURN
iptables -A openclosed -p tcp -j TARPIT --honeypot
iptables -I INPUT -j openclosed
注:各接続は、netfilterで使用されるconntrackエントリを生成します。したがって、このソリューションを使用すると、大量のconntrackリソースを活用できます。システムが検査を受けるのではなく攻撃を受けている場合は、この点に注意してください。TARPIT
netfilter なしで使用(使用)は可能ですが、可能かどうかはNOTRACK
分からず、とにかく上記のように簡単ではありません。socket
この--honeypot
オプションを追加すると、TARPIT
スキャン(データが送信されていない場合)が安くなり、ネットフィルタも安くなります。また、--nowildcard
ルーターの使用に適している場合と適していない場合があります(ただし、INPUT
チェーンのローカル使用には問題ありません)。