Security Center の Anti brute force cracking を使ってインターネットからの Brute Force 攻撃のリスクを軽減します。
このWeb サイトは インターネットに対して port 22 をOpen にしています。 直近1週間で 5,000 を超える SSH Brute Force 攻撃を受けています。 攻撃と言ってもよくあるID / Password の組み合わせで接続を試行してくるだけですので、自宅に怪しい訪問販売が来るレベルでそんな攻撃と言えるものでもありません。 まあ、意図的に狙われて5,000 / 秒 レベルでSSH 接続や TLS 接続されるとDoS 攻撃になるでしょうが。
Security Center の良いところは攻撃を上記の通り可視化し、また、その対処方法もわかりやすい形で教えてくれることです。 どれ位簡単に設定できるか実際の画面を使って紹介します。
ダッシュボード(Overview) の”Fix Now”をクリックします。
“Anti brute force cracking” について “Process Now” をクリックします。
“Add” をクリックします。
ここでルールを定義します。以下は既定の状態です。
以下のとおり変更します。 10分間で80回の認証失敗で6時間その接続元からアクセスを禁止するというルールです。 若干甘い気もしますがまずはこのままで進めます。 あと対象のサーバも指定します。
ルールが追加されました。
数時間様子見を見たのですがブロックされません。条件が緩すぎたようです。 既定の10分間で80回のログイン試行から10分間で5回の試行へ変更します。
一晩明けて確認するとそれなりにブロックされるようになりました。 このあと条件はもう少しカスタマイズしています。 傾向をみていると数分間に1回といった頻度でのBrute force 試行をするケースがあるため。
接続元のIPをみると 222.186.X.X/16 が多いように見えます。中国からですねw。少数の110.88.160.179も49.88.112.55 も中国からですが。
設定は以上です。 簡単です。 攻撃は0になることはないでしょうが何割かは減らせることでしょう。 無駄なトラフィックを減らすことや無駄なCPUやメモリリソースを減らすことも期待できます。 まあ、SSHセッションの5,000 / 週の影響は微々たるものですが。 本当は Alibaba Cloud のSecrurity Group でSSH をブロックし、接続する時だけOpen するのが間違いないのですがSecurity Center の機能を確認する為にあえてOpen にしています。