首屏摘要:兩類證據,兩道閘門
工作階段稽核回答:哪把公鑰/哪個帳號、從哪個來源 IP、在何時嘗試或建立 SFTP;是否出現高頻失敗、是否像暴力嘗試。它依賴 sshd/sftp-server 在作業系統紀錄子系統中的事件。macOS 上這通常不是「一個明文 /var/log/auth.log 檔案走天下」,而是 Unified Logging 的查詢與(可選)外送管線。
位元組校驗回答:到達發佈目錄的檔案是否與 CI 產出一致。見《傳輸完整性》的 SHA256 清單與閘門。沒有工作階段紀錄,你仍可能知道「檔案雜湊對」;沒有雜湊,你仍可能知道「誰連上來過」——但合規與事故復盤往往兩條都要。
本文不取代法務對留存週期的認定;給出工程上可執行的蒐集骨架、變更視窗與矩陣,讓你能把工單寫給資安與 SRE。當監管單位要求「可重現」,請附上實際使用的 log show 指令、時間窗、macOS 版號與(可選)經遮罩的樣本雜湊,而不是只交截圖敘事。
多區域若各自發明 predicate,輪值時會在半夜互相打電話問「你那段指令在我這台為什麼沒結果」。建議以版本庫保存核准樣板,並在每次小版本升級後做一次煙霧查詢。外送統一紀錄前務必完成欄位最小化與身分遮罩策略,由法務與資安共同簽核。
痛點拆解:找不到紀錄、層級過猛、與併發斷連混淆
痛點 1:在 Finder 裡翻不到「SFTP 專用紀錄」。應轉向 log show/受控 log stream,並對 sshd 程序與訊息模式建立固定 predicate 樣板(隨 macOS 小版本可能需微調)。
痛點 2:盲目給 sftp-server 加 DEBUG。社群常見「一改 Subsystem 行服務異常」的報告;必須在預發/維護窗證,並準備註解回滾。
痛點 3:把 keepalive 斷連當成入侵。先對照《併發 SFTP》與中間盒閒置策略,再開資安工單。
痛點 4:多租戶目錄無邊界導致稽核無效。先落地Chroot 與僅 SFTP 帳號,紀錄裡的使用者與路徑才有業務意義。
痛點 5:CI 側金鑰輪換無紀錄。把 OIDC/短期憑證與上傳帳號映射寫進變更單,參見《CI 憑據》。若互動式設計師與無人 CI 共用帳號,報表會把除錯連線誤算成攻擊面統計。
痛點 6:磁碟與 inode 被紀錄灌滿。7×24 入口必須把紀錄輪替與 SFTP 吞吐同一優先級,否則「能連但無處查」會在事故夜復發。
決策矩陣:蒐集深度 × 留存位置 × 維運成本
| 需求 | 做法 | 優點 | 風險 |
|---|---|---|---|
| 偶發排障 | 手工 log show 視窗查詢 | 改動最小 | 無系統留存 |
| 內審要「能交差」 | LaunchDaemon 落盤+輪轉 | 可附工單 | 磁碟與隱私欄位脫敏 |
| 集中 SOC | 外送 syslog/代理 | 可關聯多源 | 網路與安全審查 |
| 不想自建整棧 | 託管遠程 Mac 統一策略 | 入口收斂 | 供應商評估 |
矩陣核心:先定義要證明什麼,再選工具鏈深度。評估 SIEM 時確認剖析器能保留 Apple 時間戳與多行 sshd 紀錄不被截斷。
實操步驟:統一紀錄查詢骨架(How-to)
# 1) 近 1 小時 sshd 相關(示例 predicate,需按系統版本調整)
log show --last 1h --style compact --predicate 'processImagePath CONTAINS "sshd"'
# 2) 失敗登入常與認證訊息相關,可疊加 eventMessage 過濾(自行細化關鍵字)
# log show ... --predicate 'processImagePath CONTAINS "sshd" AND eventMessage CONTAINS "Failed"'
# 3) 長期留存勿手工複製;用受控 daemon 或 SIEM 代理,並設定脫敏
# 4) 變更 sshd_config 中 Subsystem sftp 行前:備份、維護窗、準備回滾註解
# 5) 並聯:在 CI 產生 SHA256 清單,上傳後在遠端校驗(見《傳輸完整性》)
# 6) 紀錄:查詢時間窗、使用的 predicate、樣本行雜湊(可選)以便覆核
指令為教學骨架;生產須由有權限角色執行,並遵守公司與 Apple 支援邊界。
欄位與留存基線:工單裡建議寫清什麼
建議固定蒐集:來源 IP、目標主機名、帳號/Principal、認證方式摘要、時間戳時區、工作階段結果(成功/失敗原因枚舉)、是否與某次發佈 build_id 關聯。留存週期與 GDPR/本地法規對齊,由法務終審;工程提供技術可行性與取樣率。
若團隊同時跑 互動式 SFTP 與 CI 無人任務,建議在紀錄側用帳號或金鑰註解欄位區分來源,避免把人工除錯工作階段與流水線誤歸為同一「攻擊面」統計。事故應變時先快照磁碟剩餘空間再大量匯出,避免救災過程把主機推向寫滿。
每季或在 macOS 升級後複核 predicate,因訊息字串形狀會演進。把 checksum 清單失敗率與認證時間線並列,可更快區分內部誤用金鑰與外部入侵假設。
FAQ 與為何考慮託管遠程 Mac
統一紀錄能即時告警嗎?
可以對接流式蒐集與規則,但需另行設計;本文聚焦分層決策與手工可重現基線。
與 VPN/跳板稽核誰優先?
分層保存:入口跳板一層、遠程 Mac sshd 一層,串聯才能還原路徑。
紀錄裡會有檔案內容嗎?
通常不會;內容級證據靠業務側雜湊與發佈閘門。
總結:遠程 Mac SFTP 交付要把工作階段稽核與位元組校驗分開設計、再並聯;統一紀錄是 macOS 側關鍵抓手。
局限:自建時要同時維護 sshd、紀錄、磁碟與合規;SFTPMAC 託管遠程 Mac把加密入口、隔離與維運經驗打包,減少「事故夜現學 log predicate」的成本。
了解方案與節點,統一遠程 Mac 的傳輸入口與交付策略。
