Slide 1

Slide 1 text

スタートアップサービスでもやれる! Kubernetesを使った セキュアWebアプリの構築と運用 1 (C) Recruit Technologies Co.,Ltd. All rights reserved. 株式会社リクルートテクノロジーズ ITエンジニアリング本部 プロダクティビティエンジニアリング部 クラウドアーキテクトグループ 藤原 涼馬

Slide 2

Slide 2 text

リクルートグループの紹介 2 (C) Recruit Technologies Co.,Ltd. All rights reserved. 創業 1960年3月31日 「大学新聞広告社」としてスタート グループ 従業員数 45,856名 (2019年3月31日時点) 連結売上高 23,107億円 (2018年4月1日~2019年3月31日) 連結営業利益 2,230億円 (2018年4月1日~2019年3月31日) グループ 企業数 344社 (子会社および関連会社、2019年3月31日時点) 目指す世界観 「あなた」を支える存在でありたい

Slide 3

Slide 3 text

事業内容の紹介 3 (C) Recruit Technologies Co.,Ltd. All rights reserved. 3 ライフイベント領域 進学 就職 結婚 転職 住宅購⼊ ⾞購⼊ 出産/育児 旅⾏ ビジネス⽀援 ⽣活/地域情報 グルメ・美容 ライフスタイル領域 選択・意思決定を⽀援する情報サービスを提供し、 「まだ、ここにない、出会い。」を実現する。

Slide 4

Slide 4 text

所属組織の紹介:リクルートテクノロジーズ 4 (C) Recruit Technologies Co.,Ltd. All rights reserved. リクルートグループのビジネス・サービス リクルートテクノロジーズ IT・マーケティング ソリューション ビジネス視点の ITマネジメント 横断的にソリューションを提供 上記は対象企業・サービスの一部抜粋です。

Slide 5

Slide 5 text

注意 5 (C) Recruit Technologies Co.,Ltd. All rights reserved. 本発表内容はあくまでも ノウハウ・考え方等の共有を 目的としたものであり、所属組織としての 全体方針・見解を表すものではありません

Slide 6

Slide 6 text

自己紹介 (藤原 涼馬) 藤原 涼馬 株式会社リクルートテクノロジーズ ITエンジニアリング本部プロダクティビティエンジニアリング部 クラウドアーキテクトグループ 経歴 2011-2015 ユーザ系SIer にてR&D 2016/1~ リクルートテクノロジーズに入社 主な活動(社外含む) • コンテナ・クラウド等の先進アーキテクチャの事業への装着 • Rancher JPコアメンバー • 各種勉強会登壇 (Rancher JP meetup, Docker meetup tokyo, Japan Container Days, Cloud Native Daysほか) • 寄稿 @IT 先行事例に学ぶKubernetes 企業活用の現実・コンテナベースのCI/CD本番事例大解剖, ThinkIT マルチクラウド時代の最強コンビRancherによるKubernetes活用ガイド) • 執筆 • RancherによるKubernetes活用ガイド(Think IT Books, インプレス) 6 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 7

Slide 7 text

目次 • テーマ1 Webアプリケーションセキュリティについての基本の整理 • テーマ2 Kubernetesとクラウドを活用したWebアプリケーションセキュ リティ機能の実装と運用 7 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 8

Slide 8 text

テーマ1 Webアプリケーションセキュリティの基本の整理 8 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 9

Slide 9 text

Webアプリケーションのセキュリティ? セキュリティと言われて思い浮かぶこと 9 (C) Recruit Technologies Co.,Ltd. All rights reserved. SQLインジェクション OSコマンドインジェクション

Slide 10

Slide 10 text

Webアプリケーションのセキュリティ? セキュリティと言われて思い浮かぶこと 10 (C) Recruit Technologies Co.,Ltd. All rights reserved. SQLインジェクション OSコマンドインジェクション 単にセキュリティと言ってしまうと スコープが広くなりすぎるので大きく絞って説明

Slide 11

Slide 11 text

