CNDT 2020にNGINXのアーキテクトが登壇。NGINX Ingress ControllerとそのWAF機能を紹介

2020年9月29日(火)
松下 康之 - Yasuyuki Matsushita
CNDT 2020にNGINXのアーキテクトが登壇し、NGINX Ingress ControllerとKubernetes対応アプリケーションセキュリティであるNGINX App Protectを紹介した。

ロードバランサーの代表的な製品であるBIG-IPを開発販売するF5 Networks Inc. その日本法人であるF5ネットワークスジャパン株式会社(以下、F5)が、CloudNative Days Tokyo 2020のセッションに登壇した。

ハードウェアベンダーとしてエンタープライズ企業からの信頼を得ているF5だが、このセッションではクラウドネイティブなシステムへの適応という意味で2019年に買収したNGINXのソリューションをベースに、クラウドネイティブな環境でのソリューションを解説した。そして最後にデモとして、新しいWAF(Web Application Firewall)を使ったSQLインジェクションに対する防御などを紹介した。

オンラインセッションに登壇したのは、F5のNGINXテクニカルソリューションズアーキテクトの鈴木孝彰氏だ。

鈴木氏のスライドの1枚目

鈴木氏のスライドの1枚目

スライドには「WAF機能を備えた唯一のIngress Controller」と明記されており、NGINXをKubernetes環境で利用する際の訴求ポイントを印象付けるタイトルとなった。セッションの内容は、NGINX Ingress Controllerの概要、Kubernetesに対応したWAFとなるNGINX App Protectの紹介、そして最後にAKS、GKE上でのアクセス防御を実行するデモという3部構成だ。

鈴木氏のセッションの構成

鈴木氏のセッションの構成

クラウドネイティブ時代にこそ
F5/NGINXのソリューションを

最初に「NGINX製品がF5の中でどう位置付けされているのか?」を紹介するスライドを使って、NGINXの製品とF5の従来の製品との違いを紹介した。F5といえばBIG-IPというブランドによるロードバランサーソリューションというのが、クラウドが隆盛するまでのエンタープライズ企業のIT部門の理解だったと言えるだろう。

しかし2019年にNGINXを買収したことで、主にソフトウェアで構成されるクラウドネイティブなシステムにおいてもF5のソリューションが利用可能であることを確認する流れとなった。

F5の中のNGINX製品の位置付け

F5の中のNGINX製品の位置付け

このスライドによれば、F5はNGINX Plusを「データセンター、パブリッククラウドをカバーするソフトウェアによるアプリケーションデリバリーコントローラー」と位置付けている。またスライドの右端にはコントロールプレーンとしてのNGINX Controllerも存在しており、データプレーンとしてのNGINX Plus、それを制御するNGINX Controllerというモダンな構成になっている。

WebサーバーとしてのNGINXは着実に成長を続けており、Apacheが減少傾向にあるのと対照的にNo.1のWebサーバーとしての地位を確立していると言える。これは、Netcraftの2020年8月のサーチレポートでも確認でき、すでに世界中の4.5億サイトでNGINXが稼働しているという。

Netcraftのレポート:August 2020 Web Server Survey

次のスライドでは、NGINXのソリューションのポートフォリオが紹介された。ここでは、オープンソースソフトウェア版のNGINX、商用版のNGINX Plus、NGINX Controller、それにアプリケーションサーバーであるNGINX Unitも紹介されている。

NGINXのプロダクトポートフォリオ

NGINXのプロダクトポートフォリオ

そしてKubernetesによるマイクロサービスにおいて、NGINXがどのように構成されるのかを紹介したのが次のスライドだ。

マイクロサービスにおけるNGINX製品の主な機能

マイクロサービスにおけるNGINX製品の主な機能

ここでは外部からのアクセス(North-Southトラフィック)と、コンテナへのアクセスを制御するIngress Controller、そしてPod間のトラフィックであるEast-Westトラフィックに対するマイクロサービスゲートウェイを紹介した。

特にKubernetesのクラスター内のトラフィックがどのようにNGINXで制御されるのかを紹介した次のスライドでは、NGINX ControllerとPodにサイドカーとしてインジェクトされるNGINXのエージェントによって、サービスメッシュが実装されていることが示された。

シンプルに表現されたNGINXによるマイクロサービス実装

シンプルに表現されたNGINXによるマイクロサービス実装

Kubernetes上の実装として、すでに多くの企業で導入されているというNGINX Ingress Controllerだが、オープンソースソフトウェアとしてGitHub上でも公開されており、まずはこれを用いて試すということも可能であることが解説された。

Kubernetes上でのサービスメッシュにも実装可能

Kubernetes上でのサービスメッシュにも実装可能

NGINX Ingress Controllerの新機能

そしてNGINX Ingress Controllerの最新リリースについても触れた。NGINX Ingress Controller 1.7.0では、Red Hatが強力にプッシュするOpenShift 4.3のオペレーターをサポートするようになった。そしてその次のバージョンである1.8.0では、WAFの機能を実装するNGINX App Protectのサポートなどが紹介された。

NGINX Ingress Controllerの最新リリースを紹介

NGINX Ingress Controllerの最新リリースを紹介

Red Hat OpenShift 4.3のサポートについては、認定済みのオペレーターがOperatorHubから利用可能であることに加えて、標準のDefault Routerやオープンソースソフトウェア版NGINXとの比較も紹介された。

OpenShiftでも利用できるIngress Controller

OpenShiftでも利用できるIngress Controller

Default RouterやOSS版との違いも解説

Default RouterやOSS版との違いも解説

その後、GKEやAKSでの利用についても解説し、オンプレミス、パブリッククラウドを柔軟に使い分けられることが示された。

開発ステージに合わせてトラフィックを切り替えられる機能を紹介

開発ステージに合わせてトラフィックを切り替えられる機能を紹介

その後、NGINX Ingress Controllerの北米でのユースケースとして、動画広告の配信を行うLKQD Technologiesでの使われ方が解説された。ここでは機能の高さに加えて、サポートの質の高さも評価したという顧客の声が紹介された。

LKQDでのユースケースを紹介

LKQDでのユースケースを紹介

WAF機能を備えた唯一のIngress Controller

そしてNGINX Ingress Controller 1.8.0からサポートされると紹介されたNGINX App Protectについて解説を行った。

F5 NGINX App Protectの紹介

F5 NGINX App Protectの紹介

ここで注目したいのが、NGINXがWAF(Webアプリケーションファイアウォール)機能を備えた唯一のIngress Controllerであり、コンテナ・Kubernetes環境へのセキュリティに注力している点である。具体的には、NGINX Ingress ControllerにNGINX App Protectを組み込むことで、使い慣れたKubernetes APIを使用してセキュリティポリシーと構成を管理できるようになる点だ。

F5が長年「BIG-IP」で提供しているWAF機能を、NGINX Plusでも使えるようにした形である。この信頼性の高いWAF機能によって、バッファオーバーフローを引き起こす攻撃や、SQLインジェクションを使った攻撃など、Webアプリケーションを狙った不正な攻撃を、シグネチャベースで検知して防御できる。

従来は専用アプライアンスでWAFソリューションを使うのが一般的だったが、NGINX Plusが動いているDocker/Kubernetes環境に容易にWAF機能を適用できるメリットは大きい。独自に環境を整えたKubernetesだろうが、パブリッククラウドのマネージドのKubernetesだろうが、どこでも同じものを同じ設定で共通して使える。際立つポータビリティ性の高さが、セキュリティに関わる運用の負荷を大きく低減することにつながると期待される。

App Protectの標準セキュリティポリシー

App Protectの標準セキュリティポリシー

そして、機能面だけではなくフットプリントが軽く高速に実行できるとして、オープンソースのWAFであるModSecurityと比較し、高い性能を示していることが示された。

NGINX App ProtectとModSecurityの比較

NGINX App ProtectとModSecurityの比較

最後のパートではNGINX Ingress ControllerとNGINX App Protectのデモが行われた。

短いデモでカナリーリリースと不正アクセスからの防御を紹介

短いデモでカナリーリリースと不正アクセスからの防御を紹介

40分というセッション時間の中では限られたデモのエッセンスだけを紹介した形になったが、URLに仕込まれたスクリプトをNGINX App Protectがちゃんとリジェクトしているところなどを示して、実際に外部からの不正アクセスを防いでいることを見せた意味は大きいだろう。ここで示された必要最小限のデモは、より詳細なデモや解説を聴きたいという興味を喚起する効果的なものだったと言えるだろう。

最後にまとめとして、オンプレミスのKubernetes、複数のパブリッククラウドでもトラフィック制御とアプリケーションまでを意識したセキュリティを実現できるという強みを紹介して、セッションを終えた。

NGINXが提供するオンプレミス&マルチクラウド環境のセキュリティソリューション

NGINXが提供するオンプレミス&マルチクラウド環境のセキュリティソリューション

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第11回

CNDT2020シリーズ:サイボウズのSREが語る分散ストレージの配置問題を解決するTopoLVMとは

2021/1/13
サイボウズの森本氏によるCeph&Rookにおけるストレージ配置問題を解決するTopoLVMの解説のセッションを紹介する。
クラウドイベント
第10回

CNDT2020シリーズ:ヤフージャパンのインフラを支えるゼットラボが語るKubernetesストレージの深い話

2021/1/8
ゼットラボの坂下氏によるKubernetesのストレージの深い話が行われたセッションを紹介する。
クラウドイベント
第9回

CNDT2020シリーズ:オススメのGitOpsツールをCAのインフラエンジニアが解説

2021/1/7
サイバーエージェントのインフラエンジニア長谷川氏が、GitOpsのためのツールを比較して紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています