【Fortigate】UTM(侵入防止)の設定と動作確認 FortiOS6.2.4

この記事では、SSL インスペクション(deep-inspection)を有効にした状態で、FortiGate の UTM 機能の一つである侵入防止(IPS)の動作を確認します。IPS のシグネチャによる攻撃の遮断と、ボットネットの C&C サーバへの接続の遮断の2つを試します。検証時の FortiOS は 6.2.4 です。

先に、次の記事を読んでおくことをおすすめします。

>> 参考記事:【Fortigate】SSLインスペクション(deep-inspection)設定と動作確認 FortiOS6.2.4

この記事でわかること
  1. IPS シグネチャの確認方法と、IPS センサー(default)の設定
  2. シグネチャ Web.Server.Password.Files.Access による遮断とログ
  3. ボットネット C&C への発信接続の遮断とログ

検証の構成

端末からインターネットへの HTTPS の通信を、FortiGate が deep-inspection で復号し、通信の中身を IPS のシグネチャで検査します。

Internet端末FortiGate(UTM)HTTPSHTTPSFortiGate の証明書で暗号化公開サーバの証明書で暗号化復号して不正侵入を検知deep-inspection+IPS(侵入防止)
図1 検証の構成

IPS シグネチャによる遮断

侵入防止(IPS)は、既知の脆弱性を突く攻撃などの悪意のある通信を検知して遮断する機能です。攻撃のパターンを定義したシグネチャと通信を照合して検知します。

シグネチャを確認する

シグネチャは非常に多く登録されていて、セキュリティプロファイル ›› IPSシグネチャ で確認できます。重大度、ターゲット(サーバ/クライアント)、OS ごとの内訳や、シグネチャごとのアクションが一覧で表示されます。

今回のテストで使うシグネチャ Web.Server.Password.Files.Access を検索して、内容を確認します。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

FortiGate 管理画面画面イメージ
セキュリティプロファイル ›› IPSシグネチャ
検索Web.Server.Password.Files.Access
名前重大度ターゲットOSアクション
1Web.Server.Password.Files.Access2MediumサーバLinux3⊘ ブロック
図2 シグネチャの検索結果(実際の画面ではなく、表示のポイントを示したイメージです)

名前にカーソルを合わせると、シグネチャの詳細を確認できます。

項目内容
ID43336
サマリHTTP リクエストで機密ファイルにアクセスしようとする通信を検知します。対象のファイルは /etc/passwd(ローカルユーザの一覧)、/etc/shadow(パスワードのハッシュ)、/etc/resolv.conf(DNS の設定)です。
重大度Medium(中)
インパクトInformation Disclosure(情報漏えい)

IPS センサーを確認する

IPS では、何を検知して、どのアクションを取るかを決めるプロファイル(IPS センサー)が必要です。セキュリティプロファイル ›› 侵入防止 を開き、あらかじめ用意されている default をダブルクリックして、設定内容を確認します。

FortiGate 管理画面画面イメージ
セキュリティプロファイル ›› 侵入防止 ›› IPSセンサーの編集
名前default
コメントPrevent critical attacks.
悪意のあるURLをブロック OFF
IPSシグネチャとフィルタ
詳細除外IPアクションパケットロギング
1重大度:Medium/High/Critical2デフォルト✕ 無効化済み
ボットネットC&C
ボットネットサイトへの発信接続をスキャン◉ 無効○ ブロック○ モニタ
図3 IPS センサー default(実際の画面ではなく、表示のポイントを示したイメージです)

default のセンサーでは、重大度が Medium(中)、High(高)、Critical(重大)のシグネチャに一致した場合に、シグネチャごとのデフォルトのアクションを実行します。Web.Server.Password.Files.Access は重大度が Medium で、アクションのデフォルトはブロックです。そのため、default のセンサーを適用したポリシーでこのシグネチャに一致すると、通信はブロックされます。

ポリシーに IPS を適用する

ポリシー&オブジェクト ›› ファイアウォールポリシー を開き、内部から外部へのポリシー(Internal->External)を編集して、IPS を有効にし、default を適用します。

FortiGate 管理画面画面イメージ
ポリシー&オブジェクト ›› ファイアウォールポリシー ›› Internal->External
着信 / 発信インターフェースport2 / port1
送信元 / 宛先 / サービスall / all / ALL
インスペクションモード○ フローベース◉ プロキシベース
NAT ON
セキュリティプロファイル
アンチウイルス ON default
Webフィルタ / DNSフィルタ OFF
アプリケーションコントロール ON default
1IPS ON default
⋮(以下略)
図4 ポリシーへの IPS の適用(実際の画面ではなく、設定する項目を示したイメージです)

/etc/passwd を検索して確認する

端末から Google で /etc/passwd を検索します。検索の文字列を含む HTTP リクエストが、シグネチャ Web.Server.Password.Files.Access に一致します。

ログ&レポート ›› 侵入防止 を見ると、このシグネチャに一致した通信が dropped(破棄)されたログを確認できます。

