多くのサービスを運営し、膨大な協力会社を抱えるサイバーエージェントもコロナ禍でテレワークを進める上で、セキュリティの課題を抱えることになった。この課題の解決に向けて、サイバーエージェントはどのような対策を行ったのだろうか。
メディア、ゲーム、インターネット広告という3つの事業を軸に、国内最大規模のブログサービス「アメブロ」や“新しい未来のテレビ”として展開する動画配信事業「ABEMA(アベマ)」などの多彩なサービスを展開するサイバーエージェント。動きの速い市場の中で魅力あるサービスを生み出し続けるべく、プライベートクラウド「Cycloud」の構築も積極的に進めてきた。
そのデジタルテクノロジーのエキスパートであるサイバーエージェントにも、コロナ禍はさまざまな課題を突き付けた。その1つが、オフィスへの出社を控えるために、リモート環境から社員のみならず協力会社の開発関係者含め安全にアクセスを許可し、スムーズなサービス開発を継続させる柔軟かつセキュアな方法が確立されていなかったことだ。
「これまでの業務は、やはりユーザーがオフィスにいることを前提としてアクセス制限などを設計していました。オフィスの外からどうやって安全にアクセスできるようにするかが大きな課題となっていました」と話すのは、事業セグメントに依存せず全社組織として同社のインフラを設計、運用するインフラエンジニアチーム「CIU(CyberAgent group Infrastructure Unit)」でPrivate Cloud Managerを務める澤田石 朋彦氏だ。
しかも、開発業務にはサイバーエージェントの従業員だけではなく、さまざまなパートナー企業が関わっている。そうしたパートナー企業もテレワークを採用することになったため、業務関係者全てにVPN接続を用意することは困難だった。他社と同様、サイバーエージェントもまた「VPN不足」に直面することになった。
ピーク時で利用人数が1万人を超えるという、サイバーエージェント。2020年4月の緊急事態宣言時には、全従業員の約97%がテレワークに切り替えることになったという。その中で開発チームから、「とにかく1週間で何とかして」と要望を受けたのが、同じく新組織CIUでSolution Architectを務める鳥居 昂平氏だ。
サイバーエージェントは、コロナ禍以前から一部の従業員にリモートアクセスを許可していたが、基本的には「VPNありき」。IPアドレスを元に、つまり場所を元にして、どの拠点やユーザーからの接続を許可するかを制御していたが、拠点の変更や追加のたびにアクセスコントロールリストのメンテナンスが必要で、これが煩雑な作業となっていた。
その上、シングルサインオン(SSO)に対応する場合には、対象となるアプリケーションにも手を加える必要があり、工数はもちろん、改修に伴うダウンタイムが発生することも課題だった。
この状況をどう解決すべきか――自身もアプリケーションエンジニアとして開発作業を熟知している鳥居氏が思い付いたのが、「アプリケーションゲートウェイ」の活用だ。既にセキュリティチームが社内のユーザー情報を管理するために構築していた「社内IAM(Identity and Access Management)」、いわゆる認証基盤をアイデンティティープロバイダー(IDP)として連携させ、認証/アクセスを制御する仕組みだ。連携には標準技術のOpenID Connectを採用することにした。
鳥居氏はまず、オープンソースソフトウェア(OSS)の「NGINX」をベースにLuaスクリプトで拡張を加え、OpenID Connectのクライアントを実装することで、外部からのアクセスを制御する仕組みを構築した。
「これを用いてテレワークを開始し、1〜2カ月程度利用したところ、怖いくらいに安定して動作していました」(鳥居氏)
この実績を踏まえてCIUは、「この仕組みを全社的な需要に合わせてスケーリングするにはどうしたらよいか」を考え始めた。
既に動いているアプリケーションそれぞれに独自の実装を加えるのでは、やはり改修に伴う工数、ダウンタイムが発生してしまう。その上、サイバーエージェントが提供するサービスは機密情報を扱うものも含めて多岐にわたり、セキュリティ水準もまちまちだ。
こうした状況を考えると、1つのアプリケーションゲートウェイを作成して、各アプリケーションへのアクセスを制御するだけで済むようにし、一定のセキュリティ水準を保証する方法がベターだと考えたのだ。
パブリッククラウドベンダーが提供するマネージドサービスも含めてIDP製品を検討したが、どうしてもアプリケーション開発エンジニア側での作業が必要になることがネックとなった。「どれを採用するにしても、何らかの追加作業を伴うので、われわれの運用に合わせて使うのが難しいと判断しました」と鳥居氏は振り返る。
そこで注目したのが、F5 Networksが提供する商用版の「NGINX Plus」だった。「NGINX Plusは、自力でいろいろな変数を埋め込まなくても簡単にOpenID Connectクライアントを実装できるJavaScript製公式モジュールが提供されていました」(鳥居氏)
また、商用サポートが付属することも大きなポイントになった。「独自実装してもよかったのですが、セキュリティ水準にブレが生じる恐れがあります。ことセキュリティという分野においては、アップデートも含め、将来にわたって一定の水準が保証されていることが重要と考えたのも、NGINX Plusを採用した理由の一つです」(鳥居氏)
現在、サイバーエージェントはCycloud上で、NGINX PlusとOpenID Connectクライアントのモジュールを組み合わせたアプリケーションゲートウェイを稼働させ、従業員やパートナーの端末がリモートでアクセスする際の入り口としている。
アプリケーションゲートウェイは、社内IAM(認証基盤)やPKI(公開鍵暗号基盤)と連携して認証を行い、その結果に従ってオンプレミスやパブリッククラウドで動いているアプリケーションへのアクセスを制御する仕組みだ。アプリケーションの手前には、ネットワークレベルでアクセスを制御する、いわゆる「ファイアウォール」が設置されており、アクセス元をアプリケーションゲートウェイのみに限定している。
アプリケーションゲートウェイは、サービスごと、アプリケーションごとにバーチャルホストを立ち上げ、ひも付けして制御しており、アプリケーション単位で権限の付け外しができる仕組みだ。たとえプライベートクラウドを管理するCIUでも、アクセスできないようになっている。
一連の仕組みを整えるに当たってCIUが重視したのは、開発者が本来の作業に集中できるように、「開発者体験(Developer eXperience)」を損なわない形でセキュアなリモートアクセスを提供することだった。「利用者に細かな作業を強いるとなかなか使ってもらえず、逆に穴になる恐れがあります。そのため、いかに簡単に利用できるかにフォーカスして作りました」(澤田石氏)
そこで用意したのが、非エンジニアにとっても使いやすいGUIだ。まだプロトタイプの段階だが、端末がアプリケーションにアクセスしようとすると、GUIの入力画面が立ち上がる。GUI上で設定を入力すると、コントロールプレーンを通過してデータプレーンのNGINX Plusにそれが同期され、必要なバーチャルホストが立ち上がって設定が流し込まれる。
これにより、サービスごと、アプリケーションごとに、認証結果を踏まえた上で適切にリモートアクセスできる仕組みを迅速に提供できるようになった。それも、従業員だけではなく、パートナー企業のメンバーも含めてだ。
「旧来のVPN、境界型の防御では、いったんアクセスを突破してしまうとその中で幅広くアクセスすることが可能になってしまいますが、IPアドレスベースの制御に代わる『ゼロトラスト』なセキュリティによって、アプリケーションごとの制御が可能になりました」(澤田石氏)
NGINX Plusの導入はスムーズに進んだ。というのも、サイバーエージェントが提供するほとんどのサービスは何らかの形でOSSのNGINXが既に利用されており、鳥居氏にとってもなじみのある存在だったからだ。これまでの運用実績に安心感、信頼感を抱いていた上、充実したドキュメントにも助けられたという。
「実装に当たって困ったことはほとんどありませんでした。ただユーザーが簡単に使えて、しかも自由に解放するものなので、不適切な設定をいかにして排除するか、制度や運用面で穴はないかどうかといった、全体的な設計を考えるのに時間がかかりました」(鳥居氏)。これには、F5ネットワークスジャパンが開催したプライベートセミナーを通して、使い方や設計に関するヒントを得ることができた。
サイバーエージェントのCIUは、この新たなアプリケーションゲートウェイによって、個別に作り込もうとすると2週間程度は要していたリモートアクセスや認証の仕組みを、ほぼ即座に提供できるようになった。日々サービス開発が進み、変化を続けるアプリケーションに合わせて作り替えるなどして、ダウンタイムを発生させることもない。社内で利用しているIAMやPKIというIDPだけではなく、外部のIDPを利用することになった場合でも、実装を変えることなく対応可能という拡張性も向上させている。
今後は監査基盤を整備し、「いつ、どこから、誰が、何にアクセスしたか」「何を操作したか」といった履歴を取得できるようにしていく計画だ。既に、VPNアクセスに対しては認証失敗ログを収集し、不審なアクセス試行を検出するログ分析基盤を用意していたが、同様の仕組みを整えられないか、さらに、パッチの適用状況やセキュリティ対策の運用状況といったPCのセキュリティレベルを確認した上で、ポリシーを満たしていないものは接続させないといった制御もできるのではないかと考えている。
「NGINX PlusではOSS版よりも多くのメトリックが取得できるようにもなりました。今後社内の監視システムでより詳細なデータを取れるようになると期待しています」(鳥居氏)
「将来的には、認証を含むセキュリティ機能全体として、外部に開かれたアプリケーションゲートウェイとしてNGINX PlusのWAF(Web Application Firewall)機能を適用してさまざまな不正アクセスからアプリケーションを保護したり、より拡張性や耐障害性を高めたりする仕組みなどを考えていきたいですね」(澤田石氏)
こうして、VPN頼りから、アプリケーションやユーザーごとにきめ細かく制御するゼロトラストセキュリティへと一歩踏み出したサイバーエージェントのCIU。今後も安定して使いやすいインフラの構築によって、自社のサービス開発を支援していく。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:F5ネットワークスジャパン合同会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2021年8月11日