web-dev-qa-db-ja.com

SSHパスワードログインを無効にしてfail2banを使用する理由はありますか?

LinodeがホストするUbuntuサーバーをセットアップしています。

私は彼らのセキュリティガイドをステップスルーしていて、パスワードベースのSSHログインを無効にした後にfail2banをインストールすることを勧めています。

SSHキーで辞書攻撃が不可能な場合、fail2banをインストールしても意味がありません。

ここで何かが足りませんか?

8
dbasch

考えられる唯一の利点は、「攻撃」IPが「悪者」または侵害されたマシンであり、とにかく彼らと話をしたくないことを知っていることです。彼らは他のプロトコルを試す可能性があります。開いているものがない場合は、心配する必要はありません。

帯域幅がわずかに減少する可能性があります。それは間違いなくあなたのログのスパムを減らすでしょう(私はこの理由で私のSSHポートを2222に変更します;しかしあなたがボックスにアクセスする管理者の小さなグループがいない限りその戦術をお勧めしません)。

SSHキーを推測することは技術的には可能ですが、それが起こると考えるのはまったく非現実的です。 SSHキーを数年ごとに変更することをお勧めします(「現在の」テクノロジを使用していることを確認し、システムに関するドキュメントを確認するため)。

3
Chris S

ボットネットは、しばらくの間到達不能としてあなたをマークします(そして数時間/日で再び攻撃を開始します)。したがって、リンクのトラフィックは減少しますが、とにかくそれほどではありません:)それは私の経験ですが、私はfail2banを使用していませんが、単純なiptablesルールを使用しています

-N SSH
-A INPUT -j SSH
-A SSH -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource
-A SSH -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 240 --hitcount 5 --rttl --name SSH --rsource -j DROP
-A SSH -p tcp -m tcp --dport 22 -j ACCEPT
3
Ency

Fail2banは、sshブルートフォース攻撃だけのものではありません。 Apache、Postfix、Dovecot、またはFail2banでサポートされているその他のサービスがある場合は、それらのサービスを保護できます。

特定のニーズに一致する独自のフィルターとルールを作成することもできます。たとえば、失敗したログイン試行をファイルするためにログを記録するJava webappは、過去5分間に10回の再試行ごとにIPを禁止できます。 1時間禁止します。

したがって、sshが無効になっている場合でも、fail2banを使用する理由はさまざまです。

2
JorSol