導入と設定

Sensor の導入と、ペアリング

Sensor を入れ、Server Edition とペアリングして、LAN の外側から監査します。片側だけで解いたときの動きと、紛失したときのコレクターでの失効も確かめます。

  • レベル: 基礎
  • 約45分
  • 2026-11-12

#Sensor を入れる

RoamSwitch Sensor は、LAN に置く専用の機械です。ペアリングした端末を、同じ LAN の外側から監査します。ホストが自分を見るだけでは分からない、「LAN からは何が見えるか」を確かめるためです。

Sensor は、固定の IP アドレスで動かします。端末は、ペアリングのときに入力した Sensor のアドレスへ、以後も直接つなぐためです。制御用に TCP 50543 番で待ち受けます。

入れた直後は、LAN へ探索を送りません

パッケージの postinst は、入れた直後にサービスを起動します。既定では、ARP スイープ(inventory.active_sweep)、DHCP の探索(dhcp.active_probe)、IPv6 のルーター要請(ipv6.active_probe)は、3つともオフです。動くのは、ARP 表・近隣表・経路表を読むことと、受動キャプチャだけです。本番の LAN で台帳や不正 DHCP の検知に使うときは、運用者がオンにします。

入れて、起動を確かめる

パッケージを入れて、サービスを起動します(変更を伴う操作です)。練習用の環境で試してください。リポジトリの登録は、Server Edition と同じです。

apt は、推奨パッケージの nmap も一緒に入れます。nmap は、監査の「nmap NSE 補完診断」の段で使います。

演習は、使い捨ての VM 1 台で行いました。VM の中に、ネットワーク名前空間(ip netns)で Sensor 用のネットワークを分け、Server を 10.77.0.3、Sensor を 10.77.0.4 にして、veth でつないでいます。Sensor のコマンドは、その名前空間の中で実行しました(sudo ip netns exec rs-sensor …)。下には、Sensor の機械で打つ形で書きます。

sudo apt install roamswitch-sensor
systemctl is-active roamswitch-sensor
sudo roamswitch-sensor status
出力の抜粋(公開鍵、アドレス、フィンガープリントの行は省略)
RoamSwitch Sensor installed and started.
By default no discovery traffic is sent to the LAN: the ARP sweep (inventory.active_sweep),
the DHCP probe (dhcp.active_probe) and the IPv6 probe (ipv6.active_probe) stay off until you turn them on.
Run 'roamswitch-sensor status' to see what is on.
active
🔍 RoamSwitch Sensor 状態
  ペアリング済み: 0
  ARPイベント: 0
  保留中の監査リクエスト: 0
  見えている範囲:
    受動キャプチャは無効です(ROAMSWITCH_SENSOR_PASSIVE_CAPTURE_IFACE が未設定)。他の機器どうしの通信は見えておらず、ARP 表・IPv6 近隣表と、有効にした能動的な探査だけを使っています。…
  · 定期監査: オフ(schedule.enabled が false)。
  · 未導入機器の監査: オフ(unmanaged_audit.enabled が false)。
  · 通知先: なし。検知しても通知は送られません(notify.webhook_urls か notify.syslog.host を設定します)。
  · LANへの探索: オフ。ARPスイープ・DHCP探索・IPv6のルーター要請は送りません(ARP表と受動キャプチャだけで見ています)。有効にするのは inventory.active_sweep / dhcp.active_probe / ipv6.active_probe。
  制御API TLS: required

postinst の最後の文は、英語だけです。サービスが実際に動いたかを確かめてから「installed and started」と出し、探索が既定でオフであることも書きます。

「見えている範囲」には、Sensor が見ていないものが並びます。定期監査は既定でオフ(schedule.enabled)なので、この講座の監査は、手で実行するものだけです。制御 API の TLS は、新しく入れた Sensor では required です。ペアリングしたあとにデーモンを再起動しても、required のままでした。

待ち受けるアドレスを絞るか

