CNDT 2020にNGINXのアーキテクトが登壇。NGINX Ingress ControllerとそのWAF機能を紹介
ロードバランサーの代表的な製品であるBIG-IPを開発販売するF5 Networks Inc. その日本法人であるF5ネットワークスジャパン株式会社(以下、F5)が、CloudNative Days Tokyo 2020のセッションに登壇した。
ハードウェアベンダーとしてエンタープライズ企業からの信頼を得ているF5だが、このセッションではクラウドネイティブなシステムへの適応という意味で2019年に買収したNGINXのソリューションをベースに、クラウドネイティブな環境でのソリューションを解説した。そして最後にデモとして、新しいWAF(Web Application Firewall)を使ったSQLインジェクションに対する防御などを紹介した。
オンラインセッションに登壇したのは、F5のNGINXテクニカルソリューションズアーキテクトの鈴木孝彰氏だ。
スライドには「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 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も紹介されている。
そしてKubernetesによるマイクロサービスにおいて、NGINXがどのように構成されるのかを紹介したのが次のスライドだ。
ここでは外部からのアクセス(North-Southトラフィック)と、コンテナへのアクセスを制御するIngress Controller、そしてPod間のトラフィックであるEast-Westトラフィックに対するマイクロサービスゲートウェイを紹介した。
特にKubernetesのクラスター内のトラフィックがどのようにNGINXで制御されるのかを紹介した次のスライドでは、NGINX ControllerとPodにサイドカーとしてインジェクトされるNGINXのエージェントによって、サービスメッシュが実装されていることが示された。
Kubernetes上の実装として、すでに多くの企業で導入されているというNGINX Ingress Controllerだが、オープンソースソフトウェアとしてGitHub上でも公開されており、まずはこれを用いて試すということも可能であることが解説された。
NGINX Ingress Controllerの新機能
そしてNGINX Ingress Controllerの最新リリースについても触れた。NGINX Ingress Controller 1.7.0では、Red Hatが強力にプッシュするOpenShift 4.3のオペレーターをサポートするようになった。そしてその次のバージョンである1.8.0では、WAFの機能を実装するNGINX App Protectのサポートなどが紹介された。
Red Hat OpenShift 4.3のサポートについては、認定済みのオペレーターがOperatorHubから利用可能であることに加えて、標準のDefault Routerやオープンソースソフトウェア版NGINXとの比較も紹介された。
その後、GKEやAKSでの利用についても解説し、オンプレミス、パブリッククラウドを柔軟に使い分けられることが示された。
その後、NGINX Ingress Controllerの北米でのユースケースとして、動画広告の配信を行うLKQD Technologiesでの使われ方が解説された。ここでは機能の高さに加えて、サポートの質の高さも評価したという顧客の声が紹介された。
WAF機能を備えた唯一のIngress Controller
そしてNGINX Ingress Controller 1.8.0からサポートされると紹介された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だろうが、どこでも同じものを同じ設定で共通して使える。際立つポータビリティ性の高さが、セキュリティに関わる運用の負荷を大きく低減することにつながると期待される。
そして、機能面だけではなくフットプリントが軽く高速に実行できるとして、オープンソースのWAFであるModSecurityと比較し、高い性能を示していることが示された。
最後のパートではNGINX Ingress ControllerとNGINX App Protectのデモが行われた。
40分というセッション時間の中では限られたデモのエッセンスだけを紹介した形になったが、URLに仕込まれたスクリプトをNGINX App Protectがちゃんとリジェクトしているところなどを示して、実際に外部からの不正アクセスを防いでいることを見せた意味は大きいだろう。ここで示された必要最小限のデモは、より詳細なデモや解説を聴きたいという興味を喚起する効果的なものだったと言えるだろう。
最後にまとめとして、オンプレミスのKubernetes、複数のパブリッククラウドでもトラフィック制御とアプリケーションまでを意識したセキュリティを実現できるという強みを紹介して、セッションを終えた。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- コンテナ領域で存在感を強めるNGINX、OpenShiftとの親和性でKubernetes本番環境のセキュリティや可用性を追求
- F5とNGINXの組み合わせで、サービス公開をよりセキュアに。Kubernetes Ingress Controllerを活用してセキュリティ、可用性、パフォーマンスを実現
- NGINX Ingress Controllerの柔軟なアプリケーション制御、具体的なユースケースと設定方法を理解する
- KubernetesのDiscovery&LBリソース(その2)
- エンタープライズITの潮流変化と新たな課題、セキュリティ筆頭に実効的な解決策を提示
- Kubernetesの新しいネットワーク機能、Gateway APIを理解する(後編)
- CloudNative Days Fukuoka 2023、GoogleによるGKE上のGateway APIの解説セッションを紹介
- Kubernetes上のコンテナをIngressでインターネットに公開するまで
- Kubernetesの新しいネットワーク機能、Gateway APIを理解する(前編)
- KubeCon NA 2020 LinkerdとAmbassadorを使ったマルチクラスター通信を紹介