Webアプリケーションのセキュリティ対策 Webアプリケーションの外部攻撃へのセキュリティ対策を 考えると主に2つの対策がある 1. アプリケーションそのものを堅牢にする 2. アプリケーションを別の方法で保護する 11 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 12

Slide 12 text

Webアプリケーションのセキュリティ Webアプリケーションのセキュリティを考えると主に2つ の対策がある 1. アプリケーションそのものを堅牢にする 2. アプリケーションを別の方法で保護する 12 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 13

Slide 13 text

1. アプリケーションそのものを堅牢にする • セキュアコーディングによって脆弱性の少ないコード記 述をすることで安全なアプリケーションを実現する 13 (C) Recruit Technologies Co.,Ltd. All rights reserved. 参考 JPCERT CC https://www.jpcert.or.jp/securecoding/ 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 第2版 (徳丸 浩著, SB Creative刊)

Slide 14

Slide 14 text

1. アプリケーションそのものを堅牢にする • セキュアコーディングによって脆弱性の少ないコード記 述をすることで安全なアプリケーションを実現する 14 (C) Recruit Technologies Co.,Ltd. All rights reserved. 参考 JPCERT CC https://www.jpcert.or.jp/securecoding/ 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 第2版 (徳丸 浩著, SB Creative刊) これで安全なアプリケーションは実現できる!

Slide 15

Slide 15 text

1. アプリケーションそのものを堅牢にする • セキュアコーディングによって脆弱性の少ないコード記 述をすることで安全なアプリケーションを実現する 15 (C) Recruit Technologies Co.,Ltd. All rights reserved. 参考 JPCERT CC https://www.jpcert.or.jp/securecoding/ 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 第2版 (徳丸 浩著, SB Creative刊) これで安全なアプリケーションは実現できる! わけない

Slide 16

Slide 16 text

1. アプリケーションそのものを堅牢にする 程度の差こそあれ、人は必ず実装ミスをする & アプリケーションの脆弱性は簡単には根本対策できない (脆弱性の特定 & 回避策の適用 & コード変更による既存機能への影響がないことの確認、 そもそもコード自体が自分たちの管理配下にあるのか? ひとまず他でワークアラウンドする対応も必要になる) 16 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 17

Slide 17 text

1. アプリケーションそのものを堅牢にする 程度の差こそあれ、人は必ず実装ミスをする & アプリケーションの脆弱性は簡単には根本対策できない (脆弱性の特定 & 回避策の適用 & コード変更による既存機能への影響がないことの確認、 そもそもコード自体が自分たちの管理配下にあるのか? ひとまず他でワークアラウンドする対応も必要になる) 17 (C) Recruit Technologies Co.,Ltd. All rights reserved. もちろんセキュアコーディングは大事だが、 もう一段の対策をする

Slide 18

Slide 18 text

Webアプリケーションのセキュリティ Webアプリケーションのセキュリティを考えると主に2つ の対策が出てきます。 1. アプリケーションそのものを堅牢にする 2. アプリケーションを別の方法で保護する 18 (C) Recruit Technologies Co.,Ltd. All rights reserved. これがもう一段の対策

Slide 19

Slide 19 text

2. アプリケーションを別の方法で保護する 一般的には、 1. Webアプリケーションファイアウォール(WAF) 2. 不正侵入検知システム(IDS) を利用することが多い 19 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 20

Slide 20 text

2. アプリケーションを別の方法で保護する 一般的には、 1. Webアプリケーションファイアウォール(WAF) 2. 不正侵入検知システム(IDS) を利用することが多い 20 (C) Recruit Technologies Co.,Ltd. All rights reserved. WAF, IDSがどんなものかわかってる方 ノシ わかってる方しかいない場合は数スライド飛ばします

Slide 21

Slide 21 text

WAFとは • Webアプリケーションに特化したファイアウォール • リクエストのヘッダ・ボディの内容をチェックして悪意 のあるリクエストに対してリクエストをブロックしたり、 アラートをあげたりする 21 (C) Recruit Technologies Co.,Ltd. All rights reserved. 悪意のある リクエスト 通常の リクエスト 問題ないので通過 怪しいので ブロック&アラート WAF Web アプリケーション ※ 悪意のあるリクエストが具体的にどんなものなのかは徳丸本などを参照

Slide 22

Slide 22 text

IDSとは • ネットワークにおける怪しい挙動がないかを確認・検知す るツール • ポートスキャンやsyn floodなどの検知を行う(WAFに近い機能を持つものもある) • 外向け通信で怪しい通信を行なっていないかも確認する場合がある 22 (C) Recruit Technologies Co.,Ltd. All rights reserved. サーバ IDS サーバ IDS 怪しい パケット 怪しいパケットが 飛んできたので通知しよう 外部の怪しい サーバ このサーバ、 なんか変なプロセス 動いてない……? (C&Cサーバと通信してるんだけど) 外部からの怪しい通信の検知 外向けの怪しい通信の検知

Slide 23

Slide 23 text

WAFとIDSについての留意点 • WAF/IDSをうまく利用することでアプリケーションをよ りセキュアにできる • WAF/IDSは万能薬ではない • 一般的には検知ルールを作成、適用することで利用する • もちろん広く配布されているルールがある! • あくまでも頻出パターンを整理したものであって全てをカバーす ることはできない(誤検知もある!) • 例えば、定番の攻撃のブロック、すぐに修正できない脆弱性への ワークアラウンドといった形で活用できる • セキュアコーディングや適切なインフラ設定をすることは大前提 23 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 24

Slide 24 text

WAFとIDSについての留意点 • WAF/IDSをうまく利用することでアプリケーションを よりセキュアにできる • WAF/IDSは万能薬ではない • 一般的には検知ルールを作成、適用することで利用する • もちろん広く配布されているルールがある! • あくまでも頻出パターンを整理したものであって全てをカバーす ることはできない(誤検知もある!) • 例えば、定番の攻撃のブロック、すぐに修正できない脆弱性への ワークアラウンドといった形で活用できる • セキュアコーディングや適切なインフラ設定をすることは大前提 24 (C) Recruit Technologies Co.,Ltd. All rights reserved. ここまでで基本を整理

Slide 25

Slide 25 text

テーマ2 Kubernetesとクラウドを活用した Webアプリケーションセキュリティ機能の実装と運用 25 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 26

Slide 26 text

本セッションでのKubernetesとセキュリティ Kubernetes固有のセキュリティの話題 • RBAC • NetworkPolicyなどなど Kubernetesとパブリッククラウドで セキュリティ機能の導入と運用を楽にする スコープ外 スコープ内

Slide 27

Slide 27 text

本セッションでのKubernetesとセキュリティ Kubernetes固有のセキュリティの話題 • RBAC • NetworkPolicyなどなど Kubernetesとパブリッククラウドで セキュリティ機能の導入と運用を楽にする スコープ外 スコープ内 • https://github.com/ahmetb/kubernetes-network-policy-recipes • https://github.com/IBM/rbac-in-k8s • https://kubernetes.io/docs/reference/access-authn-authz/rbac/ RBACについての参考 NetworkPolicyについての参考

Slide 28

Slide 28 text

本セッションでのKubernetesとセキュリティ Kubernetes固有のセキュリティの話題 • RBAC • NetworkPolicyなどなど Kubernetesとパブリッククラウドで セキュリティ機能の導入と運用を楽にする スコープ外 スコープ内 これ以降はこちらについて解説

Slide 29

Slide 29 text

セキュリティ機能の導入と運用における基本方針 • 導入の基本方針 • 容易かつ、確実に大量のツール導入が可能であること • 運用の基本方針 • 検知ルールを容易かつ、確実に適用できること • 適用時にサービスに影響するダウンタイムがないこと • 監査・通知プロセスにかかる人的コストがサービスの 規模に比例しないこと 29 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 30

Slide 30 text

導入と運用における基本方針 • 導入の基本方針 • 容易かつ、確実に大量のツール導入が可能であること • 運用の基本方針 • 検知ルールを容易かつ、確実に適用できること • 適用時にサービスに影響するダウンタイムがないこと • 監査・通知プロセスにかかる人的コストがサービスの 規模に比例しないこと 30 (C) Recruit Technologies Co.,Ltd. All rights reserved. コンテナ/k8sの得意領域

Slide 31

Slide 31 text

導入と運用における基本方針 • 導入の基本方針 • 容易かつ、確実に大量のツール導入が可能であること • 運用の基本方針 • 検知ルールを容易かつ、確実に適用できること • 適用時にサービスに影響するダウンタイムがないこと • 監査・通知プロセスにかかる人的コストがサービスの 規模に比例しないこと 31 (C) Recruit Technologies Co.,Ltd. All rights reserved. コンテナ/k8sの得意領域 少しだけ工夫が必要

Slide 32

Slide 32 text

WAFの導入と運用について 32 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 33

Slide 33 text

WAFの選定 WAFのソリューションは多く存在、OSSプロダクトもいく つか存在する 今回はOSSのプロダクトとしてModSecurity(より正確には ModSecurity-nginxを利用) 33 (C) Recruit Technologies Co.,Ltd. All rights reserved. https://modsecurity.org/ https://github.com/SpiderLabs/ModSecurity-nginx

Slide 34

Slide 34 text

ModSecurity-nginx の選定理由 ① OSSであること – “ひとまず”試してみることが可能 ② システム構成を変更することなく、品質の向上を図れそう – 長期的視点で見たときの運用 34 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 35

Slide 35 text

ModSecurity-nginx の選定理由 ① OSSであること – ひとまず試してみることが可能 ② システム構成を変更することなく、品質の向上を図れそう – 長期的視点で見たときの運用 35 (C) Recruit Technologies Co.,Ltd. All rights reserved. 要補足

Slide 36

Slide 36 text

システムの構成を変更することなく品質向上を図る ModSecurity-nginxを利用した登り方として以下のような 想定ができる 36 (C) Recruit Technologies Co.,Ltd. All rights reserved. 1st Step or 2nd Step WAF 3rd Step

Slide 37

Slide 37 text

システムの構成を変更することなく品質向上を図る ModSecurity-nginxを利用した登り方として以下のような 想定ができる 37 (C) Recruit Technologies Co.,Ltd. All rights reserved. 1st Step or 2nd Step WAF 3rd Step WAFに ついて知る (開発環境での運用トレーニン グ・フィジビリ導入)

Slide 38

Slide 38 text

システムの構成を変更することなく品質向上を図る ModSecurity-nginxを利用した登り方として以下のような 想定ができる 38 (C) Recruit Technologies Co.,Ltd. All rights reserved. 1st Step or 2nd Step WAF 3rd Step WAFに ついて知る (開発環境での運用トレーニン グ・フィジビリ導入) 商用ルールの導入による Techサポート取得 (ある程度の規模での導入と本格利用 & サポート活用による組織内工数コスト減)

Slide 39

Slide 39 text

システムの構成を変更することなく品質向上を図る ModSecurity-nginxを利用した登り方として以下のような 想定ができる 39 (C) Recruit Technologies Co.,Ltd. All rights reserved. 1st Step or 2nd Step WAF 3rd Step WAFに ついて知る (開発環境での運用トレーニン グ・フィジビリ導入) 商用ルールの導入による Techサポート取得 (ある程度の規模での導入と本格利用 & サポート活用による組織内工数コスト減) CDN上のWAF活用 (WAFの処理リソースの外部化 & DDoS耐性向上、サポート活 用による組織内工数コスト減)

Slide 40

Slide 40 text

ModSecurity-nginx の課題 OSSではあるので、本格的な商用製品と比較すると運用面で 劣る部分はある ① ルールのアップデート ② ルールの管理(不要ルールの除外・カスタムルールの追加) ③ アラートの仕組み • おそらくこの3つが商用製品との大きな違い • デフォルトかつ実装容易な形ではこの部分の機能は提供していない 40 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 41

Slide 41 text

