私は Web に面した Ubuntu Linux サーバーを持っています。このため、かなりの数のブルート フォース SSH 試行を受けます (受けない人はいないでしょう)。ログイン プロンプトに、過去 N 回の失敗したログイン試行を表示したいと思います。簡単なスクリプトを作成しました。
grep "Failed" /var/log/auth.log | tail -5
しかし、私が知りたいのは、このスクリプトの行をどこに置くかということです。シェルに依存しない場所に置く場所はありますか?
答え1
ブルートフォース攻撃に対処するために使用できるパッケージがいくつかあります。
- 拒否ホスト
- フェイル2バン
ログを収集してレポートを送信するには、logwatch を使用できます。失敗したログオンの概要も送信できます。
元の質問に答えるには、スクリプトを「/etc/profile.d/yourscript.sh」に配置し、ログイン時に実行する必要があります。
arno-iptables-firewall パッケージの設定も検討してください。
答え2
それは本当にシェルに依存します。 の場合は、ファイルbash
に配置する必要があります。.bash_login
ブルートフォース攻撃の防止に関しては、攻撃者の IP をブラックリストに登録するために既に提案されている方法とは別に、私は通常、sshd に非標準ポートを listen するように指示し、パスワード認証を無効にします。もちろん、常に可能であるとは限りませんが、確かに効果的です。
答え3
すべてを /etc/profile に配置します。
シェルの起動ファイルに移動する前に、/etc/profile 内のすべてを実行します。