目次
はじめに
本投稿は Zscaler Advent Calendar 2025 19日目の記事です。
こんにちは、エーピーコミュニケーションズ iTOC事業部BzD部0-WANの柳田です。
Zscalerのサービスの1つであるZscaler Internet Access(以下、ZIA)ではトラフィックのログはNanologに保存されています。
企業によってはZscalerから収集されるログを既存で利用されているSIEMと連携して分析を行いたい場合があるかと思います。
そこで利用するサービスがNanolog Streaming Service(以下、NSS)となり、ログをSIEMに連携するための橋渡し役となります。
今回はNSSを利用してCrowdStrikeのFalcon Next-Gen SIEM(以下、NG-SIEM)にログを転送する手順を紹介します。

参考:https://help.zscaler.com/ja/zia/understanding-zscaler-cloud-architecture
NSSの種類について
NSSを利用するには2種類の方法があり「VMベースのNSS」と「クラウドNSS」があります。
VMベースだと自社の環境にVMを構築する必要があり、初期設定や管理まで自社で行う必要があります。
クラウドNSSだと自社の環境にVMを構築する必要がなくなり、SIEMに対して直接HTTPSによるAPI通信を行います。

参考:https://help.zscaler.com/ja/zia/understanding-nanolog-streaming-service
注意点
今回は「VMベースのNSS」を利用して構築を行いますが、Zscaler及びCrowdStrike側に明確な構築手順がないためベストプラクティスとは異なる可能性があります。
構成図
構成図は以下の通りです。
簡略のためトラフィックのフローを省略していますが、Nanologを起点にNSSサーバに通信をしているわけではなくNSSサーバからアウトバウンドでNanologに通信を行っています。

構築
NSSサーバの作成(AWS)
本記事では以下のリソースの作成と紐づけは完了しているものとします。
- VPC
- サブネット
- ルートテーブル
- インターネットゲートウェイ
「AWS管理ポータル > EC2 > セキュリティグループ」からNSSサーバに適用するセキュリティグループを作成します。
アウトバウンドに必要な要件は以下のリンクに記載されています。
参考:https://config.zscaler.com/zscalerthree.net/nss
※リンクの「zscalerthree」の箇所は環境によって異なります。

次に「EC2 > インスタンス > インスタンスを起動」からインスタンスを作成します。
インスタンスの名前を入力し、「その他のAMIを閲覧する」からNSSのAMIを選択します。

インスタンスタイプを選択し、キーペアを作成します。

ネットワーク設定では作成済みのVPCやサブネット等を選択します。
また、この際に「パブリックIPの自動割り当て」は無効にします。
NSSサーバではグローバルIPアドレスを管理用インターフェイスとサービスインターフェイスそれぞれに必要としますが
自動割り当てを有効にしてしまうと設定上、1つのインターフェイスにしか割り当てられずエラーとなってしまいます。

高度なネットワーク設定ではネットワークインターフェイス1の設定はデフォルトのままで
「ネットワークインターフェイスを追加」を選択します。
追加したネットワークインターフェイス2のサブネットがネットワークインターフェイス1と同様であることを確認します。

ストレージを選択し、インスタンスを起動します。

インスタンスを起動した後は「EC2 > Elastic IP > Elastic IPを割り振る」から管理インターフェイスとサービスインターフェイス用のElastic IPをそれぞれ作成し、関連付けを行います。

NSSサーバの作成(ZIA)
「ZIA管理ポータル > Administration > Nanolog Streaming Service > NSS Servers > Add NSS Server」を選択し、NSSサーバを追加します。
「NSS for Web」と「NSS for Firewall,Cloud & Branch Connector」の2つの選択肢がありますが 今回は「NSS for Web」を選択します。
※サブスクリプションの有無によって、「NSS for Firewall,Cloud & Branch Connector」の表記は異なります。

NSSサーバを追加するとSSL証明書がダウンロードできるのでダウンロードします。

