時々、私が管理している VPS の 1 つが POP3 ログイン試行の集中攻撃を受けます。すべて失敗しますが、生成されたプロセスとアクティブな接続の数が膨大であるため、DoS 攻撃とほぼ同等です。
そのような状況が見られる場合、私は通常、iptables で問題のある IP アドレスを手動でブロックします。私が望むことサーバー上でシステム ログ (またはその他の適切な場所) を監視するプロセスを実行し、特定のパターンに一致する繰り返しログ エントリがある場合は、それらをコマンドに渡します。コマンドは、関連する部分 (この場合はリモート ホストの IP アドレス) を抽出し、コマンド (iptables に DROP ルールを追加する) を実行します。例えば同じメッセージ部分を持つログエントリが 1 分以内に 5 回記録された場合は、これを実行します。
VPS は、役に立つかもしれないので syslog-ng を実行します。iptables でレート制限を設定しましたが、これは多少は役に立ちますが、自分の接続試行を攻撃者の接続試行と同じくらいブロックするため、完璧ではありません (確立された接続を得られるのは運次第です)。接続するはずのクライアントは動的ブロックからの IP アドレスを持っているため、レート制限なしでオーバーライド ルールを追加するだけでは困難です。
VPS は Virtuozzo 上で実行されるため、ゲストへのルート アクセス権はありますが、カスタム カーネル モジュールやカスタム カーネルをロードすることはできません。そのため、ユーザー空間で実行する必要があります。
どのようなソフトウェアが役立つでしょうか?
答え1
答え2
私は OSSEC (http://www.ossec.net/) を使用しています。これはログ分析を行うだけでなく、最小限の設定でアクティブな応答オプション (iptables および hosts.deny エントリをオンザフライで追加および削除) も備えています。いくつかのデフォルト ルールがありますが、独自のルールを追加することもできます。私はこれをテストし、CentOS、Ubuntu、および Slackware マシン (物理マシンと VPS マシンの両方) で実稼働環境で使用しています。
インストールは非常に簡単です (調整、主にいくつかのルールを無視するように構成するのに時間がかかります)。これを使用してアクティブ レスポンス機能を有効にすると、通常はデフォルトで十分です。
デフォルトのブロック時間 (数分) のままにして、自分の IP (または、IP が静的ではなくサーバーによってブロックされた場合に備えて、信頼できる他のサーバーの IP) でホワイトリストを追加することをお勧めします。
また、より複雑なブロッキング管理が必要な場合は、実際のアクティブブロッキングを実行する前に、bash スクリプトなどを使用して IP アドレスをチェックおよび処理するように OSSEC を構成できます。