AWS Shield と AWS Lambda@Edge で構築するセキュアで柔軟性 … · Amazon Elastic...

Post on 13-Jul-2020

0 views 0 download

Transcript of AWS Shield と AWS Lambda@Edge で構築するセキュアで柔軟性 … · Amazon Elastic...

© 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