Linuxサーバー上のsshおよびFTPに対するブルートフォース攻撃を防ぐための最良のツールは何ですか?
みんなの好みではありませんが、sshdへの自動プローブを大まかにブロックするDenyHostsが本当に好きです:
http://denyhosts.sourceforge.net/
私はそれを非常に妄想的なモードで使用します。トリップすると、SSH:1だけでなく、ALL:プレフィックスが付いたhosts.denyのエントリが取得されます。必要に応じて、denyhostsが定期的に拒否リストを削除できるようにすることができます。
Fail2banをチェックしてください。 http://www.fail2ban.org/wiki/index.php/Main_Page http、ftp、stmpサーバーなどへのブルートフォース攻撃を防ぐのに非常に便利です。
SSHの場合、ヒント:
-PermitRootLoginを設定しません
-MaxStartups1を設定します
-MaxAuthTriesを3(またはそれ以下)に設定
パスワード認証用です。必要なユーザーのみが利用できる適切なパスフレーズを持つ公開鍵を使用したRSAAuthenticationを使用したブルートフォース攻撃を回避します。
また、SSHに使用されるデフォルトのポートを変更し、使用可能な空き範囲で22とは異なる別のポートを使用し、iptablesを設定してトラフィックをフィルタリングします。
まず、モジュールが存在するかどうかを確認します/lib/security/pam_tally2.so
ブルートフォース攻撃からユーザーを保護するには:次に、/etc/pam.d/system-auth
を編集します。
最後の行に追加します。
auth required pam_tally2.so deny=3 unlock_time=3600
account required pam_tally2.so
別の端末を開き、ユーザー名と間違ったパスワードを使用して確認してください。
特定のユーザーをロックするには:/etc/pam.d/system-auth
を編集し、最初の行にeven_deny_root
を追加します。
auth required pam_tally2.so deny=3 unlock_time=3600 even_deny_root
account required pam_tally2.so
別の端末を開き、ユーザー名と間違ったパスワードを使用して確認してください。
ノート:pam_tally2
->このコマンドは、障害レコードの数を保存するために使用されますpam_tally2 -u kannan
-> kannanユーザーの失敗レコードのみを表示pam_tally2 -u username –r
->手動でロックされたユーザーをリセット
「DNSレベルからドメインを保護することも検討できます。CloudFlareのようなもの」
Webトラフィック(80や443などのポート)でのみ機能するため、実際にはこれらのポート(SSH、ftp)でトラフィックをプロキシすることはできません。 Dome9 のようなものを見たいと思うかもしれません。
Iptablesを使用して、必要なポートのレート制限を行うこともできます。それは非常に柔軟です。
私は [〜#〜] ossec [〜#〜] を使用していますが、これはインストールと構成がそれほど難しくありません。
ドメインをDNSレベルから保護することも検討できます。 CloudFlare または Incapsula のようなもの。
どちらも無料プランを提供していますが、最終的にはサービスに対して支払いが行われます。
私は自分のウェブサイトに無料サービスを利用しています。すべての攻撃をブロックするわけではありませんが、セキュリティの層がすべてです。
netfilterの「最近の」モジュールを使用して、カーネルレベルでつぼみに挟みます。また、このソリューションはアプリケーション固有ではありません(つまり、アプリケーション構成に依存しません)
http://blog.andrew.net.au/2005/02/16 を参照してください
私自身は使ったことがありませんが ssh guard 面白そうです。