5. Network Security¶
Network Securityでは、多数のクラウドアカウントにおいてネットワークアクセス制御の設定を効率的に管理することができます。
具体的には、意図しない変更の予防や時限的なアクセス許可を容易に実現できます。
5.1. ネットワークの可視化*¶
Clarityの機能は2020/1/1以降、Asset Management機能へ移行されました。
AWSアカウント上に作成されたネットワークポリシーを可視化します。 ネットワーク自体を可視化するのではなく、ポリシーを可視化する機能であることに留意してください。
[ASSET MANAGEMENT] - [Clarity]をクリックします。
AWSアカウントをクリックします。
リージョンを選択します。続けてポリシーを可視化したいVPCをクリックし、[SECURITY GROUP]をクリックします。
[DMZ]のSecurity Groupをクリックします。
DMZ上にSecurity Groupが存在するということは、任意のIPアドレス (0.0.0.0/0) からアクセス可能であることを意味します。 そのSecurity Groupにどのようなリソースが関連付けられているか・どのようなポートが開放されているかを右側の詳細画面で確認できます。
Security Groupへのリンクをクリックすると、詳細を表示する画面に遷移します。
[Internal]のSecurity Groupをクリックします。(dome9-instanceではじまるリソースを選択します)
[Internal]にSecurity Groupが存在するということは、VPC内のリソースからアクセス可能であることを意味します。
Security Groupへのリンクをクリックすると、詳細を表示する画面に遷移します。
さらにEC2インスタンスへのリンクをクリックすると、特定のインスタンスの設定や関連するアラートをまとめて確認することができます(AWSのマネージメントコンソールは各サービス毎に画面が分かれています)。
[NETWORK SECURITY POLICIES]は、ENI、Security Group、NACLの情報が表示されます。
[IAM POLICIES]は、インスタンスにアタッチされたIAMロールの情報が表示されます。
[EVENTS ACTIVITY]は、Log.icを有効化して利用できます。CloudTrailに基づいてイベントが表示されます。
[TRAFIC ACTIVITY]は、Log.icを有効化して利用できます。VPC Flow Logsに基づいてネットワークログが表示されます。
[ENTITY VIEWER]は、インスタンスに関するメタデータが表示されます。
[ALERTS & FINDINGS]は、Comliance Rules、Log.ic、Inspector、GuardDutyから発せられたALERTやFINDINGSが表示されます。
[PROPERTIES]は、インスタンスのプロパティが表示されます。
5.2. Security Groupで利用するIPアドレスの管理¶
Dome9ではSecurity Groupで設定するIPアドレス・ネットワークアドレスをIP Listというオブジェクトとして管理することができます。 これにより、アドレスのコンテキストを把握しやすくなります。 また、IP Listを変更することでそのIP Listを利用して設定されたSecurity Groupを一括で変更することも可能です。
[NETWORK SECURITY] - [IP Lists] - [追加]をクリックします。
[Name]および[説明]を入力し、[作成]をクリックします。
IPアドレスを入力し、[ADD]をクリックします。
以下の画面では、RFCで定義されているドキュメンテーション用のネットワークアドレスを設定しています。
IP ListにIPアドレスが追加されたことを確認し、[SAVE]をクリックします。
作成したIP Listを利用してSecurity Groupを設定します。[NETWORK SECURITY] - [Security Groups]をクリックします。
最初に作成したVPCのIDでフィルタリングし、EC2用のセキュリティグループ(Security Groupの名前に"Instance"を含む)をクリックします。
さきほど作成したIP ListからSSHでアクセスすることを許可します。[+]をクリックします。
[Service Type]を[SSH]に変更します。[Port Behavior]が[Limited]に変更されることを確認します。併せて、[ADD SOURCE]をクリックします。
[IP LIST (CUSTOMER MANAGED)] - [(作成したIP List名)]を選択します。併せて、[CREATE SERVICE]をクリックします。
Inbound ServiceにSSHの許可ルールが追加されていることを確認します。
併せて、AWSのマネージメントコンソール上でも設定が追加されていることを確認します。
5.3. Dynamic Accessによる一時的なアクセス許可¶
Dynamic Accessは、一定時間のみ特定のIPアドレスからのアクセスを許可することができる機能です。 設定した時間を経過すると、Dome9によって許可設定が自動で削除されます。
[NETWORK SECURITY] - [Dynamic Access]をクリックします。
最初に作成したVPCのIDでフィルタリングし、EC2インスタンスに割り当てられたSecurity GroupのSSHアクセスを許可するルールに対して[GET ACCESS]をクリックします。
これで、Dome9のコンソールにアクセスししている環境からのアクセスが許可されました。 今のネットワーク環境(グローバルIPアドレス)は以下から確認できます。
一時的な許可が完了していることを確認します。[Active Leases]をクリックします。
http://checkip.amazonaws.com/ で確認したIPアドレスからのアクセスが許可されていることを確認します。
併せて、AWSのマネージメントコンソール上でも設定が追加されていることを確認します。
次は、アクセスを許可するIPアドレスを明示的に指定します。[Custom Lease]をクリックします。
アクセスを許可するIPアドレスを入力し、[SAVE]をクリックします。
併せて、AWSのマネージメントコンソール上でも設定が追加されていることを確認します。
5.4. Full ProtectionによるSecurity Groupの保護¶
Full Protectionが有効なSecurity Groupは、Dome9を経由しない変更を検知するとDome9によって元の設定に戻されます。
1. Security Groupの設定を確認します。 [NETWORK SECURITY] - [Security Groups]をクリックします。併せて、作成したVPCでフィルタリングを行います。 今回は、[default]で動作を確認します。 [default]をクリックします。
2.[FULL PROTECTION]が有効になっていることを確認します。 有効になっていない場合には有効化します。 併せて、現在のSeurity Groupの設定を確認します。 [Inbound Services]では、[default]から任意のポートでアクセスできます。 今回は、任意のIPアドレスから任意のポートにアクセスできるような変更を加え、それが検知されて元に戻ることを確認します。
3. AWSのマネージメントコンソールにログインし、VPCのコンソールを開きます。 [セキュリティグループ]を選択し、[default]のSecurity Groupを選択します。 [インバウンドのルール]のタブを選択し、[ルールの編集]をクリックします。
既存のインバウンドのルールを[ソース : カスタム, "0.0.0.0/0"]に変更し、[ルールの保存]をクリックします。
5. インバウンドのルールが変更されたことを確認します。 Dome9によって設定が戻されるまでしばらく(10分~15分)待ちます。 マネージメントコンソール上でインバウンドのルールがロールバックされたことを確認したらDome9のコンソールに戻ります。
ロールバック前の状態がこちらです。
ロールバック後の状態がこちらです。
操作したSeurity Groupを開き、[History]の直近のイベントを開きます。
[Dome9 Audit - Security Group Tamper Detected And Handled]というメッセージがあることを確認します。これはDome9がDome9を経由しない変更を検出し設定を元に戻したことを示す記録です。