NSSサーバの設定
WinSCP等を用いてダウンロードしたSSL証明書のzipファイルをNSSサーバの/usr/home/zsroot配下にコピーします。
WinSCPを利用する場合はpemファイルをppkファイルに変換する必要があるためWinSCPに備わっているPuTTYgen等を利用して変換を行います。
winscp.net
次にTeraTerm等を用いてNSSインスタンスにSSH接続を行います。 teratermproject.github.io
ユーザ名と初期パスワードは以下になります。
初回ログイン後にデフォルトパスワードを変更するよう推奨します。
ユーザ名:zsroot パスワード:zscaler
zipファイルがコピーされていることを確認した後に、「sudo nss install-cert NssCertificate.zip」を実行します。
[zsroot@ip-192-168-1-139 ~]$ pwd /usr/home/zsroot [zsroot@ip-192-168-1-139 ~]$ ls NssCertificate.zip [zsroot@ip-192-168-1-139 ~]$ sudo nss install-cert NssCertificate.zip Detected an AWS VM!! Certificates successfully installed cat: /sc/conf/sc.conf: No such file or directory
次に「sudo nss dump-config」を実行し、構成を確認します。
[zsroot@ip-192-168-1-139 ~]$ sudo nss dump-config
Detected an AWS VM!!
/sc/conf/sc.conf does not exist
Configured Values:
CloudName:zscalerthree.net
nameserver:192.168.1.2
smnet_dev:
Default gateway for Service IP:
Routes for Siem N/w:
「sudo netstat -rn」を実行し、デフォルトゲートウェイのIPアドレスを確認します。
この場合は「192.168.1.129」になります。
[zsroot@ip-192-168-1-139 ~]$ sudo netstat -rn Routing tables Internet: Destination Gateway Flags Netif Expire default 192.168.1.129 UGS xn0 127.0.0.1 link#2 UH lo0 192.168.1.128/28 link#3 Uxn 0 192.168.1.139 link#3 UHS lo0
サービスインターフェイスの設定を行うために「sudo nss configure」を実行します。
nameserverの設定は特に変更せず、サービスインターフェイスで利用するプライベートIPアドレスとサブネットマスクを入力します。
また、先ほど確認したデフォルトゲートウェイのIPアドレスも入力します。
[zsroot@ip-192-168-1-139 ~]$ sudo nss configure Detected an AWS VM!! nameserver:192.168.1.2 (Options <c:change, d:delete, n:no change>) [n]n Do you wish to add a new nameserver? <n:no y:yes> [n]: n smnet_dev (Service interface IP address with netmask) []: 192.168.1.138/28 smnet_dflt_gw (Service interface default gateway IP address) []: 192.168.1.129 Successfully Applied Changes
ソフトウェアアップデートを行うために「sudo nss update-now」を実行します。
[zsroot@ip-192-168-1-139 ~]$ sudo nss update-now Connecting to server... Downloading latest version Installing build /sc/smcdsc/nss_upgrade.sh Finished installation!
アップデート完了後に「sudo nss start」を実行し、NSSサーバを起動します。
[zsroot@ip-192-168-1-139 ~]$ sudo nss start Detected an AWS VM!! NSS service running with pid 2880
「sudo nss troubleshoot netstat | grep tcp」を実行することでZscalerサービスやSIEMとの接続が確立されているか確認を行うことができます。
[zsroot@ip-192-168-1-139 ~]$ sudo nss troubleshoot netstat | grep tcp //+SHARED MEMORY KEY 17 (/sc/) tcp 0( 0%) 0( 0%) 192.168.1.138.7486 x.x.x.x.443 ESTABLISHED
最後に「rm NssCertificate.zip」を実行してzipファイルを削除します。
rm NssCertificate.zip
参考:https://help.zscaler.com/zia/nss-deployment-guide-amazon-web-services
Falcon LogScale Collectorの作成
「CrowdStrike管理ポータル > Next-Gen SIEM > Data onbording > Data Connections > Add conenction」から
「HEC / HTTP Event Connector」を選択します。

名前やベンダー名等を入力し、パーサーには「zscaler-internetaccess」を選択します。

Connectionを作成した後に、APIキーを作成し、値をコピーします。

