開発のAgility(俊敏性)を損なうことなく実現する、高度なアプリケーションセキュリティ高速・安定のNGINXをシームレスに拡張

アジャイルな開発には、アジャイルなアプリケーションセキュリティが必要だ。セキュリティが、CI/CDサイクルを高速に回すことへの懸念材料になってしまっては、新しいアプリケーションの迅速な開発と有効な保護の両立は難しい。では現実的にはどうすればいいのだろうか。

» 2020年07月02日 10時00分 公開
[PR/@IT]
PR

 「アジャイル」「CI/CD(継続的インテグレーション/継続的デリバリー)」「DevOps」「マイクロサービス」。開発サイクルの高速化は、ITでビジネスを駆動させる企業にとってもはや前提といっていい。一方、アプリケーションの運用環境は多様化している。多くの組織で仮想マシンとコンテナが混在し、ハイブリッドクラウド、マルチクラウド利用の動きも広がってきた。アプリケーションや機能のデリバリーも、Webアプリケーションに加え、APIによる提供が進んでいる。

 こうした中で浮上してくるのがアプリケーションセキュリティの課題だ。ビジネスの中心となるWebアプリケーションやAPIは、サイバー攻撃者にとっての格好のターゲットだ。WebアプリケーションやAPIを狙った攻撃で個人情報の漏えいが起きれば、ビジネスに大きな影響を与えることは、最近の事件からも実証されている。

 アプリケーションの開発/デプロイのスピードを高めてビジネスを駆動させなければならない中、アプリケーション運用環境が多様化する現状では、一貫したセキュリティの確保は容易ではない。

 明らかに、ウオーターフォール時代の発想を引きずる従来型のセキュリティツールや適用手法では限界がある。アプリケーション開発のアジャイル化に適応するには、アプリケーションセキュリティ対策もアジャイル化する必要がある。

NGINXを使った解決策

 アプリケーション開発者によく知られるようになったオープンソースソフトウェア(OSS)ツールに「NGINX(エンジンエックス)」がある。Webサーバから始まり、ロードバランサー、コンテンツキャッシュ、APIゲートウェイ、KubernetesのIngressコントローラーなどとして広く使われている。

 環境を選ばずマルチサービスに適した設計を持つ軽量かつ柔軟性の高いNGINXで、高機能なWeb Application Firewall(WAF)が利用できたらどうだろうか。NGINXではこれまでOSSの「ModSecurity」が使われてきたが、ビジネスのために本格的に利用できる製品があるとしたら便利だ。

 これを実現したのが「NGINX App Protect」。NGINXの商用版である「NGINX Plus」上で動くWAFソフトウェアだ。2020年5月に登場したばかりの製品だが、その機能はユーザーによって実証済みだといえる。なぜなら、アプリケーションデリバリーコントローラー(ADC)分野におけるベンダーとして知られてきたF5 Networksが、多数のユーザーに使われてきたADCのWAF機能を切り出して、NGINXに最適化したものだからだ。F5のWAFで備える機能の多くを、NGINX App Protectに搭載している。そしてF5は、NGINX PlusとNGINX App Protectを、一括してサポートする。

 アプリケーションのパフォーマンスとセキュリティを確保する製品で知られてきたF5は、2019年にNGINXを買収した。あらゆる環境に、自社のコアコンピタンスを適用できるようにすることが目的で、これをいち早く製品化したのがNGINX App Protectなのだ。

 NGINX App Protectは、前述の通り、F5が提供してきた商用のWAF機能を豊富に搭載している。その特徴の1つは、極めて低い誤検知率を実現する信頼性の高いシグネチャを中心とした防御機能の充実だ。商用製品として、シグネチャを随時配信することで、新たな脆弱(ぜいじゃく)性に対する迅速な対処が図れる。また同製品はAPIゲートウェイとしての機能強化の一環として、多様なプロトコルへの適応を進めている。

 そして、大きなポイントとなるのがパフォーマンスだ。下のグラフで分かる通り、ModSecurityとの比較では「スループット」「リクエスト処理性能」は桁違い、「遅延」では数倍の性能差がある(F5調べ)。性能が高ければ、例えばパブリッククラウドでリソース利用を抑制できるなど、コスト削減の効果を得やすくなる。

NGINX App Protectのパフォーマンス(出典:F5ネットワークスジャパン)《クリックで拡大》 NGINX App Protectのパフォーマンス(出典:F5ネットワークスジャパン)《クリックで拡大》

,

アプリケーションセキュリティをアジャイル化する具体的な方法

 アプリケーションセキュリティをアジャイル化するといっても、従来型の手法では新しいアプリケーション運用環境への対応が困難だ。

 その点NGINXはフットプリントが小さく、導入環境を選ばない。物理サーバからコンテナ基盤まで、オンプレミスからパブリッククラウド、エッジまで、稼働環境は幅広い。実際にコミュニティー版は、既述のさまざまなアプリケーション運用環境やデリバリー手法のために大手サイトで広く使われている。

 特にKubernetesクラスタなどのコンテナ基盤で活用されていることは重要な意味を持つ。この世界でさかんに活用されているということは、高速なCI/CDを指向する組織にとって、進むスピードを阻害しない、優れたツールであることが実証されているようなものだからだ。開発チームにとってもNGINXには親しみがあり、心理的な抵抗も少ない。こうした点で、無理なく、現実的な導入プランを描きやすい。

 さらにNGINX App Protectには、「CI/CDフレンドリー」という特徴がある。設定ファイルをJSON形式で記述し、「Infrastructure as Code」として扱うことができる。

 つまり、一般のソフトウェアコードと同じようにリポジトリに格納してバージョン管理ができる。属人化を防ぎながら確実な構成管理を実現できる。そして、これをCI/CDプロセスに組み込み、アプリケーションセキュリティ適用の自動化を図ることができる。

 デプロイ済みのアプリケーションも、セキュリティポリシーの変更があれば、CI/CDツールを通じて配信できる。シグネチャも自動でアップデートが可能だ。

 上記は「新しいアプリケーション開発、運用環境」の話だが、アプリケーションセキュリティのアジャイル化を現実に進める上では、WAF機能を用途に応じて柔軟に配置できる点も魅力だ。

 例えば下の図のように、KubernetesのIngressコントローラーで外部リクエストからサーバを守り、APIゲートウェイでAPIエンドポイントを守り、さらにこれらと従来型のモノリシックなアプリケーションを合わせて、ロードバランサーで保護するといった構成が考えられる。

 こうした構成においてもきめ細かな防御を行う作業を自動化することが可能だ。このため、組織として一貫したセキュリティポリシーを機動的に適用できることになる。

NGINX App Protectのデプロイ例(出典:F5ネットワークスジャパン)《クリックで拡大》 NGINX App Protectのデプロイ例(出典:F5ネットワークスジャパン)《クリックで拡大》

 現実の運用環境はさらに複雑だ。アプリケーションが複数拠点にまたがるケースが増えているからだ。例えばパブリッククラウドを使うと、WAFについてもその事業者のサービスを使うという考えになりやすい。だがその場合、ハイブリッド/マルチクラウド構成のアプリケーションにばらばらなWAF機能を適用することになってしまう。クラウドとは独立した、ユーザー側が統合的に制御、管理しやすいWAFを使うことが望ましい。

 NGINX App Protectは、どこにでも適用でき、統一的な管理ができるアプリケーションセキュリティ製品だ。アジャイルな開発スタイルとの親和性が高く、多くの組織が意識するInfrastructure as Codeの潮流に合致したセキュリティ適用ができる。

 迅速な開発を阻害しないアプリケーションセキュリティ製品で、デジタルビジネスにおける守りを固めていただきたい。

NGINX App Protectセミナー

 本セミナーは、マルチクラウド環境にベストフィットなNGINX App Protectが提供するアプリケーションセキュリティ機能を、デモンストレーションを交えながらご紹介します(登録はこちら)。

日時:2020年7月9日(木) 11時〜12時
※オンデマンド版も準備でき次第開催いたします。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:F5ネットワークスジャパン合同会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2020年7月22日

セミナー

2020年7月9日(木) 11時〜12時(※オンデマンド版も準備でき次第開催いたします。)

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。