最後更新:2026-10-10

事故發生後的第一個小時

RoamSwitch 偵測到嚴重威脅並執行圍堵之後的第一個小時裡,應該依什麼順序使用哪些功能,這裡為您整理了一份指引。

1. 關於本頁

RoamSwitch 偵測到嚴重威脅時,會自動執行網路隔離(Air-Gap)、凍結處理程序等圍堵措施。本頁依環境整理了此後應該確認什麼、保留什麼、何時解除的順序。各個畫面和操作的詳細說明,請參閱各自的手冊。

本頁說明 RoamSwitch 功能的使用方法,不涉及組織內部的聯絡、法律因應和復原計畫。

2. 任何環境,順序都相同

圍堵措施是有原因才觸發的。在匆忙解除之前,請依下列順序進行。

  1. 確認。依時間順序查看什麼時候、偵測到了什麼、先後順序如何。
  2. 保留。在解除或重新啟動之前,先匯出記錄和證據。解除或重新啟動之後,執行中狀態的資訊可能會消失。
  3. 判斷。判斷這是自己有印象的操作,還是真正可疑的行為。
  4. 解除。確認安全之後,再解除圍堵。
  5. 觀察。解除之後,持續觀察一段時間,看相同的偵測是否再次出現。

從日誌中調查時,也可以使用第 6 節的 PersonalSOC 和 AccessScope。

如果因 ARP 欺騙被隔離,也請閱讀第 8 節。

如果在 Linux 桌面版上因勒索軟體被隔離,也請閱讀第 9 節。

隔離期間,該電腦無法開啟此頁面。在 Mac 上,「隔離狀態與解除說明…」視窗會顯示此頁面的 QR 碼;在 Linux 桌面版上,解除確認視窗會顯示它。用連接到其他網路的手機掃描,即可閱讀此頁面。QR 碼中只包含此頁面的公開網址。

3. Mac 版

  1. 開啟選單列的 🛡️ 圖示,確認顯示的是「🔒 隔離中(全面)」還是「🔒 隔離中(降級)」。
  2. 開啟「ℹ️ 隔離狀態與解除說明…」,閱讀觸發的原因。
  3. 開啟 🛡️ → Mac 安全綜合診斷 → 「📈 安全活動記錄…」。縮小時間範圍,再依嚴重程度和類別篩選,依時間順序查看剛才偵測到了什麼。點擊圖表中的長條,可以只顯示該時段的事件。
  4. 使用 Pro 版時,可以把篩選後的結果匯出為 CSV 保存。
  5. 如果事先已開啟「🧾 處理程序執行記錄…」(Pro),啟動過的處理程序的歷程也可用於調查。此功能預設為關閉。
  6. 當勒索軟體或 XProtect 的偵測觸發隔離時,會在隔離之前自動儲存取證資料。內容包括正在執行的行程清單、網路連線和最近修改的檔案清單,並為每個檔案記錄 SHA-256。儲存位置是 ~/Library/Application Support/RoamSwitch/incident-evidence/。Mac 上無法進行封包擷取。
  7. 回想一下,是否有自己有印象的操作(例如啟動了可疑的 App)。
  8. 在同一選單中選擇「🔓 解除 Air-Gap 隔離」,並在確認對話框中選擇「解除」,通訊會立即恢復。

如果遭遇勒索軟體,請開啟 🛡️ → 惡意軟體防護 (XProtect & ClamAV) → 「🗂 勒索軟體復原…」(Pro)。可從 RoamSwitch 定期建立的 APFS 本機快照中,把檔案取出到其他位置(~/RoamSwitch-Recovered/<ID>/)。不會覆寫目前檔案。取出檔案需要「完整磁碟取用權限」。

解除後通訊仍未恢復時
只有在被誤封鎖而無法通訊時,才使用 🛡️ → 🧰 復原與解除安裝 → 「🆘 緊急恢復網路…」。這是最後的手段。

4. Linux 桌面版

  1. 開啟系統匣的 🛡️ 圖示。如果網路因嚴重威脅而被隔離,會顯示「🚨 解除 Air-Gap 並恢復通訊」。此時先不要點擊。
  2. 在主視窗的 "Notifications" 中查看最近 7 天的通知歷程,確認通知了什麼。
  3. 在 "Incident Timeline"(實驗性功能)中,依時間順序查看從偵測、回應到解除的過程。
  4. 在 "Security Activity Log" 中,組合時間範圍、類別、嚴重程度和關鍵字進行篩選,調查剛才發生了什麼。Incident Timeline 和 Notifications 的內容彙整在同一個檢視中。
  5. 回想一下是否有自己有印象的操作,確認安全之後,點擊系統匣中的「🚨 解除 Air-Gap 並恢復通訊」。
