バックグラウンド。
私は、ハニーポット展開で使用されるファイアウォール/NAT デバイスを構築しています。簡単に言えば、ある種のリバース ファイアウォールとして機能するように構成されています。ハニーポットの 1 つが感染または侵害されると、ファイアウォールは攻撃者によるアウトバウンド接続を許可しますが、アウトバウンド接続は、特定の制限内の特定のポート セットに制限され、特定の数の接続のみに制限されます。ファイアウォールがこれらの制限を超えるトラフィックを検出すると、一定期間パケットのドロップを開始します。ハニーポットから発信されたすべてのトラフィックは、悪意があると見なされるため、ログに記録されます。
問題。
ハニーポットは、攻撃者が DDoS 攻撃を仕掛けるためによく使用されます。平均して、このトラフィックの 97% がファイアウォールによってブロックされ、そのすべてがログに記録されます。問題は、それが aropx を生成することです。毎秒 90000 エントリであり、これらの攻撃は 10 分から数時間続く可能性があります。このすべてがログに記録されるため、かなり大きなログ ファイルが生成されます。
現在の回避策。
ファイアウォール ログを 60 秒ごとにローテーションすることでこの問題を回避しようとしましたが、これはログ サイズにのみ影響します。logrotate が最大数のログを作成すると、1 回の DDoS 攻撃によるログの負荷が発生するだけです。ログ ファイルを保持する専用のハード ドライブを追加し、ログのローテーションを増やしました。
質問。
残念ながら、これは「ケーキを保持する/ケーキを食べる」状況です。特定の時点でトラフィックのログ記録を停止するように iptables に指示しながら、できるだけ多くのログを記録したいと考えています。
エントリをログ ファイルに書き込むように iptables を構成する方法はありますが、同じエントリが最後の 1 秒間に N 回書き込まれた場合、残りのログは記録されなくなりますか?
ロギング機能に「レート制限」などはありますか?
この問題を解決する他の方法はありますか?