ModSecurity-nginx の課題 OSSではあるので、本格的な商用製品と比較すると運用面で 劣る部分はある ① ルールのアップデート ② ルールの管理(不要ルールの除外・カスタムルールの追加) ③ アラートの仕組み • おそらくこの3つが商用製品との大きな違い • デフォルトかつ実装容易な形ではこの部分の機能は提供していない 41 (C) Recruit Technologies Co.,Ltd. All rights reserved. それぞれどのようにして対応するかを解説

Slide 42

Slide 42 text

(課題への対応) ① ルールのアップデート ②ルールの管理 サイドカーパターンを利用してルールの更新・追加をでき る仕組みを実現する 42 (C) Recruit Technologies Co.,Ltd. All rights reserved. ModSecurity-nginx rule-updater (crond) ModSecurity CRS Custom Rule (ConfigMap)

Slide 43

Slide 43 text

(課題への対応) ① ルールのアップデート ②ルールの管理 サイドカーパターンを利用してルールの更新・追加をでき る仕組みを実現する 43 (C) Recruit Technologies Co.,Ltd. All rights reserved. ModSecurity-nginx rule-updater (crond) ModSecurity CRS Custom Rule (ConfigMap) ①最新ルールを 取得して配置

Slide 44

Slide 44 text

(課題への対応) ① ルールのアップデート ②ルールの管理 サイドカーパターンを利用してルールの更新・追加をでき る仕組みを実現する 44 (C) Recruit Technologies Co.,Ltd. All rights reserved. ModSecurity-nginx rule-updater (crond) ModSecurity CRS Custom Rule (ConfigMap) ①最新ルールを 取得して配置 ②カスタムルールを アップデート

Slide 45

Slide 45 text

(課題への対応) ① ルールのアップデート ②ルールの管理 サイドカーパターンを利用してルールの更新・追加をでき る仕組みを実現する 45 (C) Recruit Technologies Co.,Ltd. All rights reserved. ModSecurity-nginx rule-updater (crond) ModSecurity CRS Custom Rule (ConfigMap) ①最新ルールを 取得して配置 ②カスタムルールを アップデート ③設定の再読み込みをキック (kill –HUP with hostPID: true)

Slide 46

Slide 46 text

(課題への対応) ③ アラートの仕組み クラウドサービスと組み合わせることでアラートについて は解決できる 46 (C) Recruit Technologies Co.,Ltd. All rights reserved. ModSecurity -nginx 検知ログ アラート (to Slack, mail, PagerDuty)

Slide 47

Slide 47 text

(課題への対応) ③ アラートの仕組み クラウドサービスと組み合わせることでアラートについて は解決できる 47 (C) Recruit Technologies Co.,Ltd. All rights reserved. ModSecurity -nginx 検知ログ アラート (to Slack, mail, PagerDuty) あらゆるメトリクス・非メトリクス 情報をここに集約 (大事なのは集約すること、 ”何かあればまずここを見る”場所 を作る)

Slide 48

Slide 48 text

(課題への対応) ③ アラートの仕組み クラウドサービスと組み合わせることでアラートについて は解決できる 48 (C) Recruit Technologies Co.,Ltd. All rights reserved. ModSecurity -nginx 検知ログ アラート (to Slack, mail, PagerDuty) あらゆるメトリクス・非メトリクス 情報をここに集約 (大事なのは集約すること、 ”何かあればまずここを見る”場所 を作る) クラウドサービスとの組み合わせにより、 不足部分は完全ではないものの、比較的容易にカバーできる

Slide 49

Slide 49 text

IDSの導入と運用について 49 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 50

Slide 50 text

IDS • WAFと同様にIDSも商用製品が存在 • OSSについても同様に存在 • OSSプロダクトが抱えている課題もほぼ同様 ① ルールのアップデート ② ルールの管理(不要ルールの除外・カスタムルールの追加) ③ アラートの仕組み

Slide 51

Slide 51 text

Suricataの選定理由 ① oinkmasterを用いたルールアップデートの容易化 ② 本家?snortよりも継続的なエンジン本体の更新 51 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 52

