Slide 1

Slide 1 text

脆弱なアプリケーション(DVWA)で AWS WAFの動きを確かめてみた Satoshi Kaneyasu 2023.09.16

Slide 2

Slide 2 text

2 ⾃⼰紹介 ⽒名︓兼安 聡 所属︓株式会社サーバーワークス(ʼ23/05〜) バックエンドエンジニア →クラウドエンジニア 趣味︓サックス、筋トレ、CS ゲーム ごくたまに登⼭ 資格︓ X(Twitter)︓@satoshi256kbyte など やまおとこが しょうぶをしかけてきた︕

Slide 3

Slide 3 text

3 本⽇のアジェンダ • AWS WAFが本当に脆弱性をブロックできるのか︖を確認 • 確認作業の過程で触った、OWASP ZAPを使⽤した感想

Slide 4

Slide 4 text

4 確認のための構成 • AWS WAFは、ルールに基づきアプリを保護するサービス • AWS上に脆弱性のあるアプリをデプロイ • AWS WAFのルールをON/OFFしながら操作して挙動を確認

Slide 5

Slide 5 text

5 使⽤ツールの説明 • DVWA • Damn Vulnerable Web Application • 古くからあるセキュリティ教育などのために設計されたOSSのWEBアプリ • https://github.com/digininja/DVWA • OWASP ZAP • OWASPが開発している脆弱性診断ツール • ⼿動と⾃動(コマンド実⾏)の両⽅のセキュリティテストをサポート • https://www.zaproxy.org/

Slide 6

Slide 6 text

まずは⼿動でAWS WAFの動きを確認してみる

Slide 7

Slide 7 text

7 SQLインジェクションを確認 DVWAの画⾯で、SQLを⼊⼒ SQLインジェクションが通ってしまう ことを確認

Slide 8

Slide 8 text

8 AWS WAFをONにしてSQLインジェクションを再確認 AWS WAFで、 マネージドルールONにすると、 SQLインジェクションをブロックする 画⾯全体が403になる DVWAの画⾯ではない

Slide 9

Slide 9 text

9 実際に動かしてみてようやくAWS WAFを実感 • ブロックされる=サーバーには何も来ないことを実感 • 誤設定した場合の怖さを⼀気に感じる インフラチーム アプリチーム アプリログが出ていないので 途⽅に暮れる 不審なものは ブロック

Slide 10

Slide 10 text

ツールを使ってAWS WAFの動きを確認してみる

Slide 11

Slide 11 text

11 OWASP ZAPを使った脆弱性診断 • Baseline Scan • 数分で完了し、負荷も低い、データの更新もしない • CI/CDパイプラインに組み込むのに適している • Full Scan • 深く診断する • XSS、SQLインジェクションなども診断する • 深い脆弱性をブロックするか︖を⾒たいので、こちらで検証

Slide 12

Slide 12 text

12 DVWAにFull Scanをかけてみる

Slide 13

Slide 13 text

13 AWS WAFをONして再度Full Scan ちゃんと減ってる︕

Slide 14

Slide 14 text

14 OWASP ZAPを使った所感 • Baseline Scan • AWS CodePipelineに⼊れて、CI/CDに組み込めそう • 通信内容のみで判断しており、これだけでは不安 • Full Scan • 深く診断するが、⻑時間かかる、終了時間の予測が難しい • 実⾏のために数⽇間のスケジュール確保が必要 • データを実際に更新しまうので、専⽤の環境が必要

Slide 15

Slide 15 text

15 まとめ • プロジェクトマネージャーとして気づきがあった • AWS WAFは、有能だが怖い部分もある • OWASP ZAPの2種類のスキャンは⼀⻑⼀短 • 各ツールの癖と所要時間を、運⽤設計・PJ計画に活かしたい

Slide 16

Slide 16 text

16 知識でしかなかったことを、 感覚で実感できた有益な検証でした。 以上です。 ありがとうございました。

Slide 17

Slide 17 text

No content