Slide 1

Slide 1 text

2018/06/02 ABEJA, Inc. Shogo Muranushi VPSやレンサバのままでAWSを⽤いて セキュリティやパフォーマンスを強化する

Slide 2

Slide 2 text

2 略歴トピック • インフラエンジニア • AWSを採⽤しハマる • AWSをバリバリバリバリ使う • 資格を5冠取得 • AWSでDeepLearningプ ラットフォーム作る • インフラ => SREに進化 • マイクロサービスで遊ぶ • プロダクトオーナーにな る

Slide 3

Slide 3 text

3 まずは質問 •AWS使ったことある⼈ •AWS知ってるけど使ったことない⼈ •AWS知らない⼈

Slide 4

Slide 4 text

4 今⽇はレンサバやVPSを使ったままでも AWSを踏み出せる第⼀歩の話をします

Slide 5

Slide 5 text

5 なぜAWSに第⼀歩踏み出した⽅が良いのか

Slide 6

Slide 6 text

6 出典: https://itjinzai-lab.jp/article/detail/1006

Slide 7

Slide 7 text

7 つまり、儲かるから

Slide 8

Slide 8 text

8 詳しくは今⽇来ているAWSの中の⼈に

Slide 9

Slide 9 text

9 告知 •AWS認定資格の本書いてます

Slide 10

Slide 10 text

10 本題

Slide 11

Slide 11 text

11 AWSってEC2(サーバ)以外に ⾊んなサービスあることはご存知ですか?

Slide 12

Slide 12 text

12 レンサバやVPSを利⽤している
 WordPressなどのCMSユーザに
 メリットのあるサービスを紹介します WAF CloudFront Route 53 S3

Slide 13

Slide 13 text

13 セキュリティ編

Slide 14

Slide 14 text

14 「そういや最近WordPressの脆弱性攻撃が
  流⾏ってるみたいだけど、⼤丈夫?」 「⼤丈夫じゃないっすか?」

Slide 15

Slide 15 text

15

Slide 16

Slide 16 text

16 「お客さんから改ざんされてるかもしれないから  調査してくれって!」 「あわわわわわわわ・・・」 「責任者出せって!!」 「あわわわわわわわ・・・」

Slide 17

Slide 17 text

17 そうならないように こう⾔いましょう

Slide 18

Slide 18 text

18 「そういや最近WordPressの脆弱性攻撃が
  流⾏ってるみたいだけど、⼤丈夫?」 「そうですね。対策は⾊々してるのですが、 WAFで保険をかけておきましょうか」

Slide 19

Slide 19 text

19 Webアプリケーションを狙った主な攻撃 • ネットワークレベル • ポートスキャン、ブルートフォース、etc • アプリケーションレベル(WordPressやプラグイン) • SQLインジェクション、クロスサイトスクリプティング、認 証不備、アクセスコントロール不備、etc

Slide 20

Slide 20 text

20 WAFとは(Web Application Firewall) • Webアプリケーションの脆弱性を悪⽤した攻撃からWebアプリケーションを保護 するセキュリティ対策の⼀つ • ファイアウォールはネットワークレベルでの防御が可能だが通信の中⾝までは⾒ ない。WAFは通信の中⾝を確認し、攻撃かどうかを検出し攻撃の場合はブロック する • 攻撃かどうかを判定させるロジックのチューニングや、⽤途に合わせたチューニ ングが必要で⽐較的運⽤が⼤変 • つまり、お⾼いんでしょ?

Slide 21

Slide 21 text

21 AWS WAF

Slide 22

Slide 22 text

22 AWS WAF • AWSが提供するWAF(Web Application Firewall)サービス • アプリケーションへのアクセス前に通信を検査してくれるやつ AWS WAF

Slide 23

Slide 23 text

23 AWS WAF マネージドルール • re:Invent 2017でセキュリティベンダーがチューニングしてくれる マネージドルー ル が提供開始 • ルールは新しい脅威が出現すると⾃動的に更新され、OWASP Top 10 掲載の脆弱性 の緩和、不正ボットからの防御、最新の CVE に対する仮想パッチなど、広範な保護 が可能 • WordPressに絞ると5社が提供し $5 ~ $30 / month + @ で利⽤可能 • Alert Logic / F5 / Imperva / Trend Micro / Trustwave

Slide 24

Slide 24 text

24 弊社で使っているマネージドルール Alert Logic Managed Rules for AWS WAF - OWASP Top 10 for WordPress • WordPressのOWASP Top 10 Virtual Patchesには、Alert Logicのアプリケーション セキュリティ専⾨家が作成した事前設定されたルールが含まれている • 過去 6 か⽉のセキュリティホールとなる WordPress 攻撃から効率的かつ選択的に保 護 • 攻撃に対する選択的な保護が提供されている間、脆弱性に対処するために計画する 時間を確保できる

Slide 25

Slide 25 text

25 つまり • AWS WAFを使えば数千円で安⼼を買える • セキュリティで何かあった場合は、誰がどれだけ動きますか?責任者とか動くよ ね・・ • 単純なコスト試算ではなく、何かあった場合に動く⼈や会社の信頼に対するコスト も踏まえる

Slide 26

Slide 26 text