Slide 52 text

IDSのデプロイ方式 ① Kubernetesのノード(VM)にインストール ② Podとして実現させる 52 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 53

Slide 53 text

IDSのデプロイ方式① Kubernetesのノードにインストール • メリット • 導入事例が豊富(=間違いなく動作する…はず) • デメリット • ノードに対する前提条件が増える • (1台だけ入れ忘れたりしても気付きづらい) 53 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 54

Slide 54 text

IDSのデプロイ方式② Podとしてデプロイする • メリット(詳細は後述) • ノードに対する前提条件が減る • スケールアウトが容易になる • デメリット • 事例があまりないので実際に動かせるのか怪しい 54 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 55

Slide 55 text

IDSのデプロイ方式 ① Kubernetesのノード(VM)にインストール ② Podとして実現させる 55 (C) Recruit Technologies Co.,Ltd. All rights reserved. 実現できた場合のメリットの大きい②を 検証&選択

Slide 56

Slide 56 text

PodとしてIDSを導入するチャレンジ(検証結果) Kubernetesであれば容易に解決できた • hostNetwork: true で対応できる • Kubernetesのノード側ネットワークをPodに見せる • セキュリティポリシなどに依存する部分になるので注意 • Kubernetes as a Serviceの提供形態次第では使えない • 少なくともGKEでは利用できることを確認済み • DaemonSet • IDSのノードへの導入し忘れを予防できる 56 (C) Recruit Technologies Co.,Ltd. All rights reserved. (キーワード) hostNetwork: true & DaemonSet

Slide 57

Slide 57 text

IDSにおけるルールのアップデート・管理/アラートの仕組み WAFの場合と同様にサイドカーコンテナを活用する 57 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 58

Slide 58 text

Kubernetesを活用したWebアプリケーションセキュリティ実装 • 容易に取り組みを始めることは可能 • 今や基本的なセキュリティ対策としてWAFやIDSは必須 • 導入自体は困難ではない • 導入よりも 運用の手間を如何に下げるか (≒人間が対応する単純作業を減らす) ということに注力すべき 58 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 59

Slide 59 text

Kubernetesの外側のセキュリティはどうするか WAFとIDSを活用してKubernetes上で動作するWebアプ リケーションのセキュリティを高めることについては説明 した。 59 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 60

Slide 60 text

Kubernetesの外側のセキュリティはどうするか WAFとIDSを活用してKubernetes上で動作するWebアプ リケーションのセキュリティを高めることについては説明 した。 では、 Kuberenetesの外側のセキュリティ はどうするか? 60 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 61

Slide 61 text

Kubernetesの外側 守りたいものは”情報”。 つまり情報をためこんでいる場所を守りたい。 61 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 62

Slide 62 text

Kubernetesの外側 守りたいものは”情報”。 つまり情報をためこんでいる場所を守りたい。 62 (C) Recruit Technologies Co.,Ltd. All rights reserved. オブジェクト ストレージ RDB KVS Amazon S3 GCS RDS CloudSQL ElastiCache, DynamoDB Cloud memorystore

Slide 63

Slide 63 text

Kubernetesの外側 守りたいものは”情報”。 つまり情報をためこんでいる場所を守りたい。 63 (C) Recruit Technologies Co.,Ltd. All rights reserved. オブジェクト ストレージ RDB KVS Amazon S3 GCS RDS CloudSQL ElastiCache, DynamoDB Cloud memorystore 予防 … 各種アクセス制御設定&テストを頑張る

Slide 64

Slide 64 text

Kubernetesの外側 守りたいものは”情報”。 つまり情報をためこんでいる場所を守りたい。 64 (C) Recruit Technologies Co.,Ltd. All rights reserved. オブジェクト ストレージ RDB KVS Amazon S3 GCS RDS CloudSQL ElastiCache, DynamoDB Cloud memorystore 予防 … 各種アクセス制御設定&テストを頑張る 監査 … どうするかは後述

Slide 65

Slide 65 text

