見出し画像

Cato Cloud の IPS を検証する

こんにちは。
株式会社フーバーブレイン SE の香取です。

本日は Cato Cloud の IPS 機能を試します。せっかくある機能なので、ちゃんと効いているのかな?を調査したいと思います。


WAN に IPS は必要なのか?

Security NEXT - 2019/12/26
「Emotet」の脅威 - 組織やビジネスへの影響を考える

脆弱性を利用した不正アクセスはインターネットからの攻撃に限らず、侵入後の横展開にも用いられます。WAN を伝い、全拠点・モバイルユーザーにまで被害を及ぼす可能性があります。

この様な脅威に対し、ひとつの対策で万全とは言えません。パッチの適用やエンドポイントセキュリティとともに、ネットワークのセキュリティ対策を行い、多層防御を実現することが重要です。

画像11

Cato Cloud は SASE として、NSaaS(Network Security as a Service)の各種機能を含みます。今回は IPS の機能を確認します。

仮説と結果

仮説
Cato Cloud では GVM(OpenVAS)のスキャンを攻撃と見なし、IPS で阻止する。攻撃を止めたことがログに記録される。

先に結果を言います。

成功!!
Cato Cloud IPS で、スキャンを阻止できました。
ログにも記録されました。

検証の環境構築・作業が長くなるため、先に結果を言ってしまいました。「どの様な検証を行ったのか」については、この後に。

検証環境の構築

いつもの3分PoC 環境を少し改造して、この様な構成にしています。

画像6

victim として Metasploitable2 を使用します。既知の脆弱性がたくさん含まれている仮想マシンです。VMware イメージ(vmdk)ですが Hyper-V用(vhdx)に NHC で変換しました。Hyper-V で起動すると NIC を認識しないため、こんな時は一旦シャットダウンして「レガシーネットワークアダプタ」を追加です。うまく行きました。

しかし、そのままでは問題があります。OSが Ubuntu 8.04(2008年物!)と古く、Cato Client に対応していません。仮に Cato Cloud に接続できるとしても victim を(検証用ではありますが)WAN に…。心理的な抵抗も多少あります。

そうだ! TCP Proxy を使おう。

クラウドアクセラレーションのことを話すときに良く出てくる言葉ですね。今回は意味が違い、victim が LISTEN しているポートを vm02 で代わりに(vm02自体のポートであるかの様に)受ける形です。
厳密には「脆弱性診断の対象としては不適切」なのですが、今回の検証程度ならこれで十分です。

ちなみに、この TCP Proxy は socat + xinetd です。
下記の FTP 用と同じ形で、プロトコル毎のファイルを作成しました。

vm02:~$ cat /etc/xinet.d/victim-ftp
service ftp
{
 port = 21
 socket_type = stream
 protocol = tcp
 wait = no
 user = root
 server = /usr/bin/socat
 server_args = stdin tcp-connect:victim:21
 disable = no
}

詳細な構築方法を書くと記事が非常に長くなってしまいます。惜しみつつカットです。また別の機会にスライド等で共有いたします。

それでは、vm04 の GVM で vm02 をスキャンしてみましょう。

画像11

スキャン結果
 High 16
 Medium 35
 Low 1
 Sevrity(重大度)10.0(High)

OK! 十分に脆弱化しています。

Cato Cloud の準備

準備はとてもシンプルです。
 1. IPS 設定
 2. Cato Client 同士が通信できる様にする。
 3. Cato Cloud 接続

行うことはシンプルなのですが、肝心要の部分ですので管理ポータルの画面を用いた解説をいたします。

1. IPS 設定

Security → Treat Protection

画像11

画面上部のスイッチを ON にするだけです(IPS 機能はオプションです。PoC時、または IPS 機能を契約している場合に、本機能をご利用頂けます)。

