はじめまして。サーバーワークス大阪オフィス勤務(執筆時点でまだ試用期間中)の久保(@bokucurry)です。自分が何屋さんなのかいまいちよくわかっていませんが、主にPMと営業活動をメインにしながら、案件によっては構築もやるという、地方拠点エンジニアを地で行くスタンスでお仕事ができるサーバーワークス最高です。 さて、今回はAWSの中で少し特殊な位置付け(オフィスIT向け)サービスである、Amazon WorkSpacesを、よりセキュアに・エンタープライズのセキュリティ要件を満たすようにアレンジしてみよう、と思います。 文章が長くなってしまうので、2〜3回のシリーズに分けてお届けします。
要件は??
一言で”セキュアに”といっても解釈は人によって違います。企業がWorkSpacesのようなVDIを導入するには様々な理由がありますが、セキュリティ面から推察すると、
- PCのローカルストレージ(あるいはその先)への社内データの持ち出しを防ぎたい
- PCへの外部ストレージなどの接続による社内への脅威の持ち込みを防ぎたい
などが挙げられるのではないでしょうか。 しかし、技術での対策は決して万能ではなく、如何なる対策も最終的にはユーザと管理者双方の意識の持ち方次第でいとも容易に崩れてしまうものです。技術に安心しきってしまうのではなく、「ちゃんと見てるんだよ。その気になったら証拠も探索できるからね」というユーザへのメッセージによって、心理的抑止効果を与えることが重要です。 よってここではそのための仕組みとして、
- 通信のログを詳細に取る(”誰”が”どのアプリケーション”で”どんな通信”をしたのか)
- PC側の操作ログを詳細に取る(”誰”が”いつログイン”して”どんなファイル”を”どう操作”したのか)
ができるVDI環境を設計します。
ソリューション
WorkSpacesはご存知の通りWebUIをポチポチするだけでVDI環境が使えるようになる便利なツールですが、そのままでは「インターネット接続の可否(Directory Serviceの設定)」「Local administrator権限を渡すか否か(これもDirectory Serviceで制御)」位しか設定を変更できる箇所がありません。ただし、Dicrectory Serviceは所属するVPCやSubnetを選ぶことが出来ますので、有効活用すれば企業のネットワーク内部同等の制御を効かせることは可能です。 通信ログに関するAWSネイティブの機能としてはVPC Flow Logsがありますが、あくまでネットワークインタフェース間の通信に焦点を絞ったものであり、取得できる情報も低レイヤーな内容に止まります。 要件にあるような情報を取得したいとなると、いわゆる次世代Firewallのチカラを借りる必要があります。今回は、次世代Firewallの雄ともいうべき存在であり、先日のXcodeGhostを発見したことで名前が知られるようになったパロアルトネットワークス社のPAシリーズのAMI(VM-Series Next-Generation Firewall Bundle 2)を使います。 Active Directoryの保有する情報と連携し、通信の出所をアカウントベースで把握することも出来ますし、独自のApp-IDによって通信を行っている具体的なアプリケーション名まで特定することが可能です。また、WildFireというSandbox機能(未知のマルウェアをクラウド上で実行し、得られた挙動から白黒を判定する)や、社内・外をユーザに意識させないSSL-VPNサーバ機能(GlobalProtect)など非常に高機能で優れたFirewallです。 PC側の詳細ログの取得には、ソリトンシステムズ社の"InfoTracePLUS"というパッケージ製品を使います。資産管理からPCの証跡管理やデバイス制御までが行えるツールです。こちらもActive Directoryと連携(というより必須といって良いかもしれない)することで、アカウントベースでファイルの操作をトラッキングできるツールです。また国産ということで日本語UIが非常にこなれていることも長所と言えるでしょう。ただし、WorkSpacesのOSの都合上、一部使えない機能があります(一部機能がクライアントOSを対象としているのに対し、WorkSpacesのOSはWindows Server 2008 Datacenter Edition)。 今回は、これらを使ったVDI環境を作っていきます。
システム構成
これらをざっとシステムとして構築すると以下のような図になります。特に何の変哲もありません。 ポイントは
- あらかじめVPC内にドメインコントローラを作成しておく(ユーザアカウントも)
- Directory ServiceはAD Connectorを選択。既存のドメインコントローラに接続させる
- Directory配下のインターネット接続は禁止する
- パブリックサブネットにPA-VMをNATインスタンスとして構築、WorkSpacesが所属するSubnetのDefault GatewayをPA-VMの内側ENIに向ける
ということくらいです。 次回は、具体的な構築方法を説明します。 あと、サーバーワークスでは絶賛メンバー募集中です。エンジニアリングに尖りたい人はもちろんのこと、私のように何でもやりたい人には大阪オフィスのお席を用意してお待ちしております。