IPv6でのSSHブルートフォース攻撃のブロック


10

最近、IPv6接続のあるサーバーを使用する必要があり、fail2banがIPv6をサポートしておらず、denyhostsもサポートしていないことを知って驚いた。グーグルで検索すると、人々は一般的に次のことをお勧めします:

  • IPv6を介したsshログインの非アクティブ化(私にとっては解決策ではありません)
  • サーバーで秘密鍵/公開鍵認証のみを使用し、パスワード認証を使用しない(機能しますが、攻撃が多いとサーバーの処理能力が高くなるか、DDoSを実行することでサーバーを使用できなくなる可能性があります)
  • ip6tablesを使用して、同じIPからの連続した攻撃をブロックする
  • IPv6をサポートするsshguardの使用

これまでに収集したものから、IPv6でのアドレスの禁止はIPv4での禁止とは少し異なります。これは、ISPがユーザーに単一のアドレス(/ 128)ではなく、サブネット全体(現在/ 48を持っている)を提供するためです。したがって、単一のIPv6アドレスを禁止することは、攻撃に対して効果がありません。私はip6tablesとsshguardブロッキングサブネットの攻撃の検出について高低を検索しましたが、何の情報も見つけることができませんでした。

sshguardがIPv6攻撃のサブネットを禁止するかどうか誰か知っていますか?
誰かがIPv6攻撃でサブネットを禁止するためのip6tables設定を行う方法を知っていますか?
または、誰かが私がすでに見つけたものよりも攻撃を軽減するより良い方法を知っていますか?

PS:私はシステムでCentOS 7を使用しています。


3
IPv6サポートを追加するfail2banの詳細については、github.com/ fail2ban / fail2ban / issues / 39をご覧くださいサブネットブロッキングの問題に直面しているようです。これにより、さらに実装が遅れます(実際には、遠く離れているようです...)。
ジョンWHスミス

iptablesのレート制限/禁止ルール。そのためにあなたの質問を変更してください。

これは架空の問題ですか?私はいくつかのサーバーからのブルートフォース攻撃のログを探していましたが、それらはすべてIPv4で試みられました。また、サーバー側でパスワード認証が無効になっている場合に、このような試みが原因でサーバーが過負荷になることはありません。
kasperd

1
@kasperd IPv6で1日に数千回の試行があったので、いいえ、それは架空の問題ではありません。サーバーアドレスは、サイトをホストしているためパブリックであり、非常に大きな問題です。
DarthRevan13

@ user123418質問のタイトルは今のところそのままにしておきますが、ip6tablesのルールと比較して、sshguardのようなものを制御したいのです。次の週にだれも答えない場合は、質問を変更します。
DarthRevan13

回答:


4

サーバーを攻撃するには、攻撃者はまずそのIPアドレスを知っている必要があります。IPv6を使用すると、選択するアドレスが非常に多くなるため、IP範囲をスキャンしても正しいアドレスを見つけることができません。

つまり、インターフェイスに2つの異なるIPv6アドレスを割り当てるだけです。サイトのドメイン名が常に同じIPアドレスをポイントするようにし、sshdが新しく割り当てられたIPアドレスでのみリッスンするようにします。

その変更後、サイトのドメイン名とIPアドレスを知っていても、攻撃者がsshdにアクセスすることはできません。

もちろん、sshを使用して接続するときに使用するセカンダリホスト名が必要です。そのホスト名は、IPv6アドレスよりもはるかに多くのエントロピーを持つことができます。63文字の英数字を使用する場合、sshのホスト名を推測することは考えられません。

誰かがsshdに使用されているIPv6アドレスを見つけた場合は、sshdを新しいIPv6アドレスに移動して、AAAAレコードを更新するだけです。その後、彼らはすべてをやり直す必要があります。

正当なsshユーザーがホスト名やIPアドレスを漏えいするのではないかと心配している場合は、sshでアクセスするユーザーごとに異なるホスト名を作成できます。最初は、更新するAAAAレコードが1つだけになるように、それらすべてを単一のホスト名にCNAMEします。


私が現在持っているものよりは良いように聞こえますが、私が探していたものとはかなり異なります。とにかくありがとう。
DarthRevan13

0

良いニュースは、fail2banが最近IPv6のサポートをリリースしたことです。

Debian IPv6サーバーの場合、このチュートリアルに従うことをお勧めします。

CentOS IPv6サーバーの場合、ここからダウンロードしてから、バージョン番号を置き換えてこれらのコマンドを実行することをお勧めします。

tar xvfj fail2ban-0.11.0.tar.bz2
cd fail2ban-0.11.0
python setup.py install

sshdのjailが/etc/fail2ban/jail.localで有効になっていることを確認します。次に例を示します。

[sshd]
enabled=1

1
fail2banのメンバーが行ったことに感心しますが、それでもまだ十分ではありません!すべての機能は、その変更履歴に応じたIPv6プロトコルによってサポートされるわけではありませんgithub.com/fail2ban/fail2ban/blob/0.10/ChangeLogとサブネットの禁止のためのサポートはまだありませんgithub.com/fail2ban/fail2ban/issues/927ために重要ですどのISPも1つのIPv6アドレスだけを顧客に提供するのではなく、サブネット全体を提供するため、IPv6。これが本当である限り、プロダクションマシンでfail2banを使用する必要はありません。このページは多くの人がアクセスするため、これを反映するように回答を変更してください。
DarthRevan13
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.