デーモンは起動時に、「Control API is listening on 0.0.0.0:50543 (TLS: required) and is reachable from the whole LAN」と警告をログに出します。control.bind_addr を Sensor の LAN 側のアドレスにすると、そのアドレスだけで待ち受けます。このキーは、デーモンの再起動で反映されます。Sensor が複数のネットワークにつながっているなら、端末のいる側に絞ります。

#Server 側で、監査を受け入れる

端末の側は、既定では Sensor とのペアリングを断ります。Sensor からの監査を受ける は、/etc/roamswitch/server.conf の sensor_pairing_enabled で有効にします。既定は false です。設定ファイルの例の注記では、「運用者が指定したアドレスへ通信する」機能として、既定でオフの一覧に入っています。

ペアリングを許可する

設定を変える操作です(変更を伴う操作です)。端末(Server)で実行します。

sudo roamswitch sensor pair --addr 10.77.0.4 --code AAAAAAAA --fingerprint 00; echo rc=$?
sudo roamswitch server config set sensor_pairing_enabled true
sudo roamswitch sensor key
出力の抜粋
  ✗ Sensor とのペアリングが無効です(既定OFF)。有効にするには次を実行してください: sudo roamswitch server config set sensor_pairing_enabled true

rc=1
  ✓ サーバー設定を更新・保存しました。 (sensor_pairing_enabled = true)
  反映するには: sudo systemctl restart roamswitch-server または sudo roamswitch server restart

=====================================================
  🔑 この端末の公開鍵
=====================================================

  公開鍵: 6i5zXvyIpGLJ2eA8W3u0jkd1958l4/STVXiNBOzsoyM=
  アドレス: 192.168.64.25

オフのときの sensor pair は、Sensor に何も送らずに、終了コード 1 で終わります。有効にするコマンドも出ます。

sensor pair は、保存した設定をすぐに読みます。保存の直後に、再起動せずに Sensor まで届くことを確かめました。デーモンにも新しい値を読ませるため、sudo roamswitch server restart も実行しておきます。元に戻すときは sensor_pairing_enabled false です。

Sensor の機械でも Server Edition を動かすとき

Sensor 自身は自己防衛をしません。運用マニュアルは、同じ機械に Server Edition を入れることを勧めています。ただし、Server Edition のファイアウォールは既定で入ってくる通信を断るので、50543 番も塞がります。

sudo roamswitch server config set sensor_colocated true
sudo roamswitch server config get allowed_ports
sudo roamswitch server restart
出力の抜粋
  ✓ サーバー設定を更新・保存しました。 (sensor_colocated = true)
  反映するには: sudo systemctl restart roamswitch-server または sudo roamswitch server restart

80,443,50543

sensor_colocated を true にすると、allowed_ports に 50543 が加わります。設定を変える操作です(変更を伴う操作です)。再起動のあと、ファイアウォールの規則に tcp dport { 22, 80, 443, 50543 } accept が入りました。

端末から 50543 番に届かないと、sensor pair は tls_unavailable で失敗します。false に戻すと、この設定が足した 50543 だけが外れます(ソースの apply_sensor_colocation)。

#ペアリングコードでつなぐ

ペアリングと失効 は、Sensor が出す使い捨てのコードで行います。コードは 8 文字で、10 分で切れます。1 回のペアリングで、端末は Sensor を、Sensor は端末を、互いに信頼します。

端末は、Sensor の TLS 証明書を、SHA-256 のフィンガープリントで固定します。フィンガープリントは、ネットワークから取りに行きません。Sensor の画面の値を、人が口頭やチャットで伝えます。

コードを発行し、間違えてから、つなぐ

Sensor でコードを発行します。

sudo roamswitch-sensor issue-code
実行結果
🔑 ペアリングコードを発行しました
  コード: G8836NKD
  有効期限: 10 分
