この記事では、SSL インスペクション(deep-inspection)を有効にした状態で、FortiGate の UTM 機能の一つである侵入防止(IPS)の動作を確認します。IPS のシグネチャによる攻撃の遮断と、ボットネットの C&C サーバへの接続の遮断の2つを試します。検証時の FortiOS は 6.2.4 です。
先に、次の記事を読んでおくことをおすすめします。
>> 参考記事:【Fortigate】SSLインスペクション(deep-inspection)設定と動作確認 FortiOS6.2.4
- IPS シグネチャの確認方法と、IPS センサー(default)の設定
- シグネチャ Web.Server.Password.Files.Access による遮断とログ
- ボットネット C&C への発信接続の遮断とログ
検証の構成
端末からインターネットへの HTTPS の通信を、FortiGate が deep-inspection で復号し、通信の中身を IPS のシグネチャで検査します。
IPS シグネチャによる遮断
侵入防止(IPS)は、既知の脆弱性を突く攻撃などの悪意のある通信を検知して遮断する機能です。攻撃のパターンを定義したシグネチャと通信を照合して検知します。
シグネチャを確認する
シグネチャは非常に多く登録されていて、セキュリティプロファイル ›› IPSシグネチャ で確認できます。重大度、ターゲット(サーバ/クライアント)、OS ごとの内訳や、シグネチャごとのアクションが一覧で表示されます。
今回のテストで使うシグネチャ Web.Server.Password.Files.Access を検索して、内容を確認します。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| 検索 | Web.Server.Password.Files.Access |
| 名前 | 重大度 | ターゲット | OS | アクション |
|---|---|---|---|---|
| 1Web.Server.Password.Files.Access | 2Medium | サーバ | Linux | 3⊘ ブロック |
名前にカーソルを合わせると、シグネチャの詳細を確認できます。
| 項目 | 内容 |
|---|---|
| ID | 43336 |
| サマリ | HTTP リクエストで機密ファイルにアクセスしようとする通信を検知します。対象のファイルは /etc/passwd(ローカルユーザの一覧)、/etc/shadow(パスワードのハッシュ)、/etc/resolv.conf(DNS の設定)です。 |
| 重大度 | Medium(中) |
| インパクト | Information Disclosure(情報漏えい) |
IPS センサーを確認する
IPS では、何を検知して、どのアクションを取るかを決めるプロファイル(IPS センサー)が必要です。セキュリティプロファイル ›› 侵入防止 を開き、あらかじめ用意されている default をダブルクリックして、設定内容を確認します。
| 名前 | default |
| コメント | Prevent critical attacks. |
| 悪意のあるURLをブロック | OFF |
| 詳細 | 除外IP | アクション | パケットロギング |
|---|---|---|---|
| 1重大度:Medium/High/Critical | 2デフォルト | ✕ 無効化済み |
| ボットネットサイトへの発信接続をスキャン | ◉ 無効○ ブロック○ モニタ |
default のセンサーでは、重大度が Medium(中)、High(高)、Critical(重大)のシグネチャに一致した場合に、シグネチャごとのデフォルトのアクションを実行します。Web.Server.Password.Files.Access は重大度が Medium で、アクションのデフォルトはブロックです。そのため、default のセンサーを適用したポリシーでこのシグネチャに一致すると、通信はブロックされます。
ポリシーに IPS を適用する
ポリシー&オブジェクト ›› ファイアウォールポリシー を開き、内部から外部へのポリシー(Internal->External)を編集して、IPS を有効にし、default を適用します。
| 着信 / 発信インターフェース | port2 / port1 |
| 送信元 / 宛先 / サービス | all / all / ALL |
| インスペクションモード | ○ フローベース◉ プロキシベース |
| NAT | ON |
| アンチウイルス | ON default |
| Webフィルタ / DNSフィルタ | OFF |
| アプリケーションコントロール | ON default |
| 1IPS | ON default |
| ⋮(以下略) | |
/etc/passwd を検索して確認する
端末から Google で /etc/passwd を検索します。検索の文字列を含む HTTP リクエストが、シグネチャ Web.Server.Password.Files.Access に一致します。
ログ&レポート ›› 侵入防止 を見ると、このシグネチャに一致した通信が dropped(破棄)されたログを確認できます。
| 日付/時刻 | 重大度 | 送信元 | アクション | アタック名 |
|---|---|---|---|---|
| 2020/10/03 21:01:01 | Medium | 10.0.1.10 | 1dropped | Web.Server.Password.Files.Access |
| 2020/10/03 21:00:05 | Medium | 10.0.1.10 | dropped | Web.Server.Password.Files.Access |
| 2020/10/03 20:26:03 | Medium | 10.0.1.10 | dropped | Web.Server.Password.Files.Access |
なお、今回のポリシーではアプリケーションコントロールも有効にしていたため、検索したときのブラウザには、アプリケーションコントロールのブロック画面(検索のアプリケーション Google.Search_Search.Phrase をブロック)が表示されました。IPS で止まったかどうかは、ブラウザの画面ではなく、侵入防止のログで確認します。
You have attempted to use an application that violates your Internet usage policy.
Application:Google.Search_Search.Phrase
Category:General.Interest
ボットネット C&C への接続の遮断
C&C はコマンド&コントロールの略です。マルウェアに感染した端末は、攻撃者の C&C サーバに接続し、遠隔から不正な命令を受け取ります。FortiGate の IPS では、FortiGuard のボットネット C&C の IP アドレスの定義を使って、C&C サーバへの発信接続を遮断できます。
ボットネット C&C のスキャンをブロックにする
セキュリティプロファイル ›› 侵入防止 で、ポリシーに適用している default のセンサーを開き、ボットネットC&C の ボットネットサイトへの発信接続をスキャン を ブロック に変えます。
| 1ボットネットサイトへの発信接続をスキャン | ○ 無効◉ ブロック○ モニタ |
| 2定義 | botnet package に 2388個のIPアドレス。 |
botnet package に 2388個のIPアドレス。 の部分をクリックすると、遮断の対象になる C&C サーバの IP アドレス、ポート番号、プロトコル、名前の一覧を確認できます。
| IP | ポート | プロトコル | 名前 |
|---|---|---|---|
| (伏せています) | 443 | TCP | Sunburst |
| (伏せています) | 443 | TCP | Sunburst |
| (伏せています) | 80 | TCP | CoinMiner |
| (伏せています) | 416 | TCP | Tofsee |
| (伏せています) | 16,464 | UDP | ZeroAccess |
| (伏せています) | 80 | TCP | Locky |
| ⋮(以下略) | |||
OK をクリックして、動作を確認します。
C&C サーバへの接続を確認する
ボットネット C&C IP 定義にある、TCP の 443 番が対象の宛先に、ブラウザでアクセスしてみます。ページは表示されません。
ログ&レポート ›› 侵入防止 でログを確認すると、該当の通信が dropped(破棄)されています。
| 重大度 | 送信元 | プロトコル | アクション | アタック名 |
|---|---|---|---|---|
| Critical | 10.0.1.26 | 6 | 1dropped | Sunburst |
| Critical | 10.0.1.26 | 6 | dropped | Sunburst |
| Critical | 10.0.1.26 | 6 | dropped | AzorUlt |
| Critical | 10.0.1.26 | 6 | dropped | AzorUlt |
いちばん上のログの詳細を開くと、ボットネットの 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 とアタック名 |
コメント