iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0
Security

安全助手養成 Vibe UP系列 第 18

Day 18:被動外部資產異動檢測 — 自動比對主機清單並通報異常

  • 分享至 

  • xImage
  •  

🎯 今日目標

建立一個 N8N 自動流程:定期透過 Shodan(或類似被動 API)查詢授權範圍內的 IP/Port/Banner,將結果與主機清單(Google Sheets)比對;若發現新增/關閉/變更(port、service、banner 等),就把差異寫入另一個「通報用 Google Sheet」以供處理與追蹤。


1️⃣ 問題場景

  • 對外暴露的服務會隨時間變化(新開端口、測試服務上線、未授權暴露等),但安全團隊無法即時察覺。
  • 現有主機清單(Google Sheets)可能不完整或未即時更新,導致偵測到的變化無法自動關聯到責任人。
  • 需要一個低成本、可稽核、可追溯的機制:發現變化 → 自動記錄 → 供人員處理(而不是直接改動任何東西)。

2️⃣ 模組定位

  • 輸入來源:Shodan API(或 Censys 等被動資料),以及「權限內」的 IP/Host 清單(存於 Google Sheets)。

  • 處理責任

    • 定期拉取 Shodan 查詢結果 → Normalize(IP、port、service、banner、first_seen/last_seen)
    • 與 Google Sheets 主機清單(包含 IP、owner、expected ports)做差異比對
    • 判定變化類型:NEW_HOST / NEW_PORT / CLOSED_PORT / SERVICE_CHANGE / BANNER_CHANGE
    • 去重與狀態追蹤:若同一變化已存在於通報表,避免重複通報(用 dedupe key)
  • 輸出:把每項變化寫入「通報用 Google Sheet」,並可選擇推送 Discord/Email 通知給 owner。


3️⃣ 技術實作

  1. 用Shodan得到某一IP開的Port
    https://ithelp.ithome.com.tw/upload/images/20251002/20077752leqxK6VWfu.png

  2. 讀取GoogleSheet(IPPort紀錄)

  3. 比對相同IP,Port List不同的部分記錄到另一個GoogleSheet(通報)

  4. 手動Update GoogleSheet(IPPort紀錄),目前還需要驗證過後再加入


4️⃣ 預期收穫

  • 快速偵測外網變化:當對外服務有新增或異常暴露時能立即被紀錄與通報。
  • 自動化通報流程:降低人工巡檢負擔,縮短發現到回應的時間。
  • 可稽核的歷史紀錄:所有變化都有時間戳、來源與處置記錄,支援稽核與追蹤。
  • 責任歸屬清晰:通報表串接 owner,方便責任人接手與追蹤修復進度。


上一篇
Day 17:整合 N8N 與 Shodan — 定期抓取對外資產報告
下一篇
Day 19:用 VirusTotal 補強外部資產監控
系列文
安全助手養成 Vibe UP20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言