Odysec

持續監控訂閱

單次健檢提供的是當下的快照,持續監控偵測的是狀態的變化。首次執行時建立該主機的正常狀態基準線,之後每日僅回報與基準線相異之處。

基準線留在您的主機上 基準線是您系統的完整指紋(每個開機自動執行的位置、每個 SUID 執行檔、每個監聽埠、每個帳號)。它存放於您自己的主機,不會上傳;每日送出的僅為與基準線相比的差異。因此即使您是訂閱客戶,我們手上仍然沒有您系統的完整清單

01與單次健檢的差異

單次健檢僅能仰賴啟發式研判:某個 SUID 執行檔是否可疑,往往取決於您的環境脈絡,工具本身無從得知。

有了基準線,問題就變成一個明確得多的形式:「此一項目昨日不存在,今日出現。」 入侵必須留下持久化痕跡才能在重新開機後存續,而任何持久化都會落在基準線涵蓋的位置之一。這是同一套引擎所能達到的最強偵測,也是我們自有伺服器每日實際運行的設定。

02開始使用

1

首次執行,建立基準線

請在確認該主機目前未遭入侵的前提下執行一次。基準線寫入 /var/lib/odysec/baseline.json(權限 600)。

sudo python3 odysec-check.py --monitor --token 您的訂閱代碼
建立基準線等同於宣告當前狀態為正常。若主機在建立基準線時已遭入侵,該後門將被納入「正常」的定義之中。建議先執行一次單次健檢確認無跡證後,再建立基準線。
2

加入排程

每日執行一次即可。加入 root 的 crontab:

0 4 * * * /usr/bin/python3 /opt/odysec-check.py --monitor --token 您的訂閱代碼 -q

cron 會將輸出寄至本機信箱,因此即使您不查看我們的狀態頁,主機本身在發生變動時仍會通知您

3

有變動時處理

回報會列出每一項變動。請逐項確認皆為您自身的作業所致(升級、部署、設定變更)後,再更新基準線:

sudo python3 odysec-check.py --monitor --token 您的訂閱代碼 --accept-drift
切勿在查明原因之前更新基準線。該操作等同將可能的入侵痕跡納入「正常」的定義,此後將不再被回報——這是使用漂移偵測時最常見、也最致命的錯誤。

03通知原則

會通知

  • 與基準線相比出現變動
  • 出現高嚴重度的跡證
  • 主機應回報而未回報(見下)

不會通知

  • 一切正常時的每日回報

無變動時我們刻意不發送通知。每日一則「一切正常」會養成略過的習慣,真正需要注意的那一則將一併被忽略。

但這帶來一個必須處理的後果:既然沒有消息即代表正常,那麼「監控失效」與「一切正常」在您眼中便完全相同。因此我們在伺服器端主動偵測沉默——主機超過預期回報週期仍未回報時,我們會通知您,並在狀態頁標示為失聯。在查明原因之前,不能把「沒有告警」當成「沒有問題」。

04服務內容

05評估範圍的限制

已經有訂閱代碼?訂閱設定頁輸入代碼,即可取得安裝指令、狀態頁網址與通知設定,全程無需與我們聯繫。
訂閱設定 來信詢問