SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

【Cybereason】CybereasonのAPI連携・FortiGate連携方法と活用

CATEGORY
2023.09.27

❏Cybereason API機能

こんにちは。SBC&S 橋本です。

Cybereason EDRの特徴については以前記事にしましたが、簡単にまとめると

・海外製品ですが、管理画面(GUI)やマニュアル・MDRサポートのすべてが日本語対応
・管理画面が非常に直感的でわかりやすく、EDR初心者でも扱いやすい

上記のような特徴があり、導入の敷居がとても低いEDRソリューションとなっています。

そして、最近のトレンドに乗り遅れることなく、Cybereasonも最新の製品としてREST APIを利用することが可能です。

この機能を活用することで、さまざまな他社のセキュリティ製品と連携可能になります。
今回は、CybereasonのAPIを使用して他社製品との連携を検証した内容についてご紹介いたします。


Cybereason EDRでは、様々なAPIが公開されており、これらを活用することで
他社製品との連携や自動化による効率化を行うことが可能です。下記はAPIの一例となります。
 
APIについての詳細は、Cybereason パートナーサイトに詳しく記載されています。

※CybereasonパートナーサイトはCybereasonのパートナー以外は閲覧できません。Cybereasonパートナーにご興味がある方はSB C&S営業までお問合せください。
※MALOPとは、Malicious Operationsの略でサイバー攻撃の完全な⼀連の流れを表すものです。振る舞い検知によりCybereason は複数の疑わしい⾏為が⼀つのセキュリティインシデントに含まれる可能性が⾼いと認識し、セキュリティアナリストに調査対象としてMALOPを提供できます。

図1.png


❏CybereasonとFortiGateの連携検証について

今回は、CybereasonのAPIを利用してSB C&Sでも取扱の多いFortiGateと連携する検証を行いました。

連携内容はCybereasonで検知した悪意のある通信(Malicious connection)をワンクリックでFortiGateのオブジェクトとして登録し、脅威アドレスを管理するオブジェクトグループに格納します。
脅威アドレスを管理するオブジェクトグループと脅威をブロックするポリシーはFortiGateに事前に設定しておきます。

これにより、Cybereasonで検知した悪意のある通信をワンクリックでFortiGateのフィルターに反映させることが可能となり、 Cybereasonが導入できないようなOT/IOT機器が存在する環境でもCybereasonのセキュリティ機能を利用できるようになります。

API連携には、Pythonで書かれたスクリプトと、通信および操作を行うためのNetmiko(SSHまたはTelnetでデバイスに接続して操作を行うためのPythonライブラリ)を使用します。

本検証で作成したプログラムファイルは、本記事とあわせて提供いたしますが、注意事項として、これらのプログラムはAPI連携の参考資料として提供されるものであり、Cybereason社、Fortinet社、およびSB C&Sのサポート範囲外であることをご理解ください。

連携のイメージは以下のようになります。

図2.png

本検証では以下のAPIを利用します。

図3.png

上記のAPIにリクエストを送信し、取得したレスポンスから以下の情報を抽出して、FortiGateのオブジェクトとして登録します:

・ブロックリストに登録されたIPアドレス(IP Address)

・ブロックリストに登録されたドメイン(Domain)

・不審なドメインへの通信(Domain)

今回は、APIを呼び出すツールとしてPythonを利用しております。
内容については配布するプログラムをご確認ください。


FortiGate側での事前準備

FortiGateで脅威アドレスを管理するオブジェクトグループと脅威をブロックするポリシーを作成し、事前準備を行います。

①脅威アドレスを格納するためのオブジェクトグループの作成

図4.png

図5.png

②脅威アドレスオブジェクトグループのポリシーへの適用
 ポリシー&オブジェクト>ファイアウォールポリシー>[新規作成]

図6.png


■Python・Netmikoを動かす端末側での事前準備

CybereasonとFortiGateを連携させるために、PythonとNetmikoを動作させる端末の設定を行います。

(本手順はWindows環境を想定しています)

【PC設置環境】

・ Cybereasonの管理URL・ FortiGateのログインIPどちらにもアクセス出来る環境に配置

① Pythonを以下のURLからダウンロードします。

https://www.python.org/

2023年9月現在のサイト内インストーラー格納場所: Downloads>>> Windows

検証時のPythonバージョンはPython 3.11.5(最新版)となります。

② Pythonをインストール

ダウンロードしたファイルを実行してPythonをインストールしてください。

インストール時のチェック項目はデフォルトで設定しています。

(デフォルト設定のままでも、本検証には影響はありません)

③Pythonをインストール状態を確認

コマンドプロンプトを開き、以下のコマンドを入力してバージョン情報が表示されれば、Pythonは正常にインストールされています。
python --version

④ pipでPySimpleGUI、requests、Netmikoをインストール

次に、以下のコマンドをコマンドプロンプトに入力して、必要なライブラリをインストールします。

・PySimpleGUI

   pip install PySimpleGUI

Enterキーを押すと、インストールが開始され「Successfully installed」と表示されればインストール完了です。


・ requests

コマンドプロンプトから以下のコマンドを入力

   pip install requests

Enterキーを押すと、インストールが開始されます。

・Netmiko

コマンドプロンプトから以下のコマンドを入力

   pip install netmiko 

Enterキーを押すと、インストールが開始されます。


■動作検証

Pythonファイルを実行しCybereasonとFortiGateの連携検証を実施します。

【Cybereasonの端末センサーとFortiGateを連携するためのpythonツール】

図7.png

プログラムファイルを実行するとアプリケーションが起動します。

アプリケーションの【Cybereason Server Info】の枠内にCybereasonのサーバー情報と

 ログインユーザー情報を入力します。

 ※ログインユーザーは、ユーザロールがスーパーユーザもしくはAPIユーザのユーザを新しく作成し、ご利用ください。

悪意のある通信を抽出する期間を入力し、【実行ボタン】を選択。

 データ取得が成功すると以下のような実行結果が表示されます。

図8.png

次に抽出したCybereasonで検知された悪意のある通信情報をFortiGateに反映していきます。

 以下を入力し実行してください。

図9.png

脅威アドレスオブジェクトグループのポリシーへの適用

 ポリシー&オブジェクト>ファイアウォールポリシー>[新規作成]

図10.png

FortiGate側で自動的にアドレスオブジェクトの新規作成とアドレスグループへの追加が行われたことを確認します。

図11.png

CybereasonとFortiGateの連携に問題ないことが確認できたのでFortiGateの対象ポリシーを有効化し完了です。

図12.png


■最後に

いかがでしょうか?

本記事ではCybereasonのAPIを活用して、FortiGateのオブジェクトを登録するという連携方法について紹介させて頂きました。

今回ご紹介した方法以外にも、様々なAPIを活用することで、さまざまな機器やソフトウェアとの連携や自動化が可能になります。

CybereasonのAPIに関する詳細情報は、パートナーサイトに記載されています。ご興味がある場合は、パートナー登録が必要です。詳しくはSB C&Sの営業担当にお問い合わせください。

今回検証で利用したPythonファイルは配布しておりますので是非ご検証ください。

(配布Pythonファイルはサンプルとなります。Cybereason社およびFortinet社のサポート対象外となりますのでご理解の上ご活用ください)


■おまけ: Pythonファイルの設定値

図13.png

著者紹介

SB C&S株式会社
ICT事業本部 技術本部 第3技術部 2課
橋本 紗代子

関西の湖畔で動物たちと暮らしています。