
Rustによる自動化ネットワークセキュリティ:ポートスキャナの検出とブロック
このツールは、Linuxカーネルのnfnetlink_queue機能の能力を実証することを目的としています。
より詳細な情報については、この記事をお読みください。
パケットがカーネルによってドロップされる前に、それらはさらなる処理のためにこのツールに送信されます。 リモートピアがマシン上の多数のクローズドポートに到達しようとした場合、そのIPアドレスのドロップステートメントをネットワークスタックの非常に早い段階(パケットのデフラグメンテーションや接続追跡が行われる前)に挿入することで、自動的に禁止されます。
禁止されたIPは、一定時間経過後に自動的に禁止が解除されます。これは、以下のような場合に役立ちます:
このツールを動作させるには、nftablesの入力チェーンの最後に次のステートメントを追加する必要があります:
queue num 0-3 fanout
その後、nftablesサービスを再起動します:
sudo systemctl restart nftables
このツールをソースからインストールするには、安定版のRustツールチェーンがインストールされている必要があります。そのためにrustupを使用できます。
次に、以下のコマンドを実行します:
make
sudo make install
set機能を活用して、禁止されたIPのルックアップを高速化します。