最近、IPv6接続を備えたいくつかのサーバーで作業する必要がありましたが、fail2banがIPv6をサポートしておらず、denyhostsもサポートしていないことに驚きました。グーグルで検索すると、人々は一般的に次のことをお勧めします。
これまでに収集したものから、IPv6でのアドレスの禁止はIPv4の場合とは少し異なります。これは、ISPがユーザーに単一のアドレス(/ 128)ではなく、サブネット全体(現在は/ 48)を提供するためです。したがって、単一のIPv6アドレスを禁止することは、攻撃に対して効果がありません。攻撃の検出時にip6tablesとsshguardブロッキングサブネットについて高低を検索しましたが、情報を見つけることができませんでした。
sshguardがIPv6攻撃でサブネットを禁止しているかどうか誰か知っていますか?
IPv6攻撃でサブネットを禁止するためのip6tables構成を作成する方法を知っている人はいますか?
または、誰かが私がすでに見つけたものよりも攻撃を軽減するより良い方法を知っていますか?
PS:システムでCentOS7を使用しています。
サーバーを攻撃するには、攻撃者はまずそのIPアドレスを知っている必要があります。 IPv6では、選択するアドレスが多すぎるため、IP範囲をスキャンして正しいアドレスを見つけることはできません。
つまり、インターフェイスに2つの異なるIPv6アドレスを割り当てるだけです。サイトのドメイン名が常に同じIPアドレスをポイントするようにし、sshdが新しく割り当てられたIPアドレスでのみリッスンするようにします。
その変更後、サイトのドメイン名とIPアドレスを知っていても、攻撃者がsshdにアクセスすることはできません。
もちろん、sshを使用して接続するときに使用する2次ホスト名が必要です。そのホスト名は、IPv6アドレスよりもはるかに多くのエントロピーを持つことができます。 63文字の英数字を使用する場合、sshのホスト名を推測することは考えられません。
誰かがsshdに使用されているIPv6アドレスを見つけた場合は、sshdを新しいIPv6アドレスに移動して、AAAAレコードを更新するだけです。それから彼らは最初からやり直す必要があります。
正当なsshユーザーがホスト名やIPアドレスを漏えいするのではないかと心配している場合は、sshでアクセスするユーザーごとに異なるホスト名を作成できます。最初は、更新するAAAAレコードが1つだけになるように、それらすべてを単一のホスト名にCNAMEします。