aws shield と aws lambda@edge で構築するセキュアで柔軟性 … · amazon elastic...
TRANSCRIPT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Kalyanaraman PrasadVP AWS Edge Services
AWS Shield と AWS Lambda@Edge で構築するセキュアで柔軟性の高いアプリケーション
アジェンダ
• 一般的なWebアプリケーションの構造
• どのような課題があるか?
• どのように構成上の課題をAWSでより簡単にできるか?
• 堅牢なアプリケーションの構成
一般的なWebアプリケーション
動的アプリケーション
パーソナライズされたコンテンツ
静的コンテンツ
API
企業のデータセンター
エンドユーザ
デザイン上の考慮点
ü セキュリティ
• 認証
• 暗号化 (TLS)• 防御の階層化
ü 可用性
• 復旧能力/障害耐性
• リクエスト処理のキャパシティ
ü パフォーマンス
ü ルーティング
ü スロットリング
ü 通知とモニタリング
動的アプリケーション
パーソナライズされたコンテンツ
静的コンテンツ
API
企業のデータセンター
エンドユーザ
デザインと実装における課題
動的アプリケーション
パーソナライズされたコンテンツ
静的コンテンツ
API
企業のデータセンター
エンドユーザ
アプリケーションサーバ
ファイアーウォール
DB サーバ
ロードバランサー
トラフィック管理
モニタリング
Web サーバ
ストレージサーバ
DDoS 攻撃
DDoS スクラビングセンター
AWSは、このような時にどう役立つか…
柔軟性を失わずに複雑性を取り除き、高いセキュリティと高い可用性をもった拡張性の高いアプリケーションの構築
静的コンテンツの配信
動的アプリケーション
パーソナライズされたコンテンツ
静的コンテンツ
API
企業のデータセンター
エンドユーザ
• 遅延の影響は重要• 拡張性も重要 –急なアクセス増を処理する能力
?
CloudFrontで配信する静的コンテンツ
AWS クラウド
企業のデータセンター
動的アプリケーション
パーソナライズされたWebアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront
Amazon Route 53
CloudFrontを使ったエッジ・デリバリー
高い可用性 アプリケーションの高速化
AWS 連携 費用効果
エンタープライズ級の CDN
Amazonが信頼するCloudFront
エッジからの配信
費用対効果
“AWSは、AWS上のオリジン (Amazon Simple Storage Service (S3),
Amazon Elastic Compute Cloud (EC2)))とCloudFront間のデータ転
送料金を取らないため、オリジンからのデータ取得は、高い費用対効
果があります。”
動的コンテンツのための復旧能力
動的アプリケーション
パーソナライズされたWebアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFrontAmazon Route 53
• ビジネス・ロジック• 0秒、または低いTTL• セキュアなコネクション
?
動的コンテンツのための復旧能力
動的アプリケーション
パーソナライズされたWebアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront
Amazon Elastic Load Balancer
Amazon Route 53
CloudFrontを静的、動的コンテンツの両方の配信で使う理由
1) エンドユーザの近くでTLSの終端
2) セキュアな全二重通信のコネクション
3) Edge と ELB間のコネクションの 適化
4) 短い期間のキャッシュでも(低TTL) リクエスト急増時の耐性を大幅に上げます
動的コンテンツのエッジからの配信
アプリケーション高速化 – ELBの前にCloudFrontを配置
パーソナライズされたコンテンツ
動的アプリケーション
パーソナライズされた
Webアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront
Amazon Elastic Load Balancer
Amazon Route 53
?
• 全てのエンドユーザにカスタマイズされたコンテンツ• 拡張性が重要• 遅延の低さが重要
AWS Lambda: サーバレス・コンピューティング
サーバなしでコードを実行。課金は実際に使用したコンピューティング時間に対してのみ発生。
イベントのトリガーか APIの呼び出しで実行:• Amazon S3 バケットへのPUT
• Amazon DynamoDB テーブルの更新• Amazon API Gateway Endpointへの呼び出し• モバイルアプリのバックエンドの呼び出しl• CloudFront へのリクエスト• その他…
より簡単に:• リアルタイムにデータを処理
• 拡張性の高いバックエンドサービスの構築
• システムを繋いで連携
AWS Lambdaの利点
継続的スケーリングサーバ管理が不要 使わないリソースの支払いがない
– コールドサーバを無くす
…AWSのリージョン上のトリガーが前提ですが
もしエッジでもコードを実行できれば…
北米 南米 ヨーロッパ アジア太平洋
エッジロケーション
都市 ヶ国 つの大陸
パーソナライズされたアプリケーションの配信を可能にするLambda
Lambda @ Edgeのご紹介
Lambda@Edgeのご紹介• Lambda@Edgeは、AWS Lambdaの拡張でAWSのエッジロケーションでNode.jsのコードの実行を可能にします。
• お客様のコードをエッジロケーションに持ってくることでエンドユーザの近くでコンテンツをカスタマイズし、ユーザ体験を改善できます。
継続的スケーリング
サーバ管理が不要
使わないリソースの支払いがない
– コールドサーバを無くす
グローバルに分散
一度コードを書けば、どこでも実行可能
Lambda@Edge – アプリケーション・セキュリティ
ビジターの検証
Botの処理検索エンジンボットを検知してCaptchaを表示することでオリジンサーバへのトラフィックから除外
有効なセッションを確認
user-agentの値でリクエストの正当性を確認し 、access-control allow ヘッダーを追加アクセストークンで認証ステータスを確認
Lambda@Edge – アプリケーション・セキュリティ
認証とアクセス管理New York Times や HBRのような出版社で、購読の申し込みページに転送する前にユーザが毎対無料で読める記事の数を制限したい場合があります。
Cookieを使ってユーザのアクセス回数をカウントしながら、Lambda @Edge 関数でCookieの値をアクセス時に検査することで、無料記事数の上限に達したユーザを購読の申し込みサイトに転送することができます。
Lambda@Edge –動的コンテンツの配信
レスポンスの生成
認証されていないユーザを指定したログインのページにその場で転送
エンドユーザに 寄りのエッジロケーション上でカスタムエラーページや静的Webページを生成。
Lambda@Edge – アプリケーションのパーソナライズ
A/B テスト
ユーザ毎に表示されるコンテンツのバージョンを”コイントス”でランダムに選択
ユーザの再訪時に同じバージョンが表示され続けるようにCookieをセット
Lambda@Edge –アプリケーション・セキュリティ
RFC 6797 - HTTP Strict Transport Security (HSTS)
Strict-Transport-Security: max-age=31536000; includeSubDomains
Browser Support Introduced
Internet Explorer Internet Explorer 11 on Windows 8.1 and Windows 7[2]
Firefox 4Opera 12
Safari Mavericks (Mac OS X 10.9)
Chrome 4.0.211.0
Lambda@Edge –アプリケーションのパーソナライズ
コンテンツのカスタマイズ
ユーザの属性 –ユーザーの地理情報やデバイスをもとに配信するコンテンツを選択 (例: モバイル端末は、デスクトップより小さい画像; 地理情報をもとに表示言語を切替)
クライアント・デバイスの属性 -古いエンドユーザ・デバイスのプロトコルに通信を対応させるため、ヘッダーを追加、変更。(例: 旧型のテレビ、ネットワークプリンタなど)
エッジでコンテンツのパーソナライズ
動的アプリケーション
パーソナライズされた
Webアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront Amazon Elastic Load Balancer
Amazon Route 53
Lambda@Edge
キャッシュ不可なAPI
動的アプリケーション
パーソナライズされた
Webアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront Amazon Elastic Load BalancerAmazon Route 53
Lambda@Edge
?
キャッシュ不可なAPI
動的アプリケーション
パーソナライズされた
Webアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront
Amazon Elastic Load Balancer
Amazon Route 53
Lambda@Edge
API Gateway
AWS Lambda
Shieldでセキュアなアプリケーション配信
Edgeの防御
Lambdaでパーソナライズされたアプリケーションの配信
Lambda @ Edge
CloudFront でアプリケーション配信
Edgeの配信
セキュリティ?
脅威の種類
不正なボットDDoS アプリケーション攻撃
Reflection 攻撃
Layer 4 フラッド
Slowloris
SSL悪用
HTTP フラッド
Amplification 攻撃
コンテンツ・スクレーパー
スキャナーとプローブ
クローラーアプリケーション層
ネットワーク/トランスポート層
SQLインジェクション
アプリケーションの脆弱性悪用
不正なリゾルバーSSL 再ネゴシエーション
SSL/TLSの脆弱性
DDoS攻撃への古いセキュリティ対策方法
企業のデータセンター
エンドユーザー
DDoS 攻撃
DDoS スクラビングセンター
正常なトラフィック
課題1) 緩和策の有効化まで時間がかかる2) 常時作動でないため必要なときに使えない可能性がある3) インラインでないため正常なユーザも遅延の影響をうける
AWSサービス -組み込み済みのセキュリティ
動的アプリケーション
パーソナライズされた
Webアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon Elastic Load Balancer
Amazon CloudFront
Lambda@Edge
API Gateway
AWS Lambda
Amazon Route 53
Edgeの防御
AWS Shield AWS WAFCloudFront の標準セキュリティ機能
TLS配信にEdgeを活用
AWS Cloud
企業のデータセンター
動的アプリケーション
パーソナライズされたWebアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront
DDoS
Amazon CloudFront: 標準セキュリティ機能
HTTPS配信 AWS Certificate Manager
ü EdgeでTLSの終端ü SNI カスタム TLS証明書 (無料)ü 高度な暗号化
ü Perfect Forward Secrecyü OCSP Stapling
ü 証明書を無料で発行
ü 簡単な手順で証明書を取得 (CloudFront コンソール上で可能)
ü 手間を省く証明書の自動更新
DDoS対策にEdgeを活用
企業のデータセンター
動的アプリケーション
パーソナライズされたWebアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront
DDoS
AWS Shield AdvancedマネージドのDDoS対策サービス
AWS Shield Advanced
Application Load Balancer Classic Load Balancer Amazon CloudFront Amazon Route 53
以下のサービスで利用可能です
AWS Shield Advanced
AWSサービスとの連携インフラを変更せずにDDoSから
の防御を導入
経済的
低コストと可用性の両立が可能
柔軟性
アプリケーション向けに防御をカスタマイズ
常時作動の検知と緩和
アプリケーションの遅延を 小に抑える
4つの理念を柱に設計
AWS ShieldでDDoS対策
全世界のすべてのEdge Locationで利用可能
アプリケーション
企業のデータセンター
AWS Shield
Standard Protection Advanced Protection
すべてのAWSのお客様に無償でご提供
追加の防御、機能と保証を
有償でご提供
AWS Shield Standard
レイヤ 3/4 の保護
ü自動検知と緩和
üよく見られる一般的な攻撃からの防御
(SYN/UDPフラッド、リフレクション攻撃、など)
ü AWSサービスで標準機能として提供
レイヤ 7 の防御
ü AWS WAF でレイヤ 7の DDoS攻撃の緩和
üセルフサービス利用で従量課金
レイヤ 3/4 の攻撃の96%を自動的に防御
インターネットに向いているすべてのAWSサービスでご提供
AWS Shield Advanced常時有効なモニタリングと検知
高度なL3/4とL7の DDoS防御
攻撃の通知とレポートDDoS Response Teamの24x7の支援
AWS 請求保護
Edge と ALBで Firewallを活用
AWS Cloud
企業のデータセンター
動的アプリケーション
パーソナライズされたWebアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon CloudFront
DDoS
AWS WAFでアプリケーション脅威対策
カスタムルールでWebトラフィックのフィルタリング
悪意のあるリクエストのブロック 常時モニタリングとチューニング
IPアドレス、ヘッダーの条件の組合せでリクエストをブロック、許可、モニターするカスタムルー
ルを作成
AWS WAFは、SQLインジェクションやクロスサイトスクリプティングなどの代表的なWebアプリケーショ
ンの脅威を検知してブロックできます
Web ACLのルールによってブロックまたは、許可されたリクエストをモニターしてチューニングができます。
AWS WAF
全世界のすべてのEdge Locationで利用可能
企業のデータセンター
アプリケーション
AWS WAFによるアプリケーションの防御
ü 柔軟なルールの定義
ü 事前設定された保護
ü 高度なセキュリティの自動化
ü パートナー・ルール
AWS WAF(Web Application Firewall)
AWS WAFによるアプリケーションの防御
ü 柔軟なルールの定義
ü 事前設定された保護
ü 高度なセキュリティの自動化
ü パートナー・ルール
ü 素早いインシデント対応
ü 1分以内に緩和策を展開
ü リクエストの任意の部分を検査
AWS WAFによるアプリケーションの防御
ü 柔軟なルールの定義
ü 事前設定された保護
ü 高度なセキュリティの自動化
ü パートナー・ルール
SQL インジェクション
IP レピュテーション リスト
XSS
AWS WAFによるアプリケーションの防御
ü 柔軟なルールの定義
ü 事前設定された保護
ü セキュリティの自動化
ü パートナー・ルール
正常なユーザ
悪意のあるユーザAWSWAF
サーバー
ログ スレット解析
通知
セキュリティ・エンジニア
ルールアップデーター
まとめ – Webアプリケーションの完成に必要な構成要素
動的アプリケーション
パーソナライズされた
Webアプリケーション
静的コンテンツ
キャッシュ不可なAPI
Amazon Elastic Load Balancer
Amazon CloudFront
Lambda@Edge
API Gateway
AWS Lambda
Amazon Route 53
DDoS
まとめ –重要なポイント
• AWSにはセキュリティ機能が標準で組み込まれています –構成を変更せずにシステムの外郭で防御
• 動的、静的コンテンツとAPIの配信にCloudFrontを利用
• Lambda@Edgeは、柔軟なコンテンツのパーソナライズの手段を提供します
Thank You