このコードを端末側の操作者に伝えてください(口頭・チャット等)。
  制御API TLS: required
  証明書フィンガープリント (SHA-256) — 端末側で照合・入力してください:
    6F:AC:EB:6E:3D:7C:FE:A6:6D:92:24:B7:30:68:2F:CF:D1:DD:EC:0E:41:BB:FE:57:0A:8E:59:BF:A1:2D:62:A2
  端末側(Linux)で次のコマンドを実行してください:
    sudo roamswitch sensor pair --addr <Sensor IP> --code G8836NKD --fingerprint 6F:AC:EB:6E:3D:7C:FE:A6:6D:92:24:B7:30:68:2F:CF:D1:DD:EC:0E:41:BB:FE:57:0A:8E:59:BF:A1:2D:62:A2
  端末から <Sensor IP> に届かないときは、--addr を次のどれかに替えてください: 10.77.0.4 (rs-sens)

この Sensor の名前空間には既定の経路がないので、--addr は <Sensor IP> のままで、最後の行に、使えるアドレスとインターフェースが並びました。端末から届く 10.77.0.4 を使います。

端末で、フィンガープリントの最後の1文字を変えたもの、違うコード、正しい組、使い終わったコードの順に試します。下のコマンドは、フィンガープリントの途中を … で省いています。実際は全体を入力します。

sudo roamswitch sensor pair --addr 10.77.0.4 --code G8836NKD --fingerprint 6F:AC:…:62:A0
sudo roamswitch sensor pair --addr 10.77.0.4 --code 2222AAAA --fingerprint 6F:AC:…:62:A2
sudo roamswitch sensor pair --addr 10.77.0.4 --code G8836NKD --fingerprint 6F:AC:…:62:A2 --name lab-sensor
sudo roamswitch sensor pair --addr 10.77.0.4 --code G8836NKD --fingerprint 6F:AC:…:62:A2
出力の抜粋(見出しの枠は省略)
  ✗ ペアリングを拒否されました: pin_mismatch
  ⚠ Sensorの証明書が登録済みフィンガープリントと一致しません。Sensorが証明書を再生成した(`tls rotate`)か、入力ミス、または中間者攻撃の可能性があります。Sensorの画面で値を確認し、心当たりがある場合のみ再ピン留めしてください。

  ✗ ペアリングを拒否されました: invalid_code
  理由: invalid_code

  公開鍵: MUsuC5hk5RMvTH5nqdXchpwe9OvI7ywsLfhoE6BCb4c=
  ✓ ペアリングしました。以後、このSensorからの監査プローブを信頼します。

  ✗ ペアリングを拒否されました: invalid_code
  理由: invalid_code

読み方は、次のとおりです。

  • pin_mismatch: 相手の証明書が、入力した値と違います。端末は平文に切り替えません。このあと同じコードでペアリングできたので、コードは使われていません
  • invalid_code: 違うコードです
  • 使い終わったコードは、2回目には invalid_code です。失敗の終了コードは 1 です

両側の一覧で、互いの登録を確かめます。

sudo roamswitch sensor list          # 端末で
sudo roamswitch-sensor list          # Sensor で
出力の抜粋
  名前: lab-sensor
    ペアリング日時: 2026-11-12T01:57:49.452257553+00:00
    公開鍵: MUsuC5hk5RMvTH5nqdXchpwe9OvI7ywsLfhoE6BCb4c=
    最終アドレス: 10.77.0.4
    TLS 証明書ピン: 6F:AC:EB:6E:3D:7C:FE:A6:6D:92:24:B7:30:68:2F:CF:D1:DD:EC:0E:41:BB:FE:57:0A:8E:59:BF:A1:2D:62:A2

🔐 ペアリング済み端末
  ubuntu — 6i5zXvyIpGLJ2eA8W3u0jkd1958l4/STVXiNBOzsoyM= (10.77.0.3)

正しい組の sensor pair は、nmap のある Sensor でも、1 秒かからずに終わりました。端末の「ペアリング日時」は UTC です。日本時間は 9 時間足します。端末は、Sensor のアドレスと一緒に、そのとき見えた MAC アドレスも記録しました(/var/lib/roamswitch/trusted_sensors.json の last_mac)。

