エディション macOS Linux Sensor

LANに置く専用センサーノード「RoamSwitch Sensor」

RoamSwitch Sensor は、LANに置く専用ノードから、同じLAN上のRoamSwitch端末(Mac / Linux Client / Server Edition)をその端末の外側から監査します。ホスト自身の自己診断では原理的に見えない「同じLANの別の機器からどう見えるか」(開いているポート、認証なしで露出したサービス、横移動の足がかり)を確認します。あわせて、LAN上の機器台帳とARPなりすまし検知も提供します。

RoamSwitch Sensor: a dedicated LAN sensor node with ARP sweep and passive ARP monitoring, IoT risk classification, active vulnerability audit of paired RoamSwitch endpoints, and pairing-code (Ed25519, fixed IP) pairing

🛡️ 能動的脆弱性監査(ペアリング済み端末が対象)

全ポート走査 → 既知シグネチャ診断(Redis/dockerd/Memcached/MongoDB/Elasticsearch/CouchDB/Jenkins/VNCの認証なし露出、SMBv1・署名なし、RDPのNLA未強制、SMTPオープンリレー等)→ 汎用バナー取得 → nmap NSE補完診断の4フェーズ構成。破壊的操作は一切行いません。

📋 ネットワーク構成の把握(能動ARPスイープ)

LAN上の機器をARPスイープで洗い出します。IP・MAC・ホスト名・ベンダー・オンライン状態・初回/最終検出・IP履歴を台帳化し、機器ごとに名前・用途などを自由記述で登録できます。メモ未登録の機器は「要確認」として目立たせるため、機器台帳との突き合わせに使えます。nmapが未導入の場合は、Sensorが通信した機器のみを表示する受動モードに戻ります。

👁️ ARPイベントと「次にやること」

新規機器の出現と、既知IPに対するMACの変化(ARPなりすましの兆候)を、発生時刻・重大度(致命的〜情報)・判断の根拠・関係する機器の素性・具体的な確認手順つきで提示します。ゲートウェイIPのMAC変化は「致命的」として扱います。オプトインの受動キャプチャを有効にすると、単一機器による多数IPへのARP要求(LAN内偵察)も検知します。

🔎 LAN上の他機器の把握と不審な挙動(すべて検知のみ)

MACのベンダー・機器分類、mDNS/SSDP/DHCPの自己申告による機種特定、既知の悪性IPや管理用ポートへの接続、ボットネット化・DDoS参加の兆候(多数の宛先への接続)、DNSトンネリング/C2の兆候を参考情報として提示します。多くはミラーポート等の受動キャプチャ設定(オプトイン)が必要で、Sensorが通信を遮断することはありません。

🔑 ペアリングコード方式(Ed25519・固定IP・証明書ピン)

初期状態では何も信頼しません。Sensorオペレーターが発行する10分間有効の使い捨てペアリングコードを、端末側でSensorの固定IPアドレスおよびSensorの画面に表示される証明書フィンガープリントとあわせて入力することで、双方向の信頼が1回の操作で成立します。公開鍵は自動的に交換されるため、事前に知る必要はありません。クラウドへの登録・アカウント作成は不要です。

🔐 制御APIの防御(TLS 1.3・証明書ピン・リプレイ防止)

端末との制御通信(TCP 50543)は、TLS 1.3で受け付けます(control.tls: off / optional(既定)/ required)。証明書は自己署名で、信頼はSensorの画面に表示されるフィンガープリントを端末側で固定(ピン留め)して決め、ネットワーク経由での自動取得はしません。監査リクエストの署名は時刻とnonce付きのv2形式で再送を拒否し、ペアリングコードの総当たりや署名の失敗は送信元IPごとにロックアウトされます。旧形式(v1)署名の受理可否や待ち受けIPも設定できます。

🖥️ すべての機能を操作できる10言語のTUI

対話型TUIは、CLIのすべてのサブコマンド、デーモンのIPC、すべての設定キー(設定エディタ・TLS状態と証明書の再生成・手動ペアリング・通知テスト)、コレクター運用、すべてのイベント画面(受動監視・IoT挙動・不審な通信・脆弱性情報を含む)を、10言語で操作できます。CLIは日本語と英語です。監査レポートとエクスポートも10言語で出力できます。

