Linuxサーバーのセキュリティ、特にブルートフォース攻撃とfail2banとカスタムiptablesの使用に関するコミュニティの頭脳を取り上げたいと思います。
似たような質問がいくつかありますが、どれも私の満足するトピックには対応していません。手短に言えば、ブルートフォース攻撃からインターネットに公開されているLinuxサーバー(通常のサービス、ssh、web、メールを実行している)を保護するための最良のソリューションを決定しようとしています。
私はサーバーのセキュリティにまともなハンドルを持っています。つまり、ルートまたはパスワードのログインを許可しない、デフォルトのポートを変更する、ソフトウェアが最新であることを確認する、ログファイルをチェックする、特定のホストのみがサーバーにアクセスできるようにすることでsshをロックし、セキュリティを利用する一般的なセキュリティコンプライアンスのためのLynis(https://cisofy.com/lynis/)などの監査ツールなので、入力やアドバイスはいつでも歓迎しますが、この質問は必ずしもそれに関するものではありません。
私の質問は、どのソリューションを使用するか(fail2banまたはiptables)、それをどのように構成するか、または両方の組み合わせを使用してブルートフォース攻撃から保護するかです。
トピックに関して興味深い応答があります(Denyhosts対fail2ban対iptables-ブルートフォースログオンを防止する最善の方法?)。私個人にとって最も興味深い答えは(https://serverfault.com/a/128964)であり、ログファイルを解析するためにユーザーモードツールを使用するfail2banとは対照的に、iptablesルーティングはカーネルで発生します。Fail2banはもちろんiptablesを使用しますが、アクションを実行するまで、ログファイルを解析してパターンを照合する必要があります。
次に、iptablesを使用し、レート制限(https://www.rackaid.com/blog/how-to-block-ssh-brute-force-attacks/)を使用してIPからのリクエストを一定期間ドロップすることは理にかなっていますか接続しようとしていたプロトコルに関係なく、特定の期間中に接続試行が多すぎる時間の割合 もしそうなら、ここでそれらのパケットにドロップと拒否を使用することについていくつかの興味深い考えがあります(http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject)、それについての考えはありますか?
Fail2banでは、デフォルトの構成では対応できない可能性のあるサービスのカスタム「ルール」を記述できる形式でカスタム構成が可能です。インストールと設定は簡単で強力ですが、xの量を超えてサービス/プロトコルで2回失敗した場合、サーバーからIP を「ブロック」するだけで済むとしたら、やりすぎかもしれません。時間の?
ここでの目標は、毎日のログウォッチレポートを開くことであり、サーバーへの接続に失敗したページをスクロールする必要はありません。
お時間をいただきありがとうございます。