Malicious File のアイコンは「Block」の意味、Traking はアラートメールの設定です。
中央に TLS Inspection というリンクがあります。HTTPS 等の暗号化された通信も検査する設定です。物理機器の場合はスループットが気になりますが「Cato Cloud は SASE であり、スループットは桁違い!」なので、ON にしておくことをおすすめします。

2. Cato Client 同士が通信できる様にする。

Netwoking → Network Rules

画像11

一番上にルールを追加しています。今回は検証のため、What列を「Any」にして「All VPN Users グループの端末同士は何の通信でも通る」という設定にしておきます。

この「Cato Client の同士の通信」は地味ですが、かなり便利な機能です。
例えば Web会議中に「ちょっと自分のローカル(WSL)で動かしている開発中のアプリにアクセスしてみてくれる?」なんて時に使えます。開発用サーバへのデプロイなど、ひと手間をかけずに済みます。

また、拠点と作業場所が離れているときに「SSH の踏み台サーバにグローバルIPアドレスを割り当てられる」とは限りません。
こんな時に、踏み台サーバを Cato Cloud に接続しておくと大変便利です。

3. Cato Cloud 接続状態の確認

My Network → Topology

画像7

CatoTester01 FuvaBrain
 vm02(gvm: dist)
 Ubuntu 18.04
 10.41.14.104
 TCP Proxy:オリジンは victim(Metasploitable2)

CatoTester02 FuvaBrain
 vm04(gvm: src)
 Kali Linux 2020.3
 10.41.48.1
 Debian用の Cato Client を使用して接続しました。

Cato Cloud に接続した状態でも vm02 の TCP Proxy が効いていることを確認します。

vm04:~$ telnet 10.41.14.104 23
Trying 10.41.14.104...
Connected to 10.41.14.104.
Escape character is '^]'.
               _                  _       _ _        _     _      ____  
_ __ ___   ___| |_ __ _ ___ _ __ | | ___ (_) |_ __ _| |__ | | ___|___ \ 
| '_ ` _ \ / _ \ __/ _` / __| '_ \| |/ _ \| | __/ _` | '_ \| |/ _ \ __) |
| | | | | |  __/ || (_| \__ \ |_) | | (_) | | || (_| | |_) | |  __// __/ 
|_| |_| |_|\___|\__\__,_|___/ .__/|_|\___/|_|\__\__,_|_.__/|_|\___|_____|
                           |_|                                          

Warning: Never expose this VM to an untrusted network!
Contact: msfdev[at]metasploit.com
Login with msfadmin/msfadmin to get started

metasploitable login: 

おお!バッチリ!!

スキャン実行

検証のクライマックスです!
皆様、すでに結果はご存じのはずですが、今しばらくお付き合いください。

画像11

実際にスキャンを開始すると、ずっと 1% から進みません。スキャンを停止し、Cato Cloud の管理ポータルで確認します。

Analytics → Event Discoversy → [Select Preset: IPS]

画像8

大量にログが記録されていました。内1つを見てみると、この様に IPS でブロックされていることが確認できます。

画像9

IPS の話から逸れてしまいますが、Cato Cloud のログは管理ポータルから CSV としてエクスポートできます。また、ログ監視・管理を他のシステムで行う場合は Log Exporter という機能を使用します。Exporter は 30秒毎に新しいイベントを S3 バケットに送信します。

画像11

画面下の色が薄くて良く見えないボタンは「DOWNLOAD CLIENT SCRIPT」と「CHANGE ACCESS TOKEN」です。このスクリプトを使い、他のシステムは  S3 バケットにあるログを取得できます。

結果を先に述べてしまいましたが、Cato Cloud の IPS は、しっかりと機能しているということが確認できました。

次に IPS について調べる際には「Windows の victim に対し、比較的新しい脆弱性を利用する」など、してみたいと思います。Cato Cloud に含まれる他のセキュリティ機能についても調査・検証を行っていきます。
今後とも、よろしくお願いいたします。

画像11

いいなと思ったら応援しよう!