📅 定期監査と前回との差分(オプトイン)

ペアリング済み端末を定期的に自動監査し、前回との差分(新規検出・解消・新たに開いたポート)を表示します。以前開いていたポートが全て見えなくなった場合は「解消」ではなく「到達不能の疑い」として扱います。無人の監査でも、端末が最後に認証したときのMACアドレスを監査の前後で確認し、IPアドレスが別の機器に渡っていれば監査しません。既定では無効で、実行間隔と実行してよい時間帯を設定します。

📣 通知と監査証跡(オプトイン)

リグレッション・新規機器・ARPなりすましなどを、Webhook(Slack・Discord・Teams等)とsyslog(RFC 5424)へ通知できます。ペアリング・解除・監査・設定変更は、実行者付きで改ざん検知つきの操作ログ(ハッシュ連鎖)に記録され、監査結果・機器台帳・操作ログをCSV・JSON・HTMLレポート(ブラウザでPDF保存)で書き出せます。通知の送信先はすべて運用者が設定したものだけで、既定では機器情報も監査結果も送信しません。検知用データ(CVEマップとnmap NSEデータベース)は更新サービスから毎日取得しますが、updates.fetch_cve_map で停止でき、この通信に機器・監査データは含まれません。

🗂️ 複数Sensorの集約(中央コレクター・オプトイン)

複数拠点にSensorを置く組織向けに、署名付きの要約を集める中央コレクターを同梱しています(既定では無効)。拠点別に状況を確認するダッシュボードとCSV出力を備え、Sensor側の監査ログの切り詰め・巻き戻しも検知します。RoamSwitch未導入の機器(管理外デバイス)は「未ペアリングのRoamSwitchホスト」か「不明な機器」かに分類して要約に含められます(collector.send_unmanaged_devices。通信内容は含みません)。登録したSensorの署名付きリクエストだけを受け付け、TLSなしでLAN外へ公開することはできません。

🚨 不正なDHCPサーバー・IPv6ルーターの検知(検知のみ)

1時間ごとに、ランダムなMACからDHCP(IPv6はDHCPv6)の探索パケットを1つだけ送り、応答したサーバーをすべて数えます(IPアドレスの貸出しは受けません)。あとから増えたサーバー、正規と違うゲートウェイやDNSを配るサーバー、IPv4のゲートウェイ以外が出すIPv6ルーター広告、IPv6アドレスの持ち主の入れ替わり(NDPなりすまし)、IPv4では見えずIPv6でだけ見える機器を知らせます。機器台帳はIPv6アドレスにも対応しました。Sensorが通信を遮断することはありません。

🔎 RoamSwitch未導入機器の軽量監査(オプトイン・接続確認のみ)

ペアリングしていないプリンター・カメラ・NASなどについて、運用者が許可した範囲に限り、決まったポートへの接続確認とサービスが自分から送る表示の読み取りだけを行います。ログインの試行や脆弱性の悪用はせず、OpenVASのような深い診断は、合意した(ペアリングした)端末にしか行いません。有効にするには承認者の記録と対象範囲の設定が先に必要で、実行のたびに承認の記録が監査ログに残ります。

🔒 紛失・盗難・廃棄したときの失効とロックダウン

コレクターで失効させると、そのSensorは次の送信で自分で停止し、ペアリング・監査・送信・通知をすべて止めます(停止は再起動後も続きます)。鍵と保存データを消去する設定、コレクターに長期間つながらないと停止する設定、廃棄用のコマンドもあります。ペアリングしていた端末の一覧と解除手順も表示します。

Sensor自体への攻撃対策が必要な場合は、同一マシンにRoamSwitch for LinuxのServer Editionを別途インストールすることを推奨します。両者は独立したプロセスとして共存できます。

監査レポートの出力例

roamswitch-sensor export all --format html(TUIでは e キー)で書き出せるレポートの例です。単体のHTMLファイルなので、ブラウザで開いて「PDFとして保存」すれば、監査人へ提出できるPDFになります。

掲載しているマシン名・MACアドレス・IPアドレス・公開鍵はすべて架空です。レポートの本文は表示言語(10言語)で出力でき、ここには日本語版と英語版の例を掲載しています(日本語以外の表示では英語版を掲載しています)。

詳しい動作確認ガイドを見る →