私は 3 台の専用サーバーを所有しており、すべて CentOS を実行しており、物理的にはカナダにあります。
最新のサーバーでは、cPHulk が失敗したログイン試行を検出し (ブラックリストに登録し) 始めました。これはサーバーがオンラインになった日から始まりました。それ以来、cPHulk から毎日 15 ~ 30 通のメールが届き、「多数の失敗したログイン試行」があったことを知らせてくれます。
すべての試みが中国から来ていることに気づいたので、csf をインストールして中国を完全にブロックしました。数日後、攻撃は戻ってきましたが、別の国からでした。これまで、必死になって 4 か国をブロックしましたが、これは正当な解決策ではないことはわかっています。今では、それらの国からの正当なトラフィックが予想されるため、ブロックする余裕のない国から攻撃が来ています。
次のスクリーンショットのように、国に関連付けられていないと思われる IP からの攻撃も受けています。
私が使用しているパスワードは非常に強力なので、パスワードが推測されるのではないかと心配していません。
私の質問は、なぜ彼らは私のサーバーをターゲットにしているのでしょうか、そしてどうやってそんなに早く見つけたのでしょうか? 国全体をブロックせずにこれらのログイン試行を軽減するにはどうすればいいのでしょうか? また、スクリーンショットの IP はどこから来たのでしょうか?私の推測としては、どういうわけか評判の悪い IP が割り当てられたということだけですが、私のサーバー管理者としての経験と知識は限られているので、その妥当性すらわかりません。
答え1
Michael Hampton が言ったように、彼ら [TM] は誰に対してもこれを行います。彼らのスクリプトはポートでリッスンしている IP アドレスを検出し、ユーザー名とパスワードを入力して何かが機能するかどうかを確認しています。 これライブ攻撃のマップです。
メールが煩わしい場合は、代わりにログインを許可した IP をホワイトリストに登録し、ホワイトリストにないサイトから誰かがログインしたときにメールが届くようにすることができます。
スクリーンショットのIPについては、0.42.0.0:
アドレス 0.0.0.0 は、コンピュータが使用する IP アドレスを学習しているときに、送信パケットのアドレスとしてのみ使用できます。宛先アドレスとしては使用されません。「0.」で始まるアドレスは、直接接続されたデバイスへのブロードキャストに使用されることがあります。
ログに「0.」で始まるアドレスが表示された場合、そのアドレスはおそらくネットワーク上で使用されており、ホームゲートウェイに接続されたコンピューターのような小規模なものである可能性があります。
このブロックは、インターネット プロトコルを開発する組織である IETF によって標準文書 RFC 1122 で割り当てられ、ベスト カレント プラクティス文書 RFC 6890 でさらに文書化されています。このネットワークが単一の組織に割り当てられていないことを明確にするために、IANA が登録者としてリストされています。
これらの文書は次の場所にあります: 出典: http://datatracker.ietf.org/doc/rfc1122 出典: http://datatracker.ietf.org/doc/rfc6890
答え2
誰もそのことを指摘しなかったことに驚いていますが、こうした非常に一般的なブルートフォース攻撃から抜け出すための抜本的な方法は、次のようなポートノッキングデーモンを設定することです。knockd
したがって、攻撃者が特定のポートシーケンスを正しい順序でスキャンしない限り、開いている SSH ポートを見つけることさえできません。正当なユーザーの場合、多くの SSH クライアントがこれをサポートしており、ssh サーバーに接続する前に正しいポートシーケンスをトリガーできます。
しかし、明らかに、実行中の fail2ban jail と適切な find および ban 時間による非自明な認証は、ほとんどの場合に十分です。
答え3
もしそれが約だけならsshd
- 例えばここを見てくださいhttps://unix.stackexchange.com/questions/21639/internet-ssh-server-security-considerations。
ユーザー名とパスワードに頼らざるを得ず、キーは使用しません。より安全のために、sshd
非標準ポートで開始します。これにより、攻撃の約99%以上を阻止できるようです。次に、LoginGraceTime
sshd構成で、たとえば次のように設定します。つまり10
、3回の試行が失敗した後、次の試行は10秒後にのみ実行でき、接続を閉じる前に10秒間の認証試行が行われます。つまり、ブルートフォース攻撃はもう必要ありません。それ強制的です:)また、必ず設定してくださいPermitRootLogin no
。