如果通訊沒有恢復,請使用系統匣復原子選單中的「緊急恢復網路」。 也可以用第 5 節的指令查看通知、隔離狀態、被凍結的行程和時間軸。

5. Linux Server Edition

Server Edition 以命令列操作。 這裡介紹的指令在 Linux 桌面版上同樣可用(只有 sudo roamswitch server ack 是 Server Edition 專用的)。高可信度的隔離(金絲雀檔案遭竄改、類似勒索軟體的大量改寫、eBPF 的 Critical / Emergency / Alert 等),如果既沒有確認應答(ack),也沒有確認原因已消失,預設會在 3600 秒(1 小時)後轉入降級(DEGRADED)模式。在降級模式下,除維護用 SSH 連接埠和允許的 IP 的管理路徑之外,新的通訊仍然被封鎖,並且不會隨時間經過而自動放開。

5.1 確認通知

如果設定了 Telegram、LINE 或 Webhook,通知已送達那裡。即使沒有設定,最近一週的通知也會保存在本機。

roamswitch notifications

5.2 查看隔離狀態

顯示 eBPF 執行階段防護目前的隔離狀態,以及已偵測到的事件歷程。

roamswitch server ebpf

5.3 確認被凍結的處理程序

列出防護以 SIGSTOP 凍結的處理程序。在保留證據之前,不要恢復它們。

roamswitch frozen list

5.4 保留證據

當 eBPF 執行階段防護以處理程序為單位執行圍堵時,會自動產生證據保全包。內容是約 30 秒的封包擷取,以及已知 PID 時的 /proc/<pid> 快照(未安裝 tshark 的環境中,僅略過封包擷取)。儲存位置為 /var/lib/roamswitch/incident-evidence/<時間戳記>-<ID>/。

隔離整台主機時,目前不會自動產生。在這種情況下,或想保留圍堵之前的狀態時,請手動取得。

sudo roamswitch-incident-capture snapshot --pid <PID> --reason "first-response"

5.5 匯出時間軸和執行記錄

將整合的事件時間軸(實驗性)匯出為 JSON Lines。執行記錄器可以依時間範圍或處理程序搜尋。

roamswitch timeline --export incident.jsonl
sudo roamswitch events search --since 2h

5.6 判斷並解除

因誤報而被凍結的處理程序,用下面的命令恢復(resume all 可恢復全部)。

roamswitch frozen resume <PID>

若要永久允許同一個誤報,請加入允許清單。加上與可執行檔路徑綁定的 --exe 後,偽裝處理程序名稱也無法繞過。

sudo roamswitch server allowlist add <rule> <process> --exe <path>

對隔離作出確認應答。在 FULL 隔離期間,確認應答會維持嚴格的隔離(視為維運人員已接手,會停止轉入降級模式和自動解除)。在降級模式期間,確認應答表示解除。

sudo roamswitch server ack

5.7 被鎖在外面時

透過雲端服務商的 Web 管理主控台(VNC 或序列主控台)登入,解除緊急隔離。預設情況下,維護用 SSH 連接埠和管理來源 IP 的管理工作階段在隔離期間也會保留。

sudo roamswitch emergency-restore

5.8 事後整理

證據包不會自動刪除。超過保留期限(預設 30 天)的舊證據包,請用下面的命令刪除。

sudo roamswitch-incident-capture prune --keep-days 30

6. 從日誌中調查(PersonalSOC 與 AccessScope)

RoamSwitch 附帶了兩個用於分析日誌的獨立工具:PersonalSOC 與 AccessScope。兩者都是唯讀的,不會變更設定,也不會阻斷通訊。分析不使用網路,完全在本機內進行,因此在隔離期間也可以使用。

6.1 PersonalSOC:把本機的日誌和偵測彙整成一份報告

讀取本機的驗證日誌(Mac 為 sudo 與 sshd,Linux 為 auth.log、auditd、nginx、apache 等)以及 RoamSwitch 尚未解決的偵測,把風險參考值、時間軸和 IOC(IP、網域、URL、雜湊)彙整到一份報告中。

sudo personalsoc scan --report

6.2 AccessScope:從存取日誌中找出攻擊

從 Web 伺服器和 SSH 等存取日誌中找出暴力破解、Web Shell、攻擊鏈、來自陌生來源的登入成功等,並附上證據行號和可信度(確定、可能性高、假設)。它不會直接斷定已遭入侵。