どうやって監査するか 今回は例としてGCPの場合で説明(ほぼ同等の内容はAWSでも実現可能) 65 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 66

Slide 66 text

どうやって監査するか 今回は例としてGCPの場合で説明(ほぼ同等の内容はAWSでも実現可能) 監査から結果通知までの一連の流れの自動化は必須 66 (C) Recruit Technologies Co.,Ltd. All rights reserved.

Slide 67

Slide 67 text

どうやって監査するか 今回は例としてGCPの場合で説明(ほぼ同等の内容はAWSでも実現可能) 監査から結果通知までの一連の流れの自動化は必須 67 (C) Recruit Technologies Co.,Ltd. All rights reserved. 常時人が介在する必要はない。 異常を検知した際に動けるようにしておく

Slide 68

Slide 68 text

オブジェクトストレージの監査例 オブジェクトストレージのアクセスログを監査する 68 (C) Recruit Technologies Co.,Ltd. All rights reserved. 監査対象 バケット Stackdriver Logging アクセスログ 格納バケット Cloud Function バケットのアクセスログを Stackdriver Loggingにいれる Stackdriverから 格納バケットにsinkする 定期的にログが出力される たびに監査 & Slackなどに 結果を通知 普段と異なるアクセス元からの アクセス、異なる認証情報での アクセスがないかを確認

Slide 69

Slide 69 text

CloudSQLの監査例 CloudSQLの監査例 69 (C) Recruit Technologies Co.,Ltd. All rights reserved. 監査対象 CloudSQL インスタンス Stackdriver Logging 監査ログ 格納バケット Cloud Function 認証ログ・クエリログ※を Stackdriver Loggingにいれる Stackdriverから 格納バケットにsinkする 定期的にログが出力される たびに監査 & Slackなどに 結果を通知 普段と異なるアクセス元からのアクセス、 異なる認証情報でのアクセスをチェック (+ できれば通常と異なるSQLの実行がないかを確認) ※ クエリログについてはインスタンスの性能影響に注意すること

Slide 70

Slide 70 text

Cloud memorystoreの監査の例 VPCフローログから普段と異なるアクセスを監査する 70 (C) Recruit Technologies Co.,Ltd. All rights reserved. Stackdriver Logging アクセスログ 格納バケット Cloud Function Stackdriverから 格納バケットにsinkする 定期的にログが出力される たびに監査 & Slackなどに 結果を通知 普段と異なるアクセス元からの アクセスがないかを確認 VPC VPCフローログ※ をStackdriver Loggingにいれる ※ VPCフローログは容量が大きいのでログ のフィルタ条件などによって不要なログが 連携されないよう調整は必要

Slide 71

Slide 71 text

一般化できる 71 (C) Recruit Technologies Co.,Ltd. All rights reserved. Stackdriver Logging アクセスログ 格納バケット Cloud Function アクセスログを バケットに エクスポート CloudFunctionで ログをチェック & 結果通知 普段と異なるアクセス傾向 がないかを確認 ログの ソース アクセスログの出力& Stackdriver Loggingへの格納 自動化されているので、問題を検知した時だけ 人が調査すればいい仕組みを実現できる

Slide 72

Slide 72 text

まとめ • Kubernetesを活用してWAF/IDSを効率的に導入・運用す ることは可能 • 長期的な視点で何を重視するかを考えてツールの選定は行いましょう • サイドカーなどの分散システムのデザインパターンを活用しましょう • ただし、ルール更新や監査・アラート通知で自動化の工夫は必要 • セキュリティ系ログの監査 • パブリッククラウドの諸機能を使って自動化することで効率的に運用する ことは可能 72 (C) Recruit Technologies Co.,Ltd. All rights reserved. セキュリティ機能(WAF/IDS)の効率的な導入と運用、ログ監査の効率化は、 Kubernetesとパブリッククラウドを組み合わせることで実現可能です。 是非一度試してみてはいかがでしょうか?

Slide 73

Slide 73 text

ご清聴ありがとうございました 73 (C) Recruit Technologies Co.,Ltd. All rights reserved.