誰かがブルートフォースでSSH経由でUbuntu 12.04サーバーにログインしようとしているかどうかを確認したいと思います。そのような活動が行われているかどうかを確認するにはどうすればよいですか?
すべてのログイン試行は/var/log/auth.log
に記録されます。
ターミナルを開き、以下を入力します。 1ページより長い場合は、上下にスクロールできます。 q
と入力して終了します。
grep sshd.\*Failed /var/log/auth.log | less
これが私のVPSの1つの実際の例です。
8月18日11:00:57 izxvps sshd [5657]:95.58.255.62ポート38980 ssh2 8月18日23:08:26 izxvps sshd [5768]からのルートのパスワードの失敗91.205.189.15ポート38156からのルートssh2 Aug 18 23:08:30 izxvps sshd [5770]:91.205.189.15ポート38556 ssh2 Aug 18 23:08:34 izxvpsからの誰もがパスワードの失敗sshd [5772]:91.205.189.15ポート38864からの無効なユーザーアスタリスクのパスワードに失敗しましたssh2 Aug 18 23:08:38 izxvps sshd [5774]:91.205.189.15ポート39157 ssh2 8月18日23:08:42 izxvps sshd [5776]:91.205.189.15ポート39467 ssh2 からのルートのパスワードの失敗
次のコマンドを使用します。
grep sshd.*Did /var/log/auth.log | less
例:
8月5日22:19:10 izxvps sshd [7748]:70.91.222.121 Aug 10 19:39:49 izxvps sshd [1919]から識別文字列を受信しませんでした:識別文字列を受信しませんでしたfrom 50.57.168.154 Aug 13 23:08:04 izxvps sshd [3562]:87.216.241.19 Aug 17 15:49:07 izxvps sshd [5350]:から識別文字列を受信しませんでした211.22.67.238 Aug 19 06:28:43 izxvps sshd [5838]:59.151.37.10 から識別文字列を受信しませんでした。
特にアカウントに弱いパスワードを持っている場合、ログの監視は弱いソリューションであると主張します。総当たり攻撃は、多くの場合、1分あたり少なくとも数百のキーを試行します。総当たり攻撃をメールで送信するようにcronジョブを設定していても、サーバーに到達するまでに数時間かかる場合があります。
fail2ban
を強くお勧めします。 彼らのウィキ は、私ができる以上に良いことを言っています。
Fail2banは、ログファイル(例:
/var/log/Apache/error_log
)をスキャンし、悪意のある兆候を示すIPを禁止します。パスワードの失敗が多すぎる、エクスプロイトを探します。ただし、他の任意のアクション(電子メールの送信、CD-ROMトレイの取り出しなど)も設定できます。すぐに使えるFail2Banには、さまざまなサービス(Apache、curier、sshなど)用のフィルターが付属しています。
それから保護を取得するのは、Sudo apt-get install fail2ban
と同じくらい簡単です。
デフォルトでは、誰かが3回失敗するとすぐに、そのIPは5分間禁止されます。この種の遅延は基本的にSSHブルートフォースの試みを停止しますが、パスワードを忘れても1日を台無しにすることはありません(しかし、とにかくキーを使用する必要があります!)