私のWebサーバーは、さまざまなIPアドレスから絶えず攻撃を受けています。彼らは5つのパスワードを試した後、IPアドレスを変更しました。
SSHキーを使用し、パスワードを許可せず、リモートルートログインを許可しないなど、さまざまなロックを実行しました。
このような攻撃の試みを無力化するためにできることはありますか?失敗した場合に取るべき具体的な防御措置はありますか?
答え1
フォローするこのガイドライン無効なパスワードSSHログイン試行があるたびに7秒の遅延が追加されます。私はsshdを無差別代入スキャナ「tarpit」に置き換えました。
また、失敗したパスワードを記録するようにtarpit sshdを変更したことも追加する必要があります。これは、rootユーザーが通常のユーザーが間違って入力したパスワードを表示できるようにするので、完全に倫理的ではないかもしれませんが、私が唯一の「実際の」ユーザーであるため、それは大丈夫だと思います。
「タールフィット」側は誰の時間も無駄にしないので、非標準ポートでは実行しませんでした。
答え2
これは実際に人生の事実です。数回の試行失敗後にホストを攻撃する攻撃をフィルタリングするツールをインストールできます。
ホスト拒否ログファイルを分析し、自動的に/etc/hosts.deny
ファイルに攻撃者を追加します。
ニーズに合わせて設定する方法のドキュメントを確認してください。
修正する:コメントで提案されたいくつかのこと
自分自身をロックできるので、ツールがDenyHostsに正しく設定されていることを確認してください(たとえば、コンピュータやネットワークがフィルタリングされないように設定できます)。
DenyHostsはシステムセキュリティを向上させません。 IPレベルの攻撃のみをフィルタリングします(小型コンピュータの負荷を軽減し、ログファイルのサイズを減らすことはできますが、それ以上ではありません)。
答え3
少数の人だけがシステムにSSHで接続する必要がある場合は、SSHを非標準ポート(6422、8080など)に移動することを検討してください。これにより、ログイン試行回数を大幅に減らすことができます(SSHの脆弱性に基づくワームなどのパッチが適用されていない特定の攻撃からユーザーを保護することもできます)。