AWS WAFとは
AWSには、Webサービスを安全に運用する手段がいくつか用意されいます。
その中の一つ、「AWS WAF」。
AWS WAFとは、WEBサービスの脆弱性を、開発した(サービスをしている)WEBサービスにアクセスされる「前に」阻止しましょう。というサービスのひとつです。
AWS 認定クラウドプラクティショナー試験
このWAFは、「AWS 認定クラウドプラクティショナー」に試験問題として何問かでてきました。
まったく勉強をしていなく(汗)、試験当時、「うわー」という感じでした。
昨今のセキュリティ対策などは、出てきますので、過去の問題に捕らわれず、勉強をしたほうがイイです。
Iamでの制御も、一歩踏み込んで勉強するのがいいかと思います。
AWS 認定クラウドプラクティショナーに向けて 2018年版
AWS 認定クラウドプラクティショナー 合格しました!
AWS WAF 適用範囲
AWS WAFでは、グローバルサービスのCloud Front、およびリージョンサービスのALB、API Gatewayに適用ができます。
今回、CloudFrontに適用してみます。
条件の設定(Create Conditions)
↑「Go to AWS WAF」を選びます。
↑「Configure web ACL」を選びます。
↑WAFの制御方法の概略が出てきます。次の画面に行きます。
↑名称と、どのサービスに対して、WAFを設定するかを選択します。
上記は、「CloudFront」を選んでいます。「CloudFront」を選ぶと、自動的にサービス中のリソースが出てきます。
↑リージョンサービスを選ぶと、「ALB」「API Gateway」を選ぶことができます。
今回は、前者の「CloudFront」を選択します。
↑「条件」を設定します。今回は、「XSS(クロスサイトスクリプティング)」に対してWEBサービスを守る設定をします。上記の「Create condition」を選びます。
↑「Filter settings」のところで、「QueryString」を選び、「lowercase」「HTML tags」など、すべての条件をフィルターにかけます。
↑条件が設定されました。
条件からルールを設定
↑Step3 になり、「Create rules」を選びます。
↑「Add conditions」のところで、「マッチしたとき」というルールで、設定した条件を加えて、「Create」を選びます。
↑前述のルールの場合、「Block」して、これにマッチしないものは、「通過」という設定をします。
↑最終確認です。「Confirm and create」を選びます。
動作確認
↑XSSの例として、不正なアクセスをしてみます。上記は、設定前の動作
↑AWS WAF(Webアプリケーションファイアウォール)を設定したあとでは、上記の通り、エラーとなります。
AWS WAF(Webアプリケーションファイアウォール)まとめ
「AWS WAF」は、「AWS 認定クラウドプラクティショナー」の試験にも出るくらいなので、しっかりとおさせておきたいです。