フィンガープリントを、Sensor から送られてきた値で埋める

ピンは、通信の相手が本物の Sensor かを見分けるためのものです。同じネットワークを通って届いた値で埋めると、途中の相手が差し替えた値を信じることになります。Sensor の画面か、別の経路で受け取った値を入力してください。

#外側から監査する

LAN の外側からの脆弱性監査 は、ペアリングした端末だけが対象です。Sensor から scan を実行すると、1〜65535 番の全ポートに接続を試し、開いていたポートに読み取りだけの確認を当てます。データの書き込みや削除、サービスの停止はしません。

ホストの中の見え方と、LAN からの見え方を比べる

端末で、Redis のふりをするダミーを 6379 番に立てます。PING に +PONG を返すだけで、何も保存しません。Server の allowed_ports は既定の 80,443 のままです。

sudo ss -ltnH 'sport = :6379'                                # 端末で
printf 'PING\r\n' | timeout 3 nc -q1 10.77.0.3 6379; echo rc=$?   # Sensor で
実行結果
LISTEN 0      5      0.0.0.0:6379 0.0.0.0:*
rc=124

端末の中では、6379 番は全部のアドレスで待ち受けています。それでも、Sensor からは届きません(rc=124 は、3 秒で時間切れ)。Server のファイアウォールが、allowed_ports にないポートを捨てているためです。

Sensor から監査します。公開鍵は、先頭の数文字でも指定できます。

sudo roamswitch-sensor scan 6i5z
出力の抜粋
監査を実行中...(nmap NSE補完診断も実行、時間がかかる場合があります)
開いているポート: 22
問題は見つかりませんでした。
  ℹ :22 SSH バージョンバナー公開
nmap NSE 補完診断:
  🔎 :22 ssh-hostkey — 256 c2:5e:d3:0f:b5:fd:e0:78:96:a3:42:41:18:07:40:f2 (ECDSA)
256 9b:60:0a:5d:5a:96:63:86:4d:8e:42:99:9b:36:cf:92 (ED25519)
  🔎 :22 banner — SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.20
  🔎 :22 fcrdns — FAIL (No PTR record)

監査は 45 秒ほどで終わりました。LAN から届くのは 22 番だけで、6379 番は出ません。ホストの中の待ち受けの一覧と、外からの見え方は違います。どちらを見ているのかを、分けて読みます。

SSH のバナーは、ℹ の行で出ます。検出には数えないので、sshd だけの端末は「問題は見つかりませんでした。」になります。

「nmap NSE 補完診断」は、開いていたポートに nmap の safe のスクリプトを当てた結果です。ホスト鍵、バナー、暗号の一覧などが 🔎 の行で並びます。これも検出には数えません。

次は、端末の側の見え方です。全ポートの監査は、通信の形としては、ポートスキャンそのものです。端末の Server Edition は、着信のポートスキャンとして検知します。送信元が、ペアリングした Sensor のアドレスと MAC に一致するときは、自動の遮断をせず、穏やかな通知にします。

sudo roamswitch notifications      # 端末で
出力の抜粋
  2026-11-12T01:58:45.702437491+00:00
  ペアリング済み Sensor による監査を検知: 10.77.0.4
    🔵 10.77.0.4 から短時間に 4096 件の異なるポートへの接続試行を検知しましたが、送信元はペアリング済みの RoamSwitch Sensor と一致するため、自動遮断は行っていません
    ホスト: ubuntu (IP: 192.168.64.25)
    送信元: 10.77.0.4
    時刻: 2026-11-12 01:58:45

端末の 80 番に Python の簡易サーバーを立てて、もう一度 scan しました。Sensor の側では、記録を読み返せます。history は監査の一覧、diff は前回との違い、report は Markdown の報告書です。

