注目を集める
Cisco TrustSec
ネットワークやセキュリティの担当者にとって、運用業務における機器へのその都度のセキュリティ定義の追加・修正作業はワークロードが多く、常日頃の悩みのタネだと思う。そのワークロードを削減する手段として、機器の設定変更を自動化するスクリプトなどを開発して作業の効率化を図っているのではないだろうか。
本連載では、その悩みを解決するアプローチの1つとして、Cisco社のネットワーク・セキュリティソリューションである「TrustSec」を全2回にわたって取り上げる。新しいセキュリティソリューションの一例として、ぜひ採用を検討してほしい。
TrustSec自体は実用化から10年近くたつが、従来はサポート可能な製品ラインナップが少なく適用範囲が限定的であったので、汎用的なネットワーク環境での採用が難しかった。しかしながら、近年はサポート製品が大幅に追加され、さらに機能の拡張も進んで実装しやすくなったため注目を浴びている。また、Verizon社からPCI-DSS(*1)のコンプライアンス対象範囲を縮小する革新的な技術として評価されていることも、注目されている理由の1つである(*2)。
・・・・・・・・
(*1) PCI-DSSはPayment Card Industry Data Security Standardの略。クレジット業界におけるグローバルセキュリティ基準。
(*2)シスコシステムズ「PCI対象範囲の縮小に関する Cisco TrustSec:Verizon 社の評価と検証」:http://bit.ly/is17_ct01
・・・・・・・・
第1回の今回は、TrustSecにおける機能の動作概要と仕組み、さらにどのようなコンポーネントによって構成されているのかを解説する。次回の第2回では、TrustSecの実践・発展をテーマとして、構築時の注意すべきポイントや、TrustSecとほかのセキュリティソリューションを組み合わせた場合のユースケースについて紹介する予定である。
TrustSecの概要
TrustSecはIPアドレスやVLANに基づくアクセス制御ではなく、Security Group Tag(SGT)と呼ばれる識別子を用いることによってユーザーグループに応じたアクセス制御を行う技術である。その仕組みを利用することで、同じセグメントに属するユーザーからの通信であっても、ユーザーが異なるグループに属している場合は、異なるアクセス制御のルールを適用できる。
VLANやIPアドレス/サブネットといった従来どおりのセグメンテーションに依存せず、ソフトウェアによりポリシー抽象型のセグメンテーションを実現するソリューションであるため、Software-Defined Segmentation、いわゆるマイクロセグメンテーション・テクノロジーの1つとして分類されている。
たとえば、TrustSecを利用することで、図表1のようにユーザーグループAに所属するユーザーであれば、サーバーグループAにアクセスできるが、サーバーグループBに属するサーバーへのアクセスを制限可能である。一方、ユーザーグループAと同じセグメントに属するユーザーグループBに対してサーバーグループA宛ての通信を制限することが可能となる。
IPアドレスやVLAN単位によるアクセス制御の場合、ネットワーク管理者はアドレスの新規払い出しや、セグメントが追加されるたびにアクセス制御を見直し、ネットワークへの適用作業が必要であった。それがTrustSecの導入により煩雑なIPアドレスベースの運用管理作業から解放され、ユーザーグループがどのサーバーグループにアクセスできるかをグループ単位で制御可能になる。
また、クライアント端末やモバイルデバイスにIPアドレスが動的に払い出される環境においてもユーザーの属性に応じて制御ルールを適用する仕組みをもつため、端末のIPアドレスがその都度変化する環境でもユーザー単位で一貫した制御ルールが適用される。
TrustSecのコンポーネント
TrustSec環境には、いくつかのコンポーネントが必要となる。ここでは、主要なコンポーネントとそれぞれの役割について説明する。
◆ オーセンティケータ
TrustSecでは、クライアント端末やモバイルデバイスのネットワーク認証を、802.1X認証やMACアドレス認証を用いて実施する。そのエンドポイントの認証要求を認証サーバーであるIdentity Services Engine(ISE)へ送信する役割をもつ機器がオーセンティケータである。一般的な環境において、有線接続ではスイッチ、無線接続では無線LANコントローラもしくはAccess Point(AP)がオーセンティケータとなる。
◆ エンフォーサ
アクセス制御を担うコンポーネントで、CatalystやNexusシリーズなどのCisco社製スイッチやASAファイアウォールなどが、この機能を提供する。
アクセス制御の実施には、通信の識別のためのSGTを機器が認識する必要がある。TrustSecではIPアドレスではなく、SGTを識別子としてアクセス制御を行う点が特徴的である。
また、ISEからダウンロードされるSecurity Group Access Control List(SGACL)、およびIPアドレスとSGTのマッピング情報(IP-SGTマッピング情報)を保持し、パケット転送時にIPアドレスから該当SGTをルックアップして、アクセス制御することもできる。
◆ Identity Services Engine (ISE)
Cisco社のISEはRadius認証サーバーとしての機能だけではなく、セキュリティ・ポリシー・コントローラとしてTrustSecの中核となるコンポーネントである。クライアント認証の要求を処理するだけではなく、エンドポイントのSGT分類、TrustSecのアクセス制御機能であるSGACLの一元管理やIP-SGTマッピングの作成を行う。また、ISEはActive Directory (AD)と連携して動作し、ユーザー認証時にAD上に定義されたグループ単位にユーザーを分類可能である。
◆ Active Directory (AD)
ADは、端末やユーザーのID情報参照先として用いる。ISEが認証処理時にADに問い合わせることによってユーザーがどのグループに所属しているかを参照できる。ユーザー属性に応じてアクセス制御を行う場合は、AD上のグループ単位でユーザーをグルーピングすることが基本的な設計となる。
各コンポーネント間の連携は図表2のようなフローで端末へのSGT付与からアクセス制御までを実施する。
TrustSecの動作詳細
前章にてTrustSecにおけるフローの概要を説明したが、ここではより詳細にTrustSecの動作説明をする。TrustSecでは大きく「Classification」、「Propagation」「Enforcement」の3つのフェーズが存在する。
◆ Classification
TrustSecではIPアドレスベースのアクセス制御ではなく、ユーザー、サーバーなどのエンドポイントにSGTをアサインし、SGTを識別子(=条件)としてアクセス制御を実施する。各エンドポイントを適切なSGTに分類するフェーズを「Classification」と呼ぶ。
Classificationの条件としては、AD上のグループ名、デバイス名、アクセス手法、認証方法、接続時間など、さまざまなものが利用できる。また、Classificationには802.1X認証やMACアドレス認証を利用した動的なアサイン方法と、エンドポイントのIPアドレスを条件とする静的なアサイン方法の2通りがある。
動的にSGTをアサインする場合は、ISEの認可ポリシーに分類条件を定義して、条件にマッチしたSGTがアサインされる。DHCPによって動的にIPアドレスが払い出される端末では動的アサインを基本的に利用する。以下の図表3では、人事部に所属するユーザーAの端末ログインからSGTアサインまでのフローを示す。
一方、サーバーなどは通常、認証ポート機能を有効化しているオーセンティケータへの接続は実施せず、IPアドレスが固定設定なため静的アサインを利用する。このIPとSGTの静的なマッピング定義は、ISE上に手動で設定する(図表4)。同じ役割のサーバーが複数存在する場合は、同一のSGT番号に対してIPアドレスまたはサブネットのマッピングを定義する。
◆ Propagation
「Propagation」は、SGTをTrustSec ネットワーク内に伝播する仕組みである。
PropagationにはInline TaggingというSGTを通信フレーム内に挿入する方法と、SGT Exchange Protocol over TCP(SXP)という専用プロトコルを使用する2種類の方法がある。
・Inline Tagging
Inline Taggingは、Inline Taggingをサポートしている隣接機器同士の通信においてトラフィック送信元のSGTを認識し、さらに上位のネットワークに伝播する機能である。L2フレームのCisco Meta Dataフィールド内に16ビットの空間が用意され、該当通信に対してSGTのグループ番号が挿入されることによってInline Taggingでの伝播が実現される。図表5にInline Taggingにおけるフレームフォーマットを示す。
なお、片方の機器がInline Taggingに対応していない機器でSGT付きフレームを受信した場合、SGTを解釈できないためUnknownプロトコルとしてドロップする動作となる。
・SXP
SGTを伝播するもう1つの手段としてSXPがある。図表6に示すようにSXPにより、Inline Taggingを利用せずにSXPのピアを確立した機器に対してIP-SGTマッピング情報を伝播する。SXPはそれ自体が学習したマッピング情報を送信するSXP Speakerと、マッピング情報を受け取るSXP Listener間でピア接続するTCPベースのプロトコルである。
Inline Taggingは仕組み上、Inline Taggingサポート機器をアクセススイッチからサーバー接続スイッチまで数珠つなぎに接続する必要があるが、SXPの場合はSXPピア間に複数台のTrustSec非サポート機器が介在してもIP-SGTマッピング情報を伝播できるため、非常に汎用性が高い機能となっている。
◆ Enforcement
TrustSecでは、通信のアクセス制御を「Enforcement」と呼ぶ。Classification、Propagationのステップを終え、ネットワーク内にSGTが伝播された状態まで到達すると、最終的にエンフォーサによるアクセス制御が実施される。
① まず、事前に許可・拒否対象となるプロトコル、ポート番号をSGACLポリシーとして作成する。図表7にISEのポリシー設定画面を示すが、このなかにIPアドレス/サブネットといった情報は含まれない。通常、送信元・宛先のSGTの組み合わせによって通信要件が異なるため、このポリシーは複数必要となることが多い。
② 続いて、システム管理者がISEの管理画面におけるSGTのマトリクスに対して送信元SGT、宛先SGTの組み合わせに応じて、事前作成したポリシーを適用する(図表8)。
③ ISEのマトリクスセルにSGACLポリシーが適用されると、エンフォーサにSGACLがダウンロードされる。エンフォーサはダウンロードしたSGACLに従い、該当トラフィックのアクセス制御を実施する(図表9)。
あとでSGACLポリシーの追加・修正やSGTの追加が必要になった場合も、ISEの設定変更を実施するだけで管理下にある複数台のエンフォーサのポリシー更新が可能となり、ワークロード削減への寄与が期待できる。
以上がTrustSecにおける3つのフェーズの説明となる。ユーザーやサーバーの属性に応じて適切にSGTをアサインすることで、SGACLによる柔軟なアクセス制御が動的に行われることがご理解いただけたのではないだろうか。
TrustSec導入の効果
今回紹介した内容を要約すると、TrustSecによって次のような効果が期待できる。
● 各ユーザーに応じたアクセス制御の提供
・ 従来のネットワークにおけるアクセス制御と比較して各ユーザー属性に準じた粒度の細かい制御を動的に提供
・ 端末のIPアドレスには依存せず、IPアドレスが変化しても一貫したアクセス制御ポリシーを提供
ユーザーの働く場所や利用する端末を問わず、常に同じセキュリティポリシーを提供できるようになる。
● アクセス制御の一元管理化
・ アクセス制御定義の修正・反映を一元管理化
複数のネットワーク機器に対して個別にアクセスリストを適用する必要がなくなるため、ネットワーク運用担当者の負担を大幅に減らすことができるようになる。
ネットワークのセキュリティ向上への施策や運用方法について悩んでいる方たちにとっては、非常に訴求力があり効果的と言えるので、ぜひTrustSecの採用を検討いただきたい。
・・・・・・・・
・・・・・・・・
著者|堀口 稔和 氏
日本アイ・ビー・エム システムズ・エンジニアリング株式会社
ネットワーク
アドバイザリーIT スペシャリスト
2009年、日本IBMシステムズ・エンジニアリング入社。入社以来、ネットワーク製品を中心とした技術支援に従事し、主に金融業界のネットワークプロジェクトに参画。ネットワークの設計や構築に携わる。現在はキャンパス・ネットワークやネットワーク・セキュリティに関する技術支援活動を行っている。