Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SUSE RancherとKubernetes環境へのWAF対応
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
TakashiAsanuma
October 22, 2021
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SUSE RancherとKubernetes環境へのWAF対応
TakashiAsanuma
October 22, 2021
More Decks by TakashiAsanuma
See All by TakashiAsanuma
Skills間の連携も関数のようにしたら快適だった話
takashiasanuma
1
1.6k
Supabase CLIのある開発日常
takashiasanuma
3
370
DCC2P_IDCFクラウドコンテナ商用サービス事例紹介
takashiasanuma
0
100
RubyによるPub/Sub messaging - パブリッククラウドのバックエンドシステム事例 /Public Cloud backend system
takashiasanuma
0
160
RubyでPub/Sub messaging-Multi Process-Daemonizes-Application
takashiasanuma
1
12k
Scalable Applications with Pub/Sub Messaging
takashiasanuma
0
130
Pub/Subメッセージングのテスト(LT版)
takashiasanuma
0
110
IDCクラウドのバックエンド
takashiasanuma
0
160
CMやるよって言われてからのインフラチューニング
takashiasanuma
0
240
Other Decks in Technology
See All in Technology
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
1.3k
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
320
Lightning近況報告
kozy4324
0
200
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
140
徹底討論!ECS vs EKS!
daitak
0
550
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
270
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
160
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
160
GitHub Copilot app最速の発信の裏側
tomokusaba
1
190
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
250
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
420
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
RailsConf 2023
tenderlove
30
1.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
1 © IDC Frontier Inc. All Rights Reserved. SUSE RancherとKubernetes環境
へのWAF対応 株式会社IDCフロンティア エンジニアリング本部 開発部 浅沼 2021年9月30日
2 © IDC Frontier Inc. All Rights Reserved. 2 Agenda
1. IDCFクラウド コンテナコンソールのWAF対応 (SUSE Rancher/Kubernetes環境におけるWAF対応) 2. コンテナ運用管理を成功に導く鍵-SUSE Rancherとは (SUSE社より)
3 © IDC Frontier Inc. All Rights Reserved. 3 IDCフロンティアについて
高集積・大規模なニーズに 応えるデータセンターを全国 に7ヵ所、グループ全体では 19ヵ所展開。 ※2021年3月時点 データセンター事業 シンプル・パワフルなクラウ ドプロダクトと、プライベート やハイブリッドクラウドなど豊 富なラインアップ。 クラウド事業 クラウド型レンタルサー バー、ドメイン名登録など中 小企業や個人事業主の IT環 境を支援。 ホスティングサービス ドメイン名登録サービス 大企業 SI企業 大手IT事業者 IDCフロンティアは、法人向けのITインフラサービスを提供しているソフトバンクのグループ企業です。 データセンター事業、クラウド事業を主軸に、中小企業からエンタープライズまで、 幅広いお客さまのニーズに応えるサービスを取り揃えています。 ネットサービス企業 クラウドSI企業 中堅・中小企業 個人事業主
4 © IDC Frontier Inc. All Rights Reserved. 自社開発と 他社プロダクト
連携により 幅広い ラインアップ IDCFクラウド コンピューティング データ ベース DNS/GSL B CDN (コンテンツキャッシュ) (Fastly) プライベート クラウド (ホスティッド型) バーチャルブリッジ (サービス間接続) プライベートコネクト (オンプレ接続) クラウドストレージ (Google Cloud Storage) ロード バランサー ベアメタル サーバー コンテナ GPU サーバー
5 © IDC Frontier Inc. All Rights Reserved. 5 マルチインフラ環境でKubernetesクラスターの展開・管理
管理基盤にSUSE Rancherを採用 IDCFクラウド コンテナ
6 © IDC Frontier Inc. All Rights Reserved. 6 IDCFご利用のお客様状況と市場の流れ
市場でもクラウド利用者の 81%が2社以上の 事業者と契約 81% 2社以上のクラウド 単独の クラウド IDCFクラウドユーザーの 73%が ハイブリッド利用 ハイブリッド利用やマルチクラウドが主流に データセンターとクラウド 両方を担うIDCFだからこそ 必要な性能や機能で選ぶ マルチクラウドの流れ 出典:Smarter With Gartner「Why Organizations Choose a Multicloud Strategy」(2019年5月7日) 出典:https://www.idcf.jp/cloud/hybrid/ クラウド × オンプレミス クラウド × 物理サーバー クラウド × データセンター
7 © IDC Frontier Inc. All Rights Reserved. 7 これからの開発・実行環境
要件にあわせた環境をそろえたい、コンテナ管理が必要 自社コンテナ イメージの標 準化 (マイクロサービス前提) 実行環境を 選べる (マルチクラウド利用) インフラ 維持管理 不要 現在の課題 クラウドベンダーのコンテナ環境 データセンターのオンプレミス環境 プロダクション単位でコンテナ環境がバラバラ (GKE,ECS,EKS etc.) インフラ維持管理にエンジニア稼働が奪われる • 開発環境が乱立・増殖・混乱 • あるいは特定クラウドベンダーへの依存リスク • 重要コンポーネントのコンテナ化が困難 (i.e.セキュリティ要件が厳しい) • コンテナ・マイクロサービス開発体制へのシフトが進まない • インフラ機材所有コストの増大 • ハードウェアの陳腐化対応 • 監視運用稼働の削減に苦悩
8 © IDC Frontier Inc. All Rights Reserved. 8 モニタリング
コンテナからクラスタまで どのプラットフォームでも 同じ様にリソースをモニタリング マルチクラウド ハイブリッドクラウド サービスの特長 Any インフラ - 構築環境を選ばない - 学習コスト低減 - GUIから手軽に構築 - 運用負荷軽減 - サポートは日本語 - ベアメタルまたは プライベートクラウドなどの 社内仮想化プラットフォームに Kubernetesを展開 IDCFクラウドのコンピュートに加え GKE/EKS/AKSなど 複数のパブリッククラウドを シームレスに利用可能 ワンストップ マルチクラウド/インフラを 1つのインターフェースで 全てのクラスターを管理 カスタマーサポート IDCFクラウド同様の 日本語によるサポート体制 を提供 シンプル WEB UI WEB UIからワークロードを 簡単管理でき、YAML編集から コマンドライン操作まで 可能
9 © IDC Frontier Inc. All Rights Reserved. IDCFクラウド コンテナコンソール
のWAF対応 SUSE Rancher/Kubernetes環境のWebアプリケーション提供に当たって
10 © IDC Frontier Inc. All Rights Reserved. 10 IDCFクラウド
クラウドコンソールのWAF対応 IDCF Cloud Console 既存 クラウド型 WAF ゼロデイ攻撃 非ボット型攻撃 不正ログイン 標的型攻撃 高度な攻撃 不正なボットや 自動化された攻撃 ソフトウェアの脆弱性や 一般的な攻撃 (OWASP Top10, etc) Webアプリケーションへの サイバー攻撃例
11 © IDC Frontier Inc. All Rights Reserved. 11 IDCFクラウド
コンテナコンソールでの課題 IDCF コンテナ Console (SUSE Rancher/Kubernetes) 既存 クラウド型 WAF ・HTTP/2 ・WebSocket ・SPDY への対応が必須 SUSE RancherのEndpoint、及び、SUSE RancherはKubernetesのEndpointでも ある。そのため、WebSocket・SPDYの通信に対応するWAFが必要。 既存WAFに必要なプロトコル対 応がなかった・・・ ❌
12 © IDC Frontier Inc. All Rights Reserved. 12 要件に適したWAFの選定
要件 A社製品 B社製品 C社製品 NGINX Plus Ingress WebSocket対応 × ◎ ◎ ◎ HTTP/2対応 × ◎ ◎ ◎ SPDY対応 × × × ◎ kubernetesとの相性 - - - ◎ 余談ですが、kubectl execのSPDYについて、Kubernetesコミュニティは議論中 SPDY is deprecated. Switch to HTTP/2. #7452 https://github.com/kubernetes/kubernetes/issues/7452
13 © IDC Frontier Inc. All Rights Reserved. 13 SUSE
Rancher/KubernetesとIngress構成 Pod SUSE Rancher アプリケーション Internet Pod ingress-nginx ingress-nginx ingress-nginx IDCFクラウド コンテナ SUSE Rancher アプリケーション ingress-nginxをNGINX Plus Ingress + App protectへ置き換えていくことができるので、 NGINX Plusへ移行してもKubernetesのリソースとして扱うことができる
14 © IDC Frontier Inc. All Rights Reserved. 14 ingress-nginxとNGINX
Plus IngressのAnnotation Annotation(ingress-nginx) NGINX Plus 備考 nginx.ingress.kubernetes.io/proxy-connect-timeout ◎ nginx.ingress.kubernetes.io/proxy-read-timeout ◎ nginx.ingress.kubernetes.io/proxy-send-timeout ◎ nginx.ingress.kubernetes.io/rewrite-target ◎ nginx.ingress.kubernetes.io/service-upstream ◎ NGINX Ingress Controller v1.11より対応 nginx.ingress.kubernetes.io/ssl-redirect ◎ nginx.ingress.kubernetes.io/use-regex ◎ nginx.ingress.kubernetes.io/server-snippet ◎ nginx.ingress.kubernetes.io/configuration-snippet ◎ Kubernetesコミュニティのingress-nginxで実装が進んでいたservice-upstreamのような AnnotationもNGINX Plusのingressは追随しているのがありがたい
15 © IDC Frontier Inc. All Rights Reserved. 15 NGINX
Plus Ingress のリソース構成 apiVersion: k8s.nginx.org/v1 kind: VirtualServer metadata: name: xxxxxx.com namespace: default spec: host: xxxxxx.com policies: - name: waf-policy server-snippets: | location ^~ /healthz { access_log off; return 200; } routes: - path: ~* ^/ui/.* route: ui-index/idcf--ui VirtualServer apiVersion: k8s.nginx.org/v1 kind: VirtualServerRoute metadata: name: idcf-ui namespace: ui-index spec: host: xxxxxx.com upstreams: - name: ui-index service: ui-index port: 80 use-cluster-ip: true subroutes: - path: ~* ^/ui/.* action: proxy: upstream: ui-index VirtualServerRoute 複数のnamespaceで同じhostを使用するため、VirtualServerとVirtualServerRouteのリソー スタイプを使用する。また、NGINXの機能拡張をConfigmapで利用する。 kind: ConfigMap apiVersion: v1 metadata: name: nginx-config namespace: nginx-ingress data: proxy-connect-timeout: "30s" proxy-read-timeout: "1800s" proxy-send-timeout: "1800s" ….. Configmap ・共通の固有パラメーター ・headers-moreモジュール などをConfigmapにまとめる
16 © IDC Frontier Inc. All Rights Reserved. 16 NGINX
App Protectのリソース構成 apiVersion: k8s.nginx.org/v1 kind: VirtualServer metadata: name: xxxxxx.com namespace: xxxxx spec: host: xxxxx.com policies: - name: waf-policy VirtualServer apiVersion: k8s.nginx.org/v1 kind: Policy metadata: name: waf-policy namespace: xxxxx spec: waf: enable: true apPolicy: "appprotect-policy" securityLog: enable: true apLogConf: "logconf-app" logDest: "syslog:server=xx.x.x.xxx:5144" Policy App Protect apiVersion: appprotect.f5.com/v1beta1 kind: APPolicy metadata: name: appprotect-policy namespace: xxxxx spec: policy: name: app_protect_policy template: name: POLICY_TEMPLATE_NGINX_BASE applicationLanguage: utf-8 ... apiVersion: appprotect.f5.com/v1beta1 kind: APLogConf metadata: name: logconf-app namespace: xxxxx spec: filter: request_type: all content: format: default ... WAFのルール設定は、kind:APPolicyの中で行う。 enforcementModを使い、Blockingの有効・透過を設定。現在は透 過で様子見中。
17 © IDC Frontier Inc. All Rights Reserved. 17 App
Protect DashBoard App Protectに対応したGUIのDashBoardがOSSとして公開されており、WAFとしてリ クエストの状況を可視化、運用中の確認などに利用できる https://github.com/f5devcentral/f5-waf-elk-dashboardsより
18 © IDC Frontier Inc. All Rights Reserved. 18 NGINX
Plus Ingress+App Protectを導入してみて • NGINX App ProtectはKubernetesリソースとして扱える唯一のWAF • NGINX Plus IngressにもKubernetesコミュニティの開発機能がキャッチアップされ るのがありがたい • NGINXとしての機能エンハンス・拡張を組み込むことができる(HTTP/3とか ingress-nginxはまだ様子見で組み込んでいない) • なので、ingress-nginxとNGINXの良いところ採りに期待できる • NGINX Plus Ingress + App ProtectはKubernetesリソースなので、Kubernetesを 利用するインフラ・アプリエンジニアは既存プロセスで扱うことができる • ingress-nginxからの初回コンバートは大変。F5ネットワークス社のコンサルサービ スでのコンバート支援はありがたい
19 © IDC Frontier Inc. All Rights Reserved.