Azure FrontDoor Service を使って、このサイトを少しセキュアにしてみたよ

Azure

こんにちは。

今回は、このサイトを Azure FrontDoor Services の WAF を有効にしたお話です。

なんかこのサイト最近遅かったんですよねー。

 

今回の設定変更の経緯

このサイトは、Azure の App Service Plan の Premium 2V2 を使っているのでそこそこ早いはずなんですけど、CPU が 100% 張り付きとかたまに起きててすんごいもっさりしてたんです。

そんで、リクエストがどんな感じかなーってみたら、UK と US からなんか異常な量のリクエストが来ていたので、なんかアタック受けちゃってるのかなーって思ったんです。

でも、このサイトにアタックしても何もないんですけどね~。

こんな感じ。これが普通にアクセスされていて、広告表示されていたら Adsense はいくらになるんだろ。。。。
(でも、HTTPエラー500をほぼ出さずに稼働してるから、意外と頑張ってる気もするかも。)

Azure FrontDoor Service のログをみたら、WordPress のログイン画面などにアクセスされているログがあったので、WAF を Detection(検出)モードから、Prevention(防止)モードに変えてみようって思いました。

ついでに、他にもやってなかった横入り防止とかもしてみたりして。

 

ちなみに、この設定をする前は、以下の記事の設定のままでしたw

GA された Azure Front Door Service で WAF 対策(パブリックプレビュー)を設定してみたよ
こんにちは。 Azure Front Door Service が GA されましたね。 GA と同じ日に、WAF 機能のパブリックプレビューもアナウンスされたので、このサイトに設定してみました。 ちなみに、今回の設定は次のドキュメントに記...

 

設定したこと

横入り防止

ひとまず、横入り防止しました。

どのルートでアクセスがあるか絞りたかったので。

ドキュメントとしては、この辺ですね。

Azure Front Door - Frequently asked questions
This page provides answers to frequently asked questions about Azure Front Door.

 

設定は、Web Apps で設定するだけです。

 

これでこんな感じになりました。

 

Azure FrontDoor Service の WAF の設定変更

Post の通信の Block

横入り対策をしてもあまり結果が変わらなかったので、ひとまず、WAF のモードを検知モードから予防モードに変えました。

これを行うことで、login.php に post が投げられてるのがいくつかあったので、その部分を Azure FrontDoor Service でリジェクトしちゃおうっていう作戦です。

 

すでに細かな設定はされていたので、今回行った変更は、下記の1箇所だけです。

この辺の設定は、以下のドキュメントを読みましょう。

Policy settings for Web Application Firewall in Azure Front Door
Learn about policy settings for Azure Web Application Firewall in Azure Front Door.

 

ただ、これだと WordPress のログイン画面で WAF が効いちゃうので、自分がログインできるための穴を作らないといけません。

今回は、Azure VM に Public IP を Static にもって、その VM からWordPress に接続するルールにしました。

 

Get の通信に対しての対策

これは、Azure FrontDoor Service のキャッシュ機能を使っているので、ある程度の負荷には耐えられるはずです。

でも、キャッシュに入らないようなところを狙われたらこの限りじゃないですよね。

ということで、同じクライアントから一定期間に一定量を超えるアクセスがあった場合、WAF でブロックするルールを追加しました。

こんな感じで。

 

あと、ログを見ていたらある IP からアクセス数が他と比べると異常に多かったので、その IP をブロックしました。

 

こんな感じで、ログを確認して。(ただ、たまたま複数のコンテンツを見ただけかもなので、IPは隠しとこっと)

 

WAF で、こんなルールを追加しました。

まとめ

ということで、ひとまず思い付きで、WAF 周りの設定をしてみました。

これでしばらく置いてみて、状況が変化しなかったから別の対策をしようと思います。。

 

でも、次になんかするときは、ログを取って原因を分析してからじゃないとわからないしなぁ~。

 

あと、今使っているテーマがそこそこ重いんだろうな~ってのも感じたし、そろそろ飽きてきたから、別のテーマにしてみようかな~笑

コメント

タイトルとURLをコピーしました