sudo roamswitch-sensor diff 6i5z
sudo roamswitch-sensor report 6i5z --out /tmp/report.md
sudo grep -A4 'Web脆弱性診断 — 確認済み' /tmp/report.md
出力の抜粋
🔀 監査の差分(前回との比較・新しい順)
  2026-11-12 02:00:07  ubuntu  新規に開いたポート 80
  2026-11-12 01:59:00  ubuntu  初回
✓ 書き出しました: /tmp/report.md
## Web脆弱性診断 — 確認済み・安全

| ポート | プロセス/対象 | チェック内容 |
|---|---|---|
| 80 | dev-server | CORS 設定ミス(認証情報付きクロスオリジン許可) |

80 番に簡易サーバーを立てたあとの監査で、diff が「新規に開いたポート 80」と示しました。1 回目の監査は「初回」です。報告書は -rw-------(root だけが読める)で作られるので、sudo で読みます。「確認済み・安全」は、そこに並んだ確認をして、問題がなかったという意味です。並んでいない確認については、何も言いません。

#ペアリングを解く

ペアリングは、両側にあります。片方で解いても、もう片方は相手を信頼したままです。

端末の側だけで解くと、どうなるか

端末で解除します。このとき、Sensor には何も伝わりません。

sudo roamswitch sensor unpair MUsu        # 端末で
sudo roamswitch-sensor list               # Sensor で
sudo roamswitch-sensor scan 6i5z          # Sensor で
出力の抜粋
  ✓ ペアリングを解除しました。
🔐 ペアリング済み端末
  ubuntu — 6i5zXvyIpGLJ2eA8W3u0jkd1958l4/STVXiNBOzsoyM= (10.77.0.3)
監査を実行中...(nmap NSE補完診断も実行、時間がかかる場合があります)
開いているポート: 22, 80
問題は見つかりませんでした。
  ℹ :22 SSH バージョンバナー公開
nmap NSE 補完診断:
  🔎 :80 http-headers — Server: SimpleHTTP/0.6 Python/3.12.3
  🔎 :80 http-title — Directory listing for /

Sensor は、端末をまだ監査の対象にしています。監査は前と同じように実行されました。端末は、もう Sensor を信頼していないので、ふつうのポートスキャンとして知らせ、送信元を遮断します。

端末の notifications の抜粋
  2026-11-12T02:05:31.669532314+00:00
  スキャン元IPを遮断: 10.77.0.4
    ホスト: ubuntu (IP: 192.168.64.25)
    遮断対象: 10.77.0.4
    遮断時間: 10 分(自動的に解除されます)
    時刻: 2026-11-12 02:05:31

  2026-11-12T02:05:31.480633167+00:00
  着信ポートスキャンを検知: 10.77.0.4
    🔍 短時間に 4096 件の異なるポートへの接続試行がありました。偵察行為(ポートスキャン)の可能性があります
    ホスト: ubuntu (IP: 192.168.64.25)
    送信元: 10.77.0.4
    検知ポート例: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

遮断は 10 分で、自動で外れます(port_scan_block_duration_secs の既定 600 秒)。

同じ送信元のスキャンは、ふだんは 1 時間に 1 回だけ通知します(ソースの RENOTIFY_COOLDOWN_SECS)。ただし、ペアリング済みの Sensor から、ふつうの送信元に扱いが変わったときは、間隔によらず通知し、遮断します。この演習の scan は、ペアリングしていたときの監査の通知から、7 分ほどあとでした。

Sensor の側でも解きます。Sensor の unpair も、公開鍵の先頭の数文字で指定できます。

sudo roamswitch-sensor unpair 6i5z
sudo roamswitch-sensor scan 6i5z; echo rc=$?
実行結果
✓ ペアリングを解除しました。
Error: 該当するペアリング済み端末が見つかりませんでした。
rc=1

解いたあとは、scan が対象を見つけられず、終了コード 1 で終わります。操作ログ(roamswitch-sensor audit-log)には、「unpair … 端末を監査の対象から外しました」と残ります。端末を外すときは、両側で解いてください。