FortiGate 管理画面画面イメージ
ログ&レポート ›› 侵入防止
日付/時刻重大度送信元アクションアタック名
2020/10/03 21:01:01Medium10.0.1.101droppedWeb.Server.Password.Files.Access
2020/10/03 21:00:05Medium10.0.1.10droppedWeb.Server.Password.Files.Access
2020/10/03 20:26:03Medium10.0.1.10droppedWeb.Server.Password.Files.Access
図5 IPS のログ(実際の画面ではなく、表示のポイントを示したイメージです)

なお、今回のポリシーではアプリケーションコントロールも有効にしていたため、検索したときのブラウザには、アプリケーションコントロールのブロック画面(検索のアプリケーション Google.Search_Search.Phrase をブロック)が表示されました。IPS で止まったかどうかは、ブラウザの画面ではなく、侵入防止のログで確認します。

端末のブラウザ(FortiGate のブロック画面)画面イメージ
https://www.google.co.jp/search?…q=/etc/passwd…
FortiGate Application ControlApplication Blocked
You have attempted to use an application that violates your Internet usage policy.
Application:Google.Search_Search.Phrase
Category:General.Interest
図6 検索したときに表示されたブロック画面(実際の画面ではなく、表示のポイントを示したイメージです)

ボットネット C&C への接続の遮断

C&C はコマンド&コントロールの略です。マルウェアに感染した端末は、攻撃者の C&C サーバに接続し、遠隔から不正な命令を受け取ります。FortiGate の IPS では、FortiGuard のボットネット C&C の IP アドレスの定義を使って、C&C サーバへの発信接続を遮断できます。

端末(内部)FortiGate(IPS)C&C サーバ(ボットネット)発信接続ボットネット C&C IP 定義(FortiGuard)と照合してブロック
図7 ボットネット C&C への発信接続の遮断

ボットネット C&C のスキャンをブロックにする

セキュリティプロファイル ›› 侵入防止 で、ポリシーに適用している default のセンサーを開き、ボットネットC&C の ボットネットサイトへの発信接続をスキャン を ブロック に変えます。

FortiGate 管理画面画面イメージ
セキュリティプロファイル ›› 侵入防止 ›› IPSセンサーの編集
ボットネットC&C
1ボットネットサイトへの発信接続をスキャン○ 無効◉ ブロック○ モニタ
2定義botnet package に 2388個のIPアドレス。
OK
図8 ボットネット C&C のスキャン(実際の画面ではなく、設定する項目を示したイメージです)

botnet package に 2388個のIPアドレス。 の部分をクリックすると、遮断の対象になる C&C サーバの IP アドレス、ポート番号、プロトコル、名前の一覧を確認できます。

FortiGate 管理画面画面イメージ
侵入防止 ›› ボットネットC&C IP定義
IPポートプロトコル名前
(伏せています)443TCPSunburst
(伏せています)443TCPSunburst
(伏せています)80TCPCoinMiner
(伏せています)416TCPTofsee
(伏せています)16,464UDPZeroAccess
(伏せています)80TCPLocky
⋮(以下略)
図9 ボットネット C&C IP 定義(実際の画面ではなく、表示のポイントを示したイメージです。IP アドレスは伏せています)

OK をクリックして、動作を確認します。

C&C サーバへの接続を確認する

ボットネット C&C IP 定義にある、TCP の 443 番が対象の宛先に、ブラウザでアクセスしてみます。ページは表示されません。

端末のブラウザ(Internet Explorer)画面イメージ
https://(伏せています)
このページを表示できませんWeb アドレス https://(伏せています) が正しいか確かめてください
図10 C&C サーバへのアクセス(実際の画面ではなく、表示のポイントを示したイメージです)

ログ&レポート ›› 侵入防止 でログを確認すると、該当の通信が dropped(破棄)されています。

FortiGate 管理画面画面イメージ
ログ&レポート ›› 侵入防止
重大度送信元プロトコルアクションアタック名
Critical10.0.1.2661droppedSunburst
Critical10.0.1.266droppedSunburst
Critical10.0.1.266droppedAzorUlt
Critical10.0.1.266droppedAzorUlt
図11 ボットネット C&C への接続のログ(実際の画面ではなく、表示のポイントを示したイメージです)

いちばん上のログの詳細を開くと、ボットネットの C&C 通信として遮断されたことを確認できます。

表示意味
プロファイル名:default遮断した IPS センサーです。
アタック名:Sunburst一致したボットネットの名前です(アタック ID 7630519)。
方向:outgoing内部から外部への発信の通信です。
重大度Critical(重大)です。
メッセージ:Botnet C&C Communication.ボットネットの C&C 通信として検知したことを示します。

まとめ

設定・確認内容
シグネチャセキュリティプロファイル ›› IPSシグネチャ で検索し、重大度とデフォルトのアクションを確認
IPS センサーdefault は重大度 Medium/High/Critical に一致したら、シグネチャのデフォルトのアクションを実行
ボットネット C&Cボットネットサイトへの発信接続をスキャン を ブロック
ポリシーInternal->External に IPS default を適用(SSL インスペクションは deep-inspection)
確認ログ&レポート ›› 侵入防止 のアクション dropped とアタック名

コメント