2016/04/29( 金 )
JAWS-UG 沖縄勉強会Cloud on the beach 2016
勉強会の部(経験者向けトラック)
株式会社レキサス 与儀実彦
AWS WAF でセキュリティ対策
与儀実彦(よぎさねひこ)
所属:株式会社レキサス
お仕事: AWS の提案・設計・構築・運用
好きな AWS サービス: Amazon S3
好きな物理学者:リチャード・ファインマン
JAWS-UG 沖縄コアメンバー
自己紹介
AWS WAF とは?
・ AWS の提供する WAF(Web Application Firewall) のサービス
・現在のところ CloudFront に対してのみ利用可能
・ Web ACL として作成したルールを CloudFront に適応するイメージ
CloudFront
WAF
WAF は、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護 するセキュリティ対策の一つです。 WAF はウェブアプリケーションの実装面での根本的な対策で はなく、攻撃による影響を低減する運用面での対策です。
WAF は、 WAF を導入したウェブサイト運営者が設定する検出パターンに基づいて、ウェブサイトと利用者間の通信の中身を機械的に検査します。WAF を使用することで以下の効果を期待できます。
脆弱性を悪用した攻撃からウェブアプリケーションを防御する 脆弱性を悪用した攻撃を検出する 複数のウェブアプリケーションへの攻撃をまとめて防御する
IPA 独立行政法人 情報処理推進機構 提供『 Web Application Firewall (WAF) 読本 改訂第2版』より一部抜粋https://www.ipa.go.jp/files/000017312.pdf
WAF(Web Application Firewall) とは?
AWS WAF の導入のイメージ
Availability Zone B
WEB サーバ
Availability Zone A
WEB サーバ
DBセカンダリ
DBプライマリ
ELB
WAF
Availability Zone B
WEB サーバ
Availability Zone A
WEB サーバ
DBセカンダリ
DBプライマリ
ELB
CloudFront
AWS WAF の導入のイメージ
Availability Zone B
WEB サーバ
Availability Zone A
WEB サーバ
DBセカンダリ
DBプライマリ
ELB
CloudFront WAF
Availability Zone B
WEB サーバ
Availability Zone A
WEB サーバ
DBセカンダリ
DBプライマリ
ELB
CloudFront
AWS のセキュリティ
・クラウドセキュリティは AWS の最優先事項です。 AWS のお客様は、セキュリティを最も重視する組織の要件を満たすよう構築されたデータセンターとネットワークアーキテクチャを利用できます。
https://aws.amazon.com/jp/security/
AWS の責任共有モデル ( データセンター )
・データセンターの場所を明かさない
・ Amazon.com の EC サイトも AWS 上にある
・米国政府専用リージョンもある
・ CIA( 中央情報局 ) も利用している
・金融系の導入事例も多数あり
・ AWS 社内の人でも、データセンターで働く人と AWS を使う人が直接接触できないようになっているらしい
AWS の責任共有モデル ( レポート、認定、第三者認証 )OS より上のレイヤーのセキュリティはユーザ自身が責任をもって担保OS より下のレイヤーのセキュリティは、 AWS が責任をもって担保
▪ AWSは以下のような第三者認証を取得済みSSAE 16/ISAE 3402基準、 SOC1レポート(旧 SAS70)SOC2レポートSOC3レポート【 NDA無で入手可能】ISO 27001 CertificationPCI DSS Level 1 Service Provider FISMA moderateSarbanes-Oxley (SOX)
データセンターおよび組織のセキュリティ担保責任を果たすため、多数の第三者認証を取得して更新し続けている。
(小ネタ)AWS のデータセンターは、 Amazon.com のためにつくられものではなかった(らしい)。
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-10-years-of-aws
2006 年 AWS サービス開始2010 年 Amazon.com の EC サイトが AWS へ移行
・ AWS セキュリティのベストプラクティスに従った AWS 設計をする。・安全な Web アプリケーション、ウェブサイトを作る。・ソフトウェア脆弱性アップデート対応や脆弱性情報収集を継続実施。
まずは基本的なことから。
Amazon Inspector でアプリケーションの脆弱性診断。
・ 2016 年 4月 20日に一般提供開始、東京リージョンでも利用可能に。
・ EC2 インスタンスに専用のエージェントをインストールして、実行するだけでアプリケーションの脆弱性診断が実施可能に。
→サイト公開前などに実施して、セキュリティ的な問題点や穴がないか確認して、安全なシステム構築の一助に。また、サイト公開後の定期的な脆弱性診断の実行して、新たな脅威の検出・対応を。
https://aws.amazon.com/jp/inspector/
WAF は、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護 するセキュリティ対策の一つです。 WAF はウェブアプリケーションの実装面での根本的な対策で はなく、攻撃による影響を低減する運用面での対策です。
WAF は、 WAF を導入したウェブサイト運営者が設定する検出パターンに基づいて、ウェブサイトと利用者間の通信の中身を機械的に検査します。WAF を使用することで以下の効果を期待できます。
脆弱性を悪用した攻撃からウェブアプリケーションを防御する 脆弱性を悪用した攻撃を検出する 複数のウェブアプリケーションへの攻撃をまとめて防御する
IPA 独立行政法人 情報処理推進機構 提供『 Web Application Firewall (WAF) 読本 改訂第2版』より一部抜粋https://www.ipa.go.jp/files/000017312.pdf
WAF(Web Application Firewall) とは?
Amazon CloudFront とは?
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront
・ CDN(Contents Delivery Network) のサービス →コンテンツのキャッシュ配信
1 ディストリビューション当たり、デフォルトで10Gbps 、 15,000RPS まで耐えうる。(超える場合は上限申請)
→DDoS 攻撃対策としても、かなり有効。→ある意味 DDoS 攻撃な Yahoo砲などのアクセス集中対策にかなり有効。
Amazon CloudFront とは?
・ CDN(Contents Delivery Network) のサービス →コンテンツのキャッシュ配信
WAF
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront
世界中に拡がる CloudFront のエッジロケーション
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront
・最寄りのエッジロケーションからコンテンツ配信することで高速に。・このエッジロケーションに WAF が連携して利用可能。
AWS WAF でできること( 2016 年 4月 29日現在)クライアントからのリクエスト ・ Header ・ HTTP method ・ Query string ・ URI ・ Body
に対して、 ・ IP address ・ Size constraint ・ String matching ・ Cross-site scripting ・ SQL injection
の判定条件で検出された通信に対して、 ・ Block ・ Allow ・ Count
のいずれかのアクションを実行できる。
判定条件: IP address
・クライアントの IP アドレスで判定
・これまで、 CloudFront にはセキュリティグループのような通信制限がなかったため、常に公開されている状態だった。→公開前のサイトなどについて、特定 IP アドレスからのみの閲覧制限をかけることができるようになった。→オリジンに対するアクセス制限は考慮する必要あり。
判定条件: IP address
http://aws.typepad.com/sajp/2016/02/waf-4xx-ip.html
・特定 IP アドレスからの集中アクセスがあった場合に、 Count でアクセス数を計測して、一定数を超えたら Block するという仕組みを作ることができる。
判定条件: Cross-site scripting
・一般的なクロスサイトスクリプティング (XSS) 攻撃の内容を検知して判定
https://www.ipa.go.jp/files/000017316.pdf
クロスサイトスクリプティングとは?
判定条件: SQL injection
・一般的な SQL インジェクション攻撃の内容を検知して判定
SQL インジェクションとは?
https://www.ipa.go.jp/files/000017316.pdf
WAF
WAF の導入 Tips 1
Availability Zone B
WEB サーバ
Availability Zone A
WEB サーバ
DBセカンダリ
DBプライマリ
ELB
CloudFront
・ CloudFront で使う IP アドレスレンジ帯のみを許可するセキュリティグループを作成して、 CloudFront外からの通信を遮断した方が良い
攻撃者
AWS WAF の導入 Tips 2・ルールの追加や変更が世界中に伝達されるまで通常 1分程度かかる。→CloudFront の設定変更やルールの初期設定の伝達の場合は、通常数分程度かかる。
https://aws.amazon.com/jp/waf/faq/http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-2016-amazon-cloudfront
簡単なデモ
WAFCloudFront
検証用サーバ
・ Query String に対する、 String Matching Cross-site scripting(XSS) SQL injection の Block ルールを適応済み環境
・ Block される様子をデモで確認
攻撃者