26 デモる デモ内容 1. AWS WAFを作成する(設定2-3分) 1. マネージドルールを購⼊し、WAFに適⽤する 2. CloudFrontを作成する(設定2-3分、反映2-30分) 1. キャッシュせずにWordPressへ転送させる 2. CloudFrontにWAFを適⽤する 前提 • WordPressサイトがある WAF CloudFront

Slide 27

Slide 27 text

27 デモのメモ # WAF - Marketplaceで買う - web ACL作る # CloudFront - Allowed HTTP Methods - GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE - Cache Based on Selected Request Headers - All # CloudFront (続き) - Forward Cookies - All - Query String Forwarding and Caching - Forward all, cache based on all - WAF - wp

Slide 28

Slide 28 text

28 注意点 • 全ての脆弱性を防げるわけではない • ネットワーク・OSレベルは、ファイアウォールやIDS/IPSで防 ぐ必要あり • WAFは根本対策ではなく攻撃による影響を低減する対策 • 根本対策を⾏うまでの期間の保険レベルと認識し、早めに根 本対策を打つべし

Slide 29

Slide 29 text

29 UX編

Slide 30

Slide 30 text

30

Slide 31

Slide 31 text

31 これ、UX良くない

Slide 32

Slide 32 text

32 ダウンしていることを伝えるか、 最低限のページだけでも表⽰すべき

Slide 33

Slide 33 text

33 Amazonの場合 • レコメンドシステムが停⽌したら、⼀般的なランキングを表⽰ するページに⾃動的にルーティングする(らしい) Route 53 停⽌ 出典: https://www.amazon.co.jp/

Slide 34

Slide 34 text

34 似たようなこと、
 AWSなら100円前後でできます

Slide 35

Slide 35 text

35 Sorry Page パターン • Amazon S3にセカンダリサイトを作成($0.3/GB程度) • 本番サイトをRoute53からヘルスチェック($1-$2程度) • 障害を検知したら、セカンダリサイト(S3)に⾃動でフェイルオーバー Route 53 停⽌ S3 出典: https://www.amazon.co.jp/

Slide 36

Slide 36 text

36 無くてもいいけど • 無くてもいいけどクオリティが少し上がります • たかだか100円前後で • そうやって少しづつ価値を上げていくことが⼤事です

Slide 37

Slide 37 text

37 デモる 前提 • WordPressサイトがある • DNSをRoute53に移管済み デモ内容 1. S3ホスティング(bucket名=ドメイン名)を作成し、セカンダリサイトを⽤意する(設定2-3分) 2. Route53でDNSフェイルオーバーの設定をする(設定2-3分) 3. サーバを落として切り替え確認 出典: https://www.amazon.co.jp/

Slide 38

Slide 38 text

38 パフォーマンス編

Slide 39

Slide 39 text

39 「お客さん、明⽇⼤規模なキャンペーンやるってよ」 「おおー」

Slide 40

Slide 40 text

40

Slide 41

Slide 41 text

41

Slide 42

Slide 42 text

42 「お客さんがキャンペーンなのに!って激オコ!」 「あ、はい、、」

Slide 43

Slide 43 text

43 そうならないように こう⾔いましょう

Slide 44

Slide 44 text

44 「お客さん、明⽇⼤規模なキャンペーンやるってよ」 「マジすか。どこのページが⼀番アクセス増えるんすか?」 「トップページに増えるんじゃないかって」 「んじゃ、トップページをHTML化して CDNに突っ込んどきますね」

Slide 45

Slide 45 text

45 What is CDN? • CDNはコンテンツ・デリバリ・ネットワークの略 • 世界中に分散されているサーバにコンテンツを配置(キャッシュ)し て、負荷を分散する技術 • クライアントは分散されているサーバの最も近いサーバにアクセスし 低レイテンシー。オリジン(配信元)は負荷がかからなくなる 出典: https://www.slideshare.net/AmazonWebServicesJapan/aws-blackbelt-online-seminar-2017-amazon-cloudfront-aws-lambdaedge#7

Slide 46

Slide 46 text

46 AWS CloudFront • AWSが提供するCDNサービス • 完全従量課⾦で、だいたい $0.1-$0.2 / GB

Slide 47

Slide 47 text

47 デモる デモ概要 1. CloudFrontを作成する(設定5分、反映2-30分) 1. 全部キャッシュせずにWordPressへ転送させる 2. 特定のHTMLだけキャッシュするように優先度を変更する 前提 • WordPressサイトがある 出典: https://www.slideshare.net/AmazonWebServicesJapan/aws-blackbelt-online-seminar-2017-amazon-cloudfront-aws-lambdaedge#7

Slide 48

Slide 48 text

48 機械学習編 • 13:40 Takuya Oketaniさんの「WordPressにMachine Learningの⼒を」で話された内容を紹介 • https://www.slideshare.net/okeee0315 • WordPress Plugin • Amazon Polly for Wordpress • API群 • Amazon Rekognition(画像認識) • Amazon Lex(⾃然⾔語処理) • etc

Slide 49

Slide 49 text

49 まとめ • EC2以外にも有⽤なサービスは多数ある • レンサバとかのままでも使えるサービスもある • 1歩踏み出すと提供できる価値が増える • AWSに関わると年収増加

Slide 50

Slide 50 text

50 AWSでわからないことあったら JAWS-UGで聞こう

Slide 51

Slide 51 text

51 https://jawsugosaka.doorkeeper.jp/events/74341

Slide 52

Slide 52 text

52 ご静聴ありがとうございました