Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2019/05/24 Security JAWS #13 「エンタープライズのオンプレWAFを...

2019/05/24 Security JAWS #13 「エンタープライズのオンプレWAFをAWSに移行したらこうなった話」

JunjiKoide

May 24, 2019
Tweet

More Decks by JunjiKoide

Other Decks in Technology

Transcript

  1. 2 Copyright © 2019 QUICK Corp. All Rights Reserved. 会社紹介

    [会社名] 株式会社QUICK [設立] 1971年10月1日 [代表者] 代表取締役社長 近藤 勝義 [事業内容]日本経済新聞社グループの金融情報会 社として、世界の証券・金融情報をはじめ、政治・ 経済情報をリアルタイムで配信。資産運用支援、注 文執行業務の支援、情報ネットワーク構築支援サー ビスなど、証券・金融市場に関連する総合的なソ リューションの提供
  2. 3 Copyright © 2019 QUICK Corp. All Rights Reserved. 小出

    淳二 Junji Koide ・株式会社QUICK ・サービスプロダクト本部 SREチームリーダー ・Fin-JAWS運営 ・AWS認定資格9冠 ・インフラエンジニア歴20年目、 AWS歴4年目 ・ re:Inventは過去3回参加 2019年も参加確定! ・趣味:海外旅行 訪問国は60カ国 ・音楽:EDM(Kruwella、ZEDD) ・AWS Summit Tokyo 2019 「金融ミッションクリティカル パネル」で登壇予定 自己紹介
  3. 4 Copyright © 2019 QUICK Corp. All Rights Reserved. 本日お伝えしたいこと

    ・AWS上でのWAF構成 ・何でBIG-IP VE ASMなの? ・BIG-IP VE ASM設計のポイント ・BIG-IP VE ASM イイところ、イマイチ なところ ・AWS WAFは使えないの? Q&A アジェンダ
  4. 5 Copyright © 2019 QUICK Corp. All Rights Reserved. 本日お伝えしたいこと

    ・AWS上でのWAF構成 ・何でBIG-IP VE ASMなの? ・BIG-IP VE ASM設計のポイント ・BIG-IP VE ASM イイところ、イマイチ なところ ・AWS WAFは使えないの? Q&A
  5. users VPC Corporate data center TY2 CC1 Availability zone A

    Availability zone C Public subnet Private subnet (web) Private subnet (DB) Public subnet Private subnet (web) Private subnet (DB) Internet gateway Sync- failover group 全体構成図
  6. 7 Copyright © 2019 QUICK Corp. All Rights Reserved. ・BIG-IP

    VE ASMアプライア ンスを採用 ・ALBでのサンドイッチ構成 ・Multi-AZのActive-Active スケールアウト構成 ・ブロックモードで運用
  7. 8 Copyright © 2019 QUICK Corp. All Rights Reserved. 本日お伝えしたいこと

    ・AWS上でのWAF構成 ・何でBIG-IP VE ASMなの? ・BIG-IP VE ASM設計のポイント ・BIG-IP VE ASM イイところ、イマイチ なところ ・AWS WAFは使えないの? Q&A
  8. 9 Copyright © 2019 QUICK Corp. All Rights Reserved. 選定理由

    ①機能要件を満たしている 金融エンタープライズは誤検知(正常問合せに対する 誤ったブロック)に対する顧客要求レベルが厳しいので、 誤検知になった問い合わせを速やかにピンポイントで対 応できることが必須の機能要件 →誤検知と思われる問合せ内容をログから特定し、正常 問合せかどうかを確認の上、適切な対応を速やかに行え る運用体制を敷いている
  9. 11 Copyright © 2019 QUICK Corp. All Rights Reserved. ②クラウド型WAFは高トラフィック(数百Mbps程度、

    50サイト以上、TLS終端)だと費用高 SaaS障害時の運用考慮も必要 ③Impervaは自由度が低いので選定外(2017/10時点) (2017/10時点 CFのJSON編集、構築後の名称変更不 可、バックエンドのELBはCLBのみ)
  10. 12 Copyright © 2019 QUICK Corp. All Rights Reserved. 本日お伝えしたいこと

    ・AWS上でのWAF構成 ・何でBIG-IP VE ASMなの? ・BIG-IP VE ASM設計のポイント ・BIG-IP VE ASM イイところ、イマイチ なところ ・AWS WAFは使えないの? Q&A
  11. 13 Copyright © 2019 QUICK Corp. All Rights Reserved. 設計ポイント

    ① 2台のMulti-AZ HA構成ではなく、スケールアウト 可能なActive-Active構成 ・VSのアドレスを0.0.0.0とし、同期するconfigは全台同じ ・VSのポート番号毎にサービスを割り当てる オンプレ) サービスA VS1 172.16.0.1:443 サービスB VS2 172.16.0.2:443 →Multi-AZだと172.16.0.1,2を共有できない AWS) サービスA VS1 0.0.0.0:50001 サービスB VS2 0.0.0.0:50002 ※各前段ALBでサービスとBIG-IPのポート番号を紐付け
  12. 14 Copyright © 2019 QUICK Corp. All Rights Reserved. ・SNATのアドレスもiRule判定とし、同期する

    conifgは全台同じ ・SNATポート枯渇問題にも対応 VSのIPアドレス、Port番号情報から紐づける SNAT-IP(VS毎にユニーク)を判定するiRuleによ り、BIG-IP(EC2)に付与できる最大IP数(16)の 制限を突破。
  13. 15 Copyright © 2019 QUICK Corp. All Rights Reserved. ※オンプレ

    ltm virtual /Common/VS1-443 { destination /Common/172.16.0.1:443 ip-protocol tcp mask 255.255.255.255 mirror enabled pool /Common/ServerA-443_pool profiles { ltm virtual /Common/VS2-443 { destination /Common/172.16.0.2:443 ip-protocol tcp mask 255.255.255.255 mirror enabled pool /Common/ServerA-443_pool profiles { ※ AWS ltm virtual /Common/VS1-50001-20001 { destination /Common/0.0.0.0:50001 ip-protocol tcp mask any pool /Common/ServerA-20001_pool profiles { ltm virtual /Common/VS2-50002-20001 { destination /Common/0.0.0.0:50002 ip-protocol tcp mask any pool /Common/ServerA-20001_pool profiles {
  14. 16 Copyright © 2019 QUICK Corp. All Rights Reserved. オンプレ

    L3 SW L3 SW L2/L3 SW WEB Server 80 WEB Server 80 L2/L3 SW vlan DMZ vlan HA vlan WEB VS 172.16.0.1:443 VS 172.16.0.1:443 前段ALB 443→50001(TLS終端) 後段ALB 20001→80 EC2 EC2 VS 0.0.0.0:50001 VS 0.0.0.0:50001 後段ALB:20001 後段ALB:20001 AWS TLS終端 TLS終端 SNAT pool : iRule SNAT pool : iRule
  15. 17 Copyright © 2019 QUICK Corp. All Rights Reserved. 前段ALB

    443→50001(TLS終端) 後段ALB 20001→80 VS 0.0.0.0:50001 VS 0.0.0.0:50001 後段ALB:20001 後段ALB:20001 AWS SNAT pool : iRule SNAT pool : iRule iRuleで 192.168.0.0/24のアド レスにSNAT iRuleで 192.168.1.0/24のアド レスにSNAT 後段ALBサブネットのルートテー ブル 192.168.0.0/24 eni-aaaaaaaa 192.168.1.0/24 eni-bbbbbbbb eni-bbbbbbbb eni-aaaaaaaa
  16. 18 Copyright © 2019 QUICK Corp. All Rights Reserved. ②

    ASMの構成変更等の影響を極力受けない設計 ・前段ALBでのASM負荷分散設定(ターゲットグルー プのターゲット設定)はインスタンスIDではなくIPア ドレス指定 →再構築等実施した場合も前段ALB設定変更不要 ・ASMはDMZ側ENIを追加して2NIC構成(DMZ側 eth1、WEB側 eth0)とし、再構築等実施時もeth1の ENIを付け替える ・後段ALBのルートテーブルもENI経由で設定変更不要
  17. 19 Copyright © 2019 QUICK Corp. All Rights Reserved. 本日お伝えしたいこと

    ・AWS上でのWAF構成 ・何でBIG-IP VE ASMなの? ・BIG-IP VE ASM設計のポイント ・BIG-IP VE ASM イイところ、イマイ チなところ ・AWS WAFは使えないの? Q&A
  18. 20 Copyright © 2019 QUICK Corp. All Rights Reserved. F5

    ASMのイイところ ・きちんと運用すればF5 ASMは最高 ・機能は充実している ・充実した管理画面 (リクエスト、レスポンスの内容、インシデントの 詳細が可視化) ・スケールアウト構成が可能 ・結構安定している(12.台)
  19. 21 Copyright © 2019 QUICK Corp. All Rights Reserved. F5

    ASMのイマイチなところ ・高い BYOL 初年度保守料込みライセンス定価 VE 200Mbps BestBundle 約330万 VE 1Gbps BestBundle 約580万 VE 3Gbps BestBundle 約700万 Marketplace F5 BIG-IP Virtual Edition - BEST (200Mbps) $2.50/hr or $13,797/yr (37% savings) for software + AWS usage fees
  20. 22 Copyright © 2019 QUICK Corp. All Rights Reserved. ・設計(サイジング、可用性等)が必要

    お手軽にボタン一つで導入できるものではない ・トラフィックとL7性能を考慮 ・ASMのスペックシートは非公開(1/5目安?)
  21. 23 Copyright © 2019 QUICK Corp. All Rights Reserved. 結局、Best

    Bundle版 200Mbpsの4台Active構成を選択
  22. 24 Copyright © 2019 QUICK Corp. All Rights Reserved. ・構成が複雑

    障害時等切り分けが大変! ALBでサンドイッチしているのでそれぞれの ログを分析する必要がある ASMも管理コンソール統合されていないた め4台のどこでインシデントが発生しているか の切り分けが必要 前段ALB→ASM(4台)→後段ALB→EC2
  23. 25 Copyright © 2019 QUICK Corp. All Rights Reserved. ・ソフトウェアEOSDとの戦いが続く

    今は改善されてリリースから5年になったが、昔は 3年でかなり苦労した。延々下記の繰り返し 新バージョンリリース →出たばっかりはヤバいからHotFix出るまで様子見 →HotFix出たから検証して本番環境でリリース! (ここで1年w) →あと2年でサポート切れか 早速来年のバージョ ンアップ計画立てなきゃ →翌年バージョンアップの検証&更新作業
  24. 28 Copyright © 2019 QUICK Corp. All Rights Reserved. ・世の中にナレッジがない

    共有されている情報が少ない (あってもDevCentral(英語)ぐらい) →パートナーの飯の種だからと思われ ・BYOL版をパートナーに半強制させられる 「オンデマンド版だとサポート出来ない」の一言 結局AWSに行ってもオンプレと変わらない感
  25. 30 Copyright © 2019 QUICK Corp. All Rights Reserved. 本日お伝えしたいこと

    ・AWS上でのWAF構成 ・何でBIG-IP VE ASMなの? ・BIG-IP VE ASM設計・監視のポイント ・BIG-IP VE ASM イイところ、イマイチ なところ ・AWS WAFは使えないの? Q&A
  26. 31 Copyright © 2019 QUICK Corp. All Rights Reserved. ようやくエンタープライズで使えるレベルになって

    きた。結構いいところまで来てる! POSTボディのフルログ取れれば、ピンポイントでマ ネージドルールの個別ルールを透過にできる (誤検知対応が可能) 例)F5 Rules for AWS WAF - Web exploits OWASP Rules RuleId 0a429772-75e3-4dd6-b585-5b75108462de,Cross- Site Scripting
  27. 32 Copyright © 2019 QUICK Corp. All Rights Reserved. AWS

    WAFの歴史 ・2015/10 re:Invent2015で発表 → 遂に来た、でもCloudFrontだけ! ログもないの?GETだけ!? ・2016/1 POSTとリクエストボディに対応 ・2016/12 ALBで利用可能に! ・2017/10 正規表現サポート ・2017/11 マネージドルール対応!!! ・2017/11 @re:Invent2017 → GM AndrewとEBC フルログと個別シグネチャ除外の実装を依頼
  28. 33 Copyright © 2019 QUICK Corp. All Rights Reserved. ・2018/6

    AWS Summit Tokyo 2018 → GM AndrewとEBC ごめん、もうすぐフルログ実装リリースするから! ・2018/8 フルログ来た!!! →POSTのボディがロギングされていない… ・2018/12/24 例外ルールの設定が可能 https://dev.classmethod.jp/cloud/aws/rule- group-exceptions-for-aws-waf-managed-rules/
  29. 34 Copyright © 2019 QUICK Corp. All Rights Reserved. いいかんじのマネージドルール+誤検知対応

    (例外ルールの設定) でどうにか運用できないか? ブラックボックスじゃないマネージドルールみたい なのなら自社内製でも運用できそうかも
  30. 35 Copyright © 2019 QUICK Corp. All Rights Reserved. イマイチな点

    POSTリクエストのメッセージボディがロ グに記録されないので、誤検知対応が難 しケースがある (何がWAFに引っかかってるかが、正確 にわからないため)
  31. 36 Copyright © 2019 QUICK Corp. All Rights Reserved. ※まとめ

    今後のAWS WAFに期待! AWSさん、WAFフルログにPOSTの BODYも記録できるよう対応お願い します!
  32. 37 Copyright © 2019 QUICK Corp. All Rights Reserved. 本日お伝えしたいこと

    ・AWS上でのWAF構成 ・何でBIG-IP VE ASMなの? ・BIG-IP VE ASM設計・監視のポイント ・BIG-IP VE ASM イイところ、イマイチ なところ ・AWS WAFは使えないの? Q&A