sudo accessscope scan --auto --since 24h --report report.md
以管理員權限(sudo)執行
驗證日誌、journald、fail2ban 日誌、Web 伺服器日誌和 auditd 日誌,沒有管理員權限就無法讀取。調查時,請在上面的指令前加上 sudo 執行。不加 sudo 時,讀取不了的日誌會顯示為「無法讀取」,報告會顯示「沒有讀取到任何日誌」。此時的「沒有偵測到」並不能證明安全。兩個工具都不會自行提升權限。

6.3 在哪個階段使用

sudo accessscope scan --auto --since 24h --since-last --new-only

7. 結束之後

解除之後,請在時間軸(Mac 上是「安全活動記錄」)中持續觀察一段時間,看相同的偵測是否再次出現。匯出的記錄和證據包請妥善保管,不要刪除。

更改密碼或金鑰、聯絡相關方等 RoamSwitch 之外的處置,不在本頁的範圍之內。

8. 因 ARP 欺騙被隔離時

在公共 Wi-Fi 等網路中,同一網路裡的攻擊者可能冒充路由器來竊聽通訊,這就是 ARP 欺騙。RoamSwitch 會透過閘道(路由器)MAC 位址的突然變化等來偵測。Mac 與 Linux 桌面版的做法相同。

  1. 何時隔離。在未登錄的網路(保護等級為鎖定)中,偵測到與閘道有關的異常時,會自動隔離。在已登錄的地點(家、公司等),不會自動隔離,而是顯示警告,只有在你選擇「立即全部阻斷」時才隔離。
  2. 解除前要確認的事。應用程式的確認視窗也會給出類似的提示。同一網路中的其他裝置是否在偽造 ARP;閘道的 MAC 位址是否與可信值一致(Linux 的確認視窗會顯示目前值與可信值)。在公共 Wi-Fi 上,最好先切換到網路分享等其他網路再解除。
  3. 自動解除。不會僅憑時間解除。當閘道的 MAC 位址連續 3 次、歷時至少 60 秒都與可信值一致時,會自動解除並通知。如果一直無法確認,預設 1 小時後會進入大幅限制通訊的狀態(降級)。降級狀態不會因時間而開啟,需要手動解除。
  4. 手動解除。Mac 使用選單中的「解除 Air-Gap 隔離」。Linux 桌面版使用系統匣中的「解除 Air-Gap 並恢復通訊」,或 sudo roamswitch emergency-restore。如果原因仍然存在就解除,通訊會恢復並再次受到同樣的影響,所以請先確認。
  5. 解除之後。觀察一段時間,看同樣的偵測是否再次出現。如果再次出現,請不要繼續使用該網路,改用其他網路。

9. 因勒索軟體被隔離時(Linux 桌面版)

短時間內大量檔案被改寫時,RoamSwitch 會認為可能是勒索軟體,凍結正在改寫檔案的程序(SIGSTOP),並切斷網路(Air-Gap)。Air-Gap 確認視窗會開啟,顯示原因、程序和被改寫的檔案數。本節針對 Linux 桌面版。Mac 請閱讀第 3 節。

  1. 確認。在確認視窗和通知歷史中,查看哪個程序改寫了哪些檔案。被凍結的程序也可以用 roamswitch frozen list 查看(5.3)。
  2. 記錄。在解除或重新啟動之前,依 5.4 和 5.5 的步驟儲存證據和時間線。
  3. 判斷。如果被凍結的程序是你認得的操作(例如備份或壓縮),就是誤報。用 sudo roamswitch frozen resume <PID> 恢復。如果是真正的攻擊,不要恢復,記錄證據後結束該程序。
  4. 取回檔案。被改寫的檔案可以從快照中取出。在畫面中,請在側邊欄的「勒索軟體復原」分頁(Linux 1.11.21 及之後)選擇標有「★ 建議」的損害前快照,然後按「取出檔案」或「取出資料夾」。使用指令時,先用 sudo roamswitch-ransomware-rollback list 查看清單,再用 sudo roamswitch-ransomware-rollback restore-files <ID> <PATH>。對象是 btrfs 子磁碟區或 LVM 邏輯磁碟區(ext4 的家目錄無法使用)。損害前的快照預設每 6 小時自動建立一次。偵測時刻的快照也會自動建立,但其中包含已加密的檔案,不能用於回到加密之前。不會覆寫目前檔案。取出的檔案預設放在 <對象>/RoamSwitch-Recovered/<ID>/。整體回復的 restore 會覆寫目前狀態,是最後的手段(僅指令)。
  5. 解除。不會僅憑時間解除。只有在確認原因已經消失,或透過系統匣中的「解除 Air-Gap 並恢復通訊」或 sudo roamswitch emergency-restore 手動解除時,才會解除。
  6. 觀察。解除後,確認同樣的偵測是否再次出現。把取出的檔案放回原位之前,先檢查其內容。