日経クラウドファースト編集長 中山秀夫
日経クラウドファースト編集長 中山秀夫

 “野良サーバー”をご存知だろうか。クラウド上に放置された、管理不行き届きの仮想マシンのことで、セキュリティの問題を引き起こしかねない存在だ。

 野良サーバーは珍しくない。というのも、ユーザー企業がクラウドサービスを導入し、システム部門(インフラ運用担当者やセキュリティ担当者)が中心となって利用可能なOSやミドルウエア、データ暗号化、管理用タグなどの全社ルールを定めて、各事業部門に仮想マシンを使わせると、決まって発生するからだ。ルール違反の仮想マシンが作られたり放置されたりして、野良サーバー化する。

 事業部門にも言い分はあるだろう。システム部門が決めるルールというと、大抵は多岐にわたるうえに、クラウドサービスの進化に合わせて更新・追加されるものだ。しかも、パッチ当てのような継続して手間の掛かるルールもある。「ルールを軽視するわけではないけれど、順守するのも難しい」というのが実情だ。

 システム部門がルール順守を強く求めても、効果は上がらない。かといって、システム部門が一元的に仮想マシンの作成・運用をするには人手が足りない。空き時間を使って野良サーバーを一つひとつ見つけ出しても、仮想マシンの台数が増え続ける状況では焼け石に水だ。

 では、どうするか。実はクラウド事業者が野良サーバーを自動で見つけ出すサービスを提供している。Amazon Web Services(AWS)であれば「AWS Config」(その拡張機能であるConfig Rulesを含む)が、Microsoft Azureなら「Azure Security Center」が該当する。どちらも地味なサービスで認知度は低いが、実用度は高い。

 AWS Configを例に仕組みを説明すると、まず仮想マシン(Amazon EC2)、外付けストレージ(Amazon EBS)、仮想ネットワーク(Amazon VPC)などのリソースごとに設定情報を適宜収集する。この設定情報を、定期的あるいはリソースの新規作成や構成変更のようなイベント発生時に、判定機能に入力。ルール違反があった場合は、管理者にメールやダッシュボード画面で通知する。

 判定機能の実体は、サーバーレスコード実行サービス「AWS Lambda」で稼働するアプリケーションだ。AWSが汎用的なルールを「AWS Managed Rules」として提供しており、ユーザーはJavaScript(Node.js)などの言語で追加開発できる。自社ルールに合わせてリソースの設定を変更することも可能だ。