次に「Next-Gen SIEM > Data onbording > Fleet management > Config Overview」からFalcon LogScale Collector(以下、LogScale Collector)に設定するConfigを作成します。
NSSサーバからはTCPのSyslog形式でログが送信されるためtypeにはSyslogをmodeにはtcpを記載します。
ポート番号は後ほど設定するNSS Feedのポート番号と一致するようにします。
また、sinksに先ほどコピーしたAPIキーを記載します。
sources: zia_syslog_1516: type: syslog mode: tcp port: 1516 sink: ngsiem zia_syslog_1517: type: syslog mode: tcp port: 1517 sink: ngsiem sinks: ngsiem: type: hec token: xxxxxxxxxxxxxxxxxxxxxxxxxx url: https://xxxxxxxxxxxxxxxxx.ingest.us-2.crowdstrike.com
「Next-Gen SIEM > Data onbording > Fleet management > Enrollment tokens」から作成したConfigを適用するためのトークンを作成します。
また、この時にEnrollmentコマンドをコピーしておきます。

Falcon LogScale Collectorのインストール
「Support and resources > Tool downloads」から「LogScale Collector For RHEL - X64, v1.9.1」をダウンロードします。

NSSサーバと同じサブネットにEC2を作成し、SSH接続を行います。
また、ダウンロードしたRPMファイルもコピーしておきます。
※通常のEC2の作成と同じためインスタンス作成手順は省略します。
RPMファイルがコピーされたことを確認し、インストールを行います。
[ec2-user@ip-192-168-1-134 ~]$ ls humio-log-collector_1.9.1_linux_amd64.rpm [ec2-user@ip-192-168-1-134 ~]$ sudo rpm -ivh humio-log-collector_1.9.1_linux_amd64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:humio-log-collector-1.9.1-1 ################################# [100%]
次にEnrollmentトークンを作成した際にコピーしたコマンドを実行します。
[ec2-user@ip-192-168-1-134 ~]$ sudo humio-log-collector enroll xxxxxxxxxxxxxxxxxxxxxxxx The LogScale Collector was enrolled successfully and is now managed by https://xxxxx.crowdstrike.com. The local configuration file was written to /etc/humio-log-collector/config.yaml and the data directory is located at /var/lib/humio-log-collector. The service was restarted.
「Next-Gen SIEM > Data onbording > Fleet management」から作成したEC2が表示されることを確認します。

NSS Feedsの設定
「Administration > Nanolog Streaming Service > NSS Servers > NSS Feeds > Add NSS Feed」から実際に転送するログの設定を行います。
転送先としてLogScale CollectorのIPアドレスと受信するポート番号を指定し、 Feedの形式は「CrowdStrike管理ポータル > Falcon Documentation > Next-Gen SIEM > Ingest Third-Party Data > Third-Party Data Sources > Zscaler Internet Access」からコピーします。
また、JSON形式で送信する際にパーサーエラーが発生する可能性があるため「,\"」の特殊記号をエスケープ処理します。

NSS Feedの設定後に、CrowdStrike管理ポータルでログが転送されていることが確認できれば完了です。

また、接続が確立できているとNSSサーバ側では「ESTABLISHED」と表示されるようになります。
[zsroot@ip-192-168-1-139 ~]$ sudo nss troubleshoot netstat | grep tcp //+SHARED MEMORY KEY 17 (/sc/) tcp 0( 0%) 0( 0%) 192.168.1.138.4222 x.x.x.x.443 ESTABLISHED tcp 0( 0%) 0( 0%) 192.168.1.138.4223 192.168.1.134.1516 ESTABLISHED tcp 0( 0%) 0( 0%) 192.168.1.138.3454 x.x.x.x.443 ESTABLISHED
まとめ
今回はクラウドNSSを利用しない方法でNG-SIEMにログを転送してみました。
設定箇所が多岐に渡るため設定ミスに気を付ける必要があります。
私はAWSの設定を1つ飛ばしてしまったためログが転送されず、数日間悩む羽目になってしまいました.....
0-WANについて
私たち0-WANは、ゼロトラスト製品を中心とした、マルチベンダーでのご提案で、お客様の経営課題解決を支援しております。
ゼロトラストってどうやるの?製品を導入したけれど使いこなせていない気がする等々、どんな内容でも支援いたします。
お気軽にご相談ください。
問い合わせ先、0-WANについてはこちら。