LINEで送る
Pocket

ワフワフ。😆

そんなわけてAWS使ってる人はマストでWAFを導入したほうがいい!!
と思ってしまうほど気楽にDos攻撃を防ぐ環境が出来上がります。
今回は簡単に設定方法をブログします。


■Protect Web Sites & Services Using Rate-Based Rules for AWS WAF

https://aws.amazon.com/jp/blogs/aws/protect-web-sites-services-using-rate-based-rules-for-aws-waf/

レートベースのルールを適用すると、同一IPアドレスからの大量リクエストをブロックできます。
DDoS攻撃やブルートフォースアタックといった攻撃からの防御がめちゃくちゃ簡単にできるわけですな。

・5分間に同じIPから指定回数を超えるトリガー
・条件(Condition)との組み合わせが可能
・条件を指定しない場合には全てのリクエストが対象


■AWS WAF & Shield >Create rule

とりあえずruleを作成しましょう。
Rate limitは2000がデフォルトなので、
5分間にリクエストが来た場合に自動的にブロックしてくれます。
上記のように設定してくださいな。😁
※ちなみにRate limitは1分間で1000などのカスタマイズはできないので注意!


■Web ACLs > Create web ACL

 

ここでは先程作ったruleにWebACLを紐付けます。
今回はconditionsの設定はデフォルトで、対処のサーバのELBを
指定してるだけです。ちなみにActionCountにすると、
BlockせずにアタックしてきたIPを確認することができます。
よしアタックテストします!😁


■Go Attack!!!

・Now status

ちゃんと200帰ってきてますな。

・AB Test!

😜!!!!!!!!!!!!!!!

ApacheBench3000リクエストを投げて403が帰ってくればOK!😆
ちなみにインスタンスタイプはスケールアップしました(負荷で503になってしまうため)

・curlでステータスコードを確認

アクセスログもダーッと来て403になりましたな。

Web ACLの管理画面からBlockされてますね!
数分後に自動で解除されました。


■CloudWatch x Slack

http://blog.serverworks.co.jp/tech/2016/02/16/lambda-cloudwatch-alarm-to-slack/

あとはCloudWatchのアラームをSlackに通知するようにすればOK!

https://github.com/RVIRUS0817/waf_block-ip

・Lambda
・IAM
・SNS
・CloudWatch
・Python 3.6.2

どのIPから来ているのかもLambdaで検知すると尚良い!!


■まとめ

もっと細かく設定するにはconditionsで可能なので、
あとでセットアップしてみます!
にしても簡単にWAF導入できますな😆

参考:
https://techblog.recochoku.jp/4070

LINEで送る
Pocket

カテゴリー: AWSDDoS

あだちん

1989年生まれ。 ランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、他社インフラレスポンス改善、ランサーズでの副業、ansibleでのインフラコード化を推進し、未経験によるエンジニアのMENTAなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/広報/VulsRepo init file,chatwork通知のコントリビュータでもある。現在はDocker開発環境の提供,AWSで新サービスのインフラ構築,PHPバージョンアップ,分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなし中。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください