ご存知のようにPAシリーズは高度なセキュリティ機能を持っており、企業NWにおけるクライアントやサーバを悪意のある攻撃から守っています。ただPAシリーズもIT製品である以上、PA自身に脆弱性が発見され、PA自身が攻撃の対象となる可能性はゼロではありません。今回は、このようなPA自身に対する攻撃への対策について考えたいと思います。
脆弱性への対策
一般的に脆弱性への対策として考えられるのは以下のようなものです。
- 恒久対処(推奨)
- 対策バージョンのOSへのアップグレード
- 暫定対処
- 設定の無効化などワークアラウンド(回避策)による対処
- IPSによる防御(外部ネットワーク経由の攻撃に対する対策)
基本的に脆弱性に対する根本的な対応は「不具合を改修した対策バージョンのOSにアップグレード」することで最も推奨される対応です。ただ、どうしても止めることが難しい運用中のNWにおいては、脆弱性の対象となっている機能の無効化などの回避策を講じることで暫定対処を行います。また、外部ネットワークからの攻撃に対しては脆弱性防御(IPS)機能による対応も有効です。今回はこの脆弱性防御機能による対策について記載します。
脆弱性防御(IPS)機能による脆弱性への対応
一般的に外部から攻撃を受ける可能性の高い脆弱性は重大度が高くなります。PAシリーズはセキュリティ製品として高度なIPS機能(脆弱性防御機能)を持っていますので、このような外部からの”PA自身への攻撃”についてシグネチャベースで防ぐことが可能です。(脆弱性防御機能を利用するためには、Threat Prevention ライセンスが必要です。)
対策シグネチャの配信
PA自身への脆弱性が発見された場合、脆弱性防御機能で対応するためのシグネチャは迅速に作成されます。作成されたシグネチャはダイナミック更新の設定により自動更新可能なため、脆弱性が発生してしまった場合であっても自動でシグネチャによる防御(=暫定対処)を行うことができます。
ダイナミック更新の設定方法はこちらを参照してください。更新は最短30分間隔まで設定が可能です。
このようにPA自身の脆弱性対策として「脆弱性防御をPA自身に適用」することは非常に有効であり、特にGlobal ProtectやCaptive Portalなどのサービス(機能)を公開している場合は必ず設定すべきです。もし設定されていない場合は、以下の手順を参考に設定を行いましょう。
PA自身への脆弱性防御の適用方法
PA自身への攻撃は基本的にインターネット上にサービスを公開しているインターフェイス(IP)に対して行われます(例えば、CVE-2024-3400では、公開しているGP PortalとGP Gatewayが狙われました)。このような外部(Untrust側)にサービスを公開している構成の場合、
- 「Untrust to Untrust」のセキュリティポリシーを作成する必要があります。
一般的に外部から内部への攻撃は、「Untrust to Trust」の設定を行うことが多いと思いますが、この設定はPA自身がUntrust側に公開しているサービスに対しては適用されませんので注意してください。ここでは「Untrust to Untrust」通信に対する設定例を2つ記載しますので参考にしてみてください。
設定方法 その1 (通常のセキュリティポリシーによる対応)
まず、上記の構成でGP Potal/Gatewayが対象となるセキュリティポリシーを作成し、脆弱性防御プロファイルを適用します。この場合のセキュリティポリシーは「Untrust to Untrsut」になります。今回、宛先IPについては明示的に「GP Portal/Gateway で利用しているIP」のみを対象としていますが 宛先IPを「any」 で設定することで、その他のサービスをUntrust側に公開した場合なども自動的にセキュリティプロファイルが適用できるようになります。
ログ量を削減するためにUntrust to Untrust通信のログを出力したくないと言うようなケースでは、以下のように宛先IPなどを明示的に指定することで対応が可能です。公開しているサービスのIPやポート番号などが把握できていて、細かくポリシー制御を行いたい場合はこちらの設定を利用してください。
セキュリティプロファイルの適用方法についてはこちらを参考にしてください。
設定方法 その2 (intrazone-default ポリシーによる対応)
2つめの方法として、上記のような「Untrust to Untrust」 ポリシーにマッチするセキュリティポリシーとして「intrazone-default ポリシー」があります。このポリシーは「すべての同一ゾーン間の通信を許可するポリシー」で暗黙のポリシーとして interzone-default ポリシーとセットでポリシーの最後にデフォルトで設定されています。ここではこの intrazone-defalt ポリシーを利用します。
intrazone-default ポリシーおよび interzone-default ポリシーについてはこちらを参照してください。
この設定では、すべての同一ゾーン間通信(今回の構成では、Trust to Trust、Untrust to Untrust)がセキュリティプロファイルの対象になります。送信元IP/宛先IPなども全てanyになります。一度設定しておけば、サービス公開時にセキュリティポリシーの追加等の検討が不要ですので、細かく管理するのが難しい場合などはおすすめの設定です。
- この2つの暗黙のポリシーは通常設定変更ができないようになっているため、Overrideボタンにより設定を行います。
- intrazone-default ポリシーをクリックして選択し、画面下の「Overrideボタン」をクリックします。
- 「セキュリティポリシールール-predefined」画面で「アクションタブ」をクリックします。
- 【プロファイル設定】→【脆弱性防御】に、作成した脆弱性プロファイルを設定します。
- デフォルトでは、intrazone-defautポリシーはログを出力しない設定になっているため【ログ設定】の「セッション終了時にログ」にチェックを行います。
- OKをクリックして設定を終了します。
- intrazone-defaultポリシーが以下のように変更されます。(歯車アイコンの表示が変わります)
付録
SSLによる攻撃は暗号化されているのでSSL復号が必要に思われますが、Global Protectなどの場合、SSLを終端した後にセキュリティプロファイルによるチェックが行われるため、SSL復号の設定は必要ありません。
コメント欄 質問や感想、追加してほしい記事のリクエストをお待ちしてます!