クラウドコンピューティングが必要ですか? 今すぐ始める

Akamai Guardicore Segmentation の機能紹介「Enforcement」

執筆者

Shingo Suzuki

May 01, 2024

執筆者

Shingo Suzuki

Akamai Guardicore Segmentation について

Akamai Guardicore Segmentation (以下 AGS) は、サーバーや端末にソフトウェアエージェントを導入することにより、組織内部の通信を可視化した上で、個々のホストの役割に応じて制御するマイクロセグメンテーションを実現するソリューションです。

エージェント型であるため、オンプレミスやクラウドなどの環境に左右されず統一したポリシーをすべての環境で導入できます。
ネットワーク全体を可視化することができ、異常なトラフィックを監視することで攻撃の可能性のあるエリアを特定し、迅速にランサムウェアの攻撃などへの対策を行うことができます。

Enforcement 執行 機能の紹介

今回はAkamai Guardicore Segmentationの機能の中で執行を実現するEnforcementの機能を紹介します。
Enforcementは、定義されたポリシーに従い、ネットワークフローの制御 (フローの許可、警告、遮断)を提供します。
また、特定のプロセスからの通信のみを許可するというようなアクセス制限も可能です。
RevealやInsight機能と併用することによって、通信やデバイスの可視化を行った上で制御を実現します。

Rule作成

制御はAkamai Guardicore Segmentation の機能紹介「Reveal」で紹介している、ラベル付けをベースとして実施します。
Rule作成のUIは以下で示すようにFirewallに類似しており、今までマイクロセグメンテーションに触れたことの無い方にとっても、容易に操作が可能なインターフェースになっています。

今回は手動でRuleを作ることを例にAGSではどのようなルールが作成できるかについて説明をします。

ルールの作成時にはまずActionを選択します。
このActionには以下のような種類があり、Action毎に処理が順次実施されます。

このActionの処理をフローチャートに直したものが以下の図となります。
基本的には標準のAllow,Alert,Blockで処理を行いつつ、例外のものをOverride Blockなどで記載をしていくこととなります。

Actionを選択後、以下の様なRuleの編集画面に遷移しますので、送信元、送信先、および使用するポートを指定してRuleを作成します。

送信元や送信先としては基本的にラベル(IPアドレスやドメインの指定も可能)を用います。ラベル以外にもラベルの集合体であるラベルグループを用いることで、複数のラベルに対しての一括Ruleを作成することも可能です。

また単純にラベル同士の通信を制御するだけでなく、特定のプロセス経由での通信制御や特定のアセットと呼ばれるサーバーやクライアントPC一台一台に対してのRuleを作成することも可能です。

以下に送信元および宛先として使用可能な一覧を記載しています。

昨今のランサムウェアでは正規の通信が発生するサーバーから正しいポートで侵害を起こすようなケースも確認がされています。

AGSではこういった攻撃に対応するために、プロセスレベルでの制御も可能となっています。

以下は実際の制御の図となっており、今回の表示ではAccounting-lb-1に所属している端末のとAccounting-web-2に所属している端末の通信を中のプロセスレベルで可視化しています。
黒い線は成功している通信を表しており、赤い線は何らかの理由によって通信が失敗している状況を表しています。
同じ8080というポートへの通信でも、attkというプロセスからの通信はブロックし、nginxからの通信は許可できています。

同じIP/ポートでの通信ではあるものの、信頼できるプロセスからの通信しか許可しないということがWindows/Linux問わず実現出来るということはAGSの大きなメリットです。

本番環境と開発環境間の通信は全てブロックする、あるいは特定のアプリケーション間での通信をプロセスレベルでブロックするなど制御したい範囲や目的に応じてRuleを柔軟に設定することが可能です。

このため、基本的にはラベルとポートでの制御を行い、その上で保護資産の中でも特に重要なアプリケーションに対してはプロセスレベルでの制御を行うといった運用も可能になっています。

 

その他のRule作成手法

Ruleを一つ一つ手動で登録する以外にも、実際の通信をベースとして様々な方法でポリシーを作成することが可能です。

以下の図のテンプレートから作成をする場合には、既存で発生している通信についてはAllowにし、それ以外の通信をAlertとすることで、容易にApplication毎のセグメンテーションを実装可能です。

作成したRuleの確認

作成したRuleはNetwork LogやRulesからどの位そのRuleに該当する通信が発生しているかが確認できるため、通信をブロックする前に一定期間AlertでRuleを作成することによって、そのRuleの妥当性を簡単に評価することが可能です。

またテキストベースで確認するだけではなく、Mapの情報からどのようなRuleによってブロックされているのかを確認することも可能です。

以下の例ではEndpointというラベルがついているもの同士の通信において異なるApplication間の通信を許可していないため、Endpoint_To_EndpointというRulesetによってポート3389の通信がブロックされていることがわかります。

このように作成したRuleによってどのように通信がブロックされているのかまで視覚化出来るため、Ruleが正常に動作しているかを簡単に確認することが出来ます。

Ruleは広くRulesetという概念で管理されます。

これにより例えばOA機器を管理するチームにはOA機器同士の通信に対して適用しているRulesetでフィルタリングして通信状況を確認すれば良いなど、各担当エリアに応じて見なければならないRuleを簡単に認識することが可能です。

例えば上図で適用されているRulesetは以下のRuleの集合で作られています。

このように各Ruleを個別で管理するのではなく、Ruleの集合体であるRulesetで管理をしていくことによって、更に可視性を高めています。

AGSでは可視化から制御まで一元的に提供が可能なため、従来のFirewall単独では難しい正常な通信がどのように発生しているのかを認識することや、ポリシーを追加する際にそのポリシー追加が予想外の影響を及ぼさないかを簡単に確認することが出来ます。

AGSの場合にはラベルベースでの管理のため、特定の環境同士あるいはアプリケーション同士での通信ということがMAP上で認識可能です。それぞれに対してブロックしている通信や許可している通信を可視化することも出来ているため、本来許可されるべきでない通信が行われていないか、適切にブロックされているかの確認も可能になっています。

まとめ

AGS の Enforcement 機能は可視化された通信を元に、実際の通信の制御を行いマイクロセグメンテーションを実現します。
可視化と制御を一元的に提供することによって、ルールを追加した際の影響を容易に確認できるため、ルール追加時の負担を削減し、運用にかかる工数の削減を実現します。



執筆者

Shingo Suzuki

May 01, 2024

執筆者

Shingo Suzuki