#紛失したときの失効

Sensor の中には、端末ごとの脆弱性の一覧と、署名の鍵があります。盗まれた Sensor が同じ LAN につながると、端末はそれを、監査を許した相手として扱ってしまいます。Sensor をコレクターに登録していれば、コレクターで失効させられます。失効を知った Sensor は、自分で止まります(ロックダウン)。

コレクターで失効させ、Sensor が止まるのを確かめる

コレクターを起動し、Sensor を登録して、失効させます(変更を伴う操作です)。運用マニュアルは、コレクターを Sensor と別の機械に置くことを勧めています。この演習では、手順を見るため、Sensor と同じ名前空間の 127.0.0.1:8443 に立てました。送信の間隔は、待ち時間を短くするため 1 分にしています(既定は 15 分)。

sudo systemctl enable --now roamswitch-sensor-collector
sudo roamswitch-sensor-collector enroll MUsuC5hk5RMvTH5nqdXchpwe9OvI7ywsLfhoE6BCb4c= --name lab-sensor --site lab
sudo roamswitch-sensor config set collector.url http://127.0.0.1:8443 collector.enabled true collector.push_interval_minutes 1
sudo roamswitch-sensor-collector list
sudo roamswitch-sensor-collector revoke MUsuC5hk5RMvTH5nqdXchpwe9OvI7ywsLfhoE6BCb4c= --reason "lab: sensor lost"
list と revoke の出力の抜粋
ok         lab-sensor               lab            last=2026-11-12T02:00:56.279471320+00:00  findings=0  MUsuC5hk5RMvTH5nqdXchpwe9OvI7ywsLfhoE6BCb4c=
✓ lab-sensor(MUsuC5hk5RMv)を失効させました
  次の送信は `sensor_revoked` で断ります。このコレクターに届いた Sensor は、自分をロックダウンします(security.on_revoked)。
  この Sensor とペアリングした端末が 1 台あります。各端末がペアリングを外すまで、端末はこの Sensor を承認した監査元として信頼し続けます:
    - ubuntu  10.77.0.3
  各端末で: Linux は `roamswitch sensor unpair MUsuC5hk5RMvTH5n`、Mac は 設定 > Sensor > ペアリングを解除
  代わりの Sensor を `enroll` で登録し、端末をその Sensor とペアリングし直してください。

list の ok は、Sensor からの送信が届いていることを示します。list は、最初の送信が届くまでは never_pushed です。最初の送信の前に失効させると、端末の一覧は「この Sensor とペアリングした端末の記録はありません。」になりました。revoke は、この Sensor とペアリングしていた端末の一覧と、各端末での解除のコマンドを出しました。

次の送信で、Sensor は止まりました。失効から 1 分ほどでした。

sudo roamswitch-sensor lockdown status
sudo roamswitch-sensor issue-code
実行結果
  🔒 このSensorは停止中(ロックダウン)です。ペアリング・監査・送信・通知をしていません
     原因: コレクターで失効された   開始: 2026-11-12 02:01:56
     理由: lab: sensor lost
     解除: `roamswitch-sensor lockdown off`(持ち主の手元にあると確実な場合だけ)
Error: このSensorは停止中(ロックダウン)のため、この操作はできません。持ち主の手元にあると確実な場合だけ `roamswitch-sensor lockdown off` で解除してください
  原因: コレクターで失効された   開始: 2026-11-12 02:01:56

lockdown off で一度戻してコードを発行し、次の送信で止まってから、そのコード(まだ 10 分の期限の内)を端末で使ってみました。

端末の sensor pair の抜粋
  ✗ ペアリングを拒否されました: sensor_locked_down
  理由: sensor_locked_down

期限の内のコードでも、断られます。止まっている間は、新しい端末を受け入れません。

元に戻すには、lockdown off です。ただし、コレクターで失効したままだと、また止まります。

sudo roamswitch-sensor lockdown off
sudo roamswitch-sensor lockdown status    # 1 分ほどあとに
実行結果
🔓 停止を解除しました。コレクターで失効されたままだと、次の送信で再び停止します。
  🔒 このSensorは停止中(ロックダウン)です。ペアリング・監査・送信・通知をしていません
     原因: コレクターで失効された   開始: 2026-11-12 02:03:56

この演習では、collector.enabled false で送信を止めてから、lockdown off で戻しました。本物の Sensor を戻すなら、コレクターで新しく登録(enroll)し、端末とペアリングし直します。

失効は、端末には届きません

コレクターでの失効が止めるのは、Sensor です。端末は、それぞれが解除するまで、その Sensor を信頼したままです。revoke が出した一覧の端末で、示されたコマンドを sudo で実行します。この演習の端末では、sudo roamswitch sensor unpair MUsuC5hk5RMvTH5n が「✓ ペアリングを解除しました。」と答えました。一覧は、Sensor が最後にコレクターへ送った状態から作られます(ソースの store.rs)。そのあとでペアリングした端末は載りません。

#見えない部分

確かめたこと・確かめていないこと

使い捨ての VM 1 台(Server と、ネットワーク名前空間で分けた Sensor)で確かめた範囲では、次のようになります。

  • 監査は、届いたポートしか見ません。端末のファイアウォールが捨てるポートは、待ち受けていても出ません。逆に、出なかったポートが、端末の中で使われていないとは限りません
  • nmap NSE は、safe のスクリプトだけです。報告書の見出しも「nmap NSE 補完診断(safe スクリプトのみ)」でした。定期監査と未導入機器の監査は、既定でオフのまま動かしていません。nmap があっても、ARP スイープを送るのは inventory.active_sweep をオンにしたときだけです(既定はオフ)
  • 全ポートの監査は、端末の検知に引っかかります。ペアリングが両側にあって、アドレスと MAC が一致するときだけ、穏やかな通知になります。端末の側だけで解くと、ポートスキャンとして通知し、送信元を 10 分遮断します。直前にペアリング済みとして通知した送信元でも、扱いが変わったので、すぐに通知と遮断をしました
  • 電源を切ったまま持ち去られた Sensor には、失効が届きません。コレクターでの失効は、Sensor が次に送信したときに効きます。運用マニュアル §14.3 は、ディスクの暗号化(LUKS など)を実際の守りとしています
  • 端末から監査を頼む request-audit は、この講座では扱いません。監査は、Sensor の側から実行しました
確認問題

端末で sudo roamswitch sensor unpair だけを実行しました。そのあと、Sensor の運用者が scan を実行すると、どうなりますか

解説を見る

端末の解除は、Sensor に伝わりません。Sensor は監査を続け、端末はもう相手を信頼していないので、ポートスキャンとして知らせ、10 分遮断します。外すときは、Sensor の側でも unpair を実行します。

確認問題

sensor pair が pin_mismatch で断られました。最初にすることはどれですか

解説を見る

pin_mismatch は、相手の証明書が入力した値と違うという意味です。入力の誤りか、証明書を作り直したか、途中に別の相手がいるかのどれかです。ネットワーク越しに取った値は、確かめになりません。Sensor の画面の値と比べます。

#次に学ぶこと

扱う機能
確認した内容

2026-11-12に確認しました。対象は Sensor 1.0.7 です。公開版の Linux 1.17.39 が入った使い捨ての Ubuntu 24.04 の VM 1 台に、公開の apt から Sensor 1.0.7 を推奨パッケージ(nmap)ごと入れ、ネットワーク名前空間で Sensor 用のネットワークを分けて、ペアリング・再起動のあとの TLS・全ポートの監査(nmap NSE を含む)・端末の側だけの解除の直後の監査・コレクターでの失効とロックダウンを、日本語と英語で実行しました。

コマンドの出力は、製品の版や環境によって変わります。違いが出たら、まず製品の版を確かめてください。