17. Cyber Security Cloud , Inc.
AWS WAFの自動運用
17
一般的な攻撃に対する保護のための AWS WAF の迅速な設定
① クロスサイトスクリプティング攻撃
攻撃者は、ウェブアプリケーションの脆弱性を悪用するために、スクリプトをウェブリクエス
トに挿入することがあります。クロスサイトスクリプティング一致条件では、AWS WAF によっ
て悪意のあるスクリプトが検査されるウェブリクエストの部分 (URI やクエリ文字列など) を識
別します。
② SQL インジェクション攻撃
攻撃者は、データベースからデータを抽出するために、ウェブリクエストに悪意のある SQL
コードを挿入することがあります。SQL インジェクション一致条件では、AWS WAF によって悪
意のある SQL コードが検査されるウェブリクエストの部分を識別します。
③ 既知の不正な IP アドレスからの攻撃
IP 一致条件を使用して、ウェブリクエストをその発生元の IP アドレスに基づいて、許可、ブ
ロック、またはカウントできます。IP 一致条件では、特定の IP アドレスまたは IP アドレス範
囲を 1,000 個まで指定できます。
18. Cyber Security Cloud , Inc.
AWS WAFの自動運用
18
一般的な攻撃に対する保護のための AWS WAF の迅速な設定
① チュートリアルにある CloudFormation をつかってルールを投入する
https://s3.amazonaws.com/cloudformation-examples/community/common-attacks.json
② 設定を確認する
19. Cyber Security Cloud , Inc.
AWS WAFの自動運用
19
一般的な攻撃に対する保護のための AWS WAF の迅速な設定
Order Rules Action Condition Filter
1 ManualIPBlockRule Block IP Match 1. IP Address
2 LargeBodyMatchRule Count Size Constraint 1. Size Constraint
3 SqliRule Block SQL Injection 1. Body after decoding as HTML tags
2. Body after decoding as URL
3. QueryString after decoding as HTML tags
4. QueryString after decoding as URL
5. URI after decoding as URL
4 XssRule Block Cross-Site Scripting 1. Body after decoding as HTML tags
2. Body after decoding as URL
3. QueryString after decoding as HTML tags
4. QueryString after decoding as URL
5. URI after decoding as URL
21. Cyber Security Cloud , Inc.
AWS WAFの自動運用
21
アプリケーション全体のホワイトリストを設定する
Order Rules Action Condition Filter
1 ManualIPWhiteRule Allow IP Match 1. IP Address
2 ManualIPBlockRule Block IP Match 1. IP Address
3 LargeBodyMatchRule Count Size Constraint 1. Size Constraint
4 SqliRule Block SQL Injection 1. Body after decoding as HTML tags
2. Body after decoding as URL
3. QueryString after decoding as HTML tags
4. QueryString after decoding as URL
5. URI after decoding as URL
5 XssRule Block Cross-Site Scripting 1. Body after decoding as HTML tags
2. Body after decoding as URL
3. QueryString after decoding as HTML tags
4. QueryString after decoding as URL
5. URI after decoding as URL
特定のIPアドレスからのアクセスは WAF で防御させたくない
「条件にマッチした IP Address は Allow する」ルールを作る
Rule はマッチした時点で評価が終了するので、作成したルールは検知させたくないルールより優先度を高くする。
Black List との違いは、 Rule の Action が Allow/Block の違い。
22. Cyber Security Cloud , Inc.
AWS WAFの自動運用
22
ルールに対するホワイト(除外)リストを設定する
Order Rules Action Condition Filter
1 ManualIPWhiteRule Allow IP Match 1. IP Address
2 ManualIPBlockRule Block IP Match 1. IP Address
3 LargeBodyMatchRule Count Size Constraint 1. Size Constraint
4 SqliRule Block SQL Injection 1. Body after decoding as HTML tags
2. Body after decoding as URL
3. QueryString after decoding as HTML tags
4. QueryString after decoding as URL
5. URI after decoding as URL
5 XssRule Block Cross-Site Scripting 1. Body after decoding as HTML tags
2. Body after decoding as URL
3. QueryString after decoding as HTML tags
4. QueryString after decoding as URL
5. URI after decoding as URL
String Match
(does not match)
1. Contains /パス文字列/
特定のパスでは XSS を検知させない(例: CMS で HTML/JSをアップロードする)
XssRule に「指定したパスを含む にマッチしない(does not match)」Condition を追加する
Condition は AND で評価されるため、「パスにマッチしない」が成立する場合のみ XSS 評価と合せて評価される。
つまり、指定のパスを含む場合、「パスにマッチしない」が成立しないため、AND 条件を不成立とすることができる。