web-dev-qa-db-ja.com

iptablesのレート制限を使用してFTPサーバーのブルートフォース攻撃を一時的にブロックできますか?

これは、ブルートフォース攻撃に関する他の投稿と同様の方針ですが、もう少し具体的です。

一般的に、適切なパスワードを適用することができます。また、ユーザー名ポリシーは、ブルートフォースFTPのものの99.9%が試みているものの餌食になることも回避します...しかし、何千もの試行を際限なく許可する理由は見当たらず、場合によっては可能です。ログファイルを大量のノイズで埋めて、よりターゲットを絞った可能性のあるものを見つけるのを難しくします。

したがって、パッシブFTPの場合、着信TCP 21のiptablesでの適切なレート制限は、通常の使用の邪魔になることなく、失敗した大量の試行を遮断するのに合理的に効果的でしょうか?これは、同じIPからTCP 21 ..へのレート制限接続を介して行われると思います。それは正しいですか?そこで考えていない問題はありますか?

次に、次に;要塞ファイアウォール/ルーターでの単純なiptablesコマンドを使用して、最も激しく/最も速く攻撃するブルートフォース攻撃から保護するために何を提案しますか?私の考えは、25接続のトリガーに沿ったものです(ログインが成功すると、1分以内にTCP 21)への単一の接続のみになるという原則に基づいて、その後、 30分ブロックします。これらの数値は妥当と思われますか?

(その他の情報:これは、混合OSのDMZ)を保護するDebianファイアウォール/ルーター用です)

2
Andrew Barber
iptables -A INPUT -p tcp -m state --state NEW --dport 21 -m recent --name ftpattack --set
iptables -A INPUT -p tcp --dport 21 -m state --state NEW -m recent --name ftpattack --rcheck --seconds 60 --hitcount 4 -j LOG --log-prefix 'FTP REJECT: '
iptables -A INPUT -p tcp --dport 21 -m state --state NEW -m recent --name ftpattack --rcheck --seconds 60 --hitcount 4 -j REJECT --reject-with tcp-reset

これらのルールルールセットの近くまたは上部は、60秒のローリングウィンドウで、任意のIPアドレスからポート21への3つの接続のみを許可します。 nを許可するには、--hitcount n+1;を使用します。 60秒よりも大きなウィンドウを使用するには、--seconds 60を増やします。

5
MadHatter

MadHatterが述べたように、最近のモジュールが使用したいものですが、ユーザーが1回のTCP接続で試行できるログイン試行回数を制限できる必要もあります。ユーザーは、切断と再接続を強制される前に1000回の試行を試みることができ、最近のモジュールを介した接続の制限はほとんど役に立ちません。ユーザーは(FTPデーモンの構成を通じて-そのドキュメントを参照してください)ユーザーのみが許可されていると言う必要があります。接続ごとに5回ログインしてから、最近のルールを使用して、接続が多い場合は1分以内に5回と言ってから、ブロックします。はい、25回の試行を許可すると、高音に聞こえますが、ブルートフォースには十分ではなく、回避に役立ちます。多くの誤検知。SSHとOpenSSHサーバーオプションMaxAuthTriesでこれと同様のルールを使用しています。これがお役に立てば幸いです。

1
user39668

Denyhostsを使用してください... 3回のストライキ-あなたのアウト!

それは魅力のように機能します。

または..もっとハードコア..Snort/IDSを備えた専用ファイアウォール

お役に立てれば

0
Arenstar