發表文章

小白也會裝的OpenVAS (Greenbone) -在 macOS 上的完整安裝與使用指南

  適用對象: 資安工程師 DevOps IT 管理員 想用免費工具替代 Nessus 的人 系統環境: macOS Docker Desktop 一、OpenVAS 是什麼? OpenVAS(現在稱為 Greenbone Vulnerability Management, GVM )是一套: 開源漏洞掃描系統 功能包含: CVE 漏洞掃描 Server security audit Web service vulnerability Compliance 檢查 弱點報告輸出 它是 Nessus 最常見的免費替代方案 。 二、系統架構概念 OpenVAS 其實包含三個核心服務: GSAD │ │ Web UI │ GVMD │ │ 管理漏洞資料庫 │ OpenVAS Scanner │ │ 執行漏洞掃描 Docker image 會把這些服務打包在一起。 三、macOS 安裝環境準備 Step 1 安裝 Docker Desktop 下載: https://www.docker.com/products/docker-desktop/ 安裝後確認: docker --version 應該看到類似: Docker version 25.x Step 2 設定 Docker 資源 OpenVAS 很吃資源。 建議設定: Docker Desktop → Settings → Resources Memory : 8 GB CPU : 4 Disk : 50 GB 如果資源太小,GVM 可能無法啟動。 四、建立 OpenVAS 專案目錄 在 Terminal 建立資料夾: mkdir ~/openvas cd ~/openvas 五、建立 docker-compose.yml 建立檔案: docker-compose.yml 內容: services: openvas: image: immauss/openvas:latest container_name: openvas ports: - "9392:9392" environment: USERNAME: admin PASSWORD: admin volumes: - openvas_data:/d...

Python yield:生成器的威力與實戰應用

圖片
  1. yield 就是「可中斷的 return」 直覺上, yield 看起來很像 return :遇到它就「回傳」一個值;不同的是,函式不會結束,而是暫停在此,保留當前所有區域變數與執行位置,等到下一次呼叫才會從暫停處繼續執行。 簡單來說: def foo (): print ( "開始執行" ) while True : yield 4 # 暫停並回傳 4 print ( "★ 繼續執行 ★" ) 第一次執行 g = foo() 不會執行函式內容 ,而只回傳一個生成器物件。 呼叫 next(g) ,才會印出 "開始執行" ,並暫停在 yield 4 回傳 4 。 再呼叫一次 next(g) ,將從 yield 之後的位置繼續執行,印出 ★ 繼續執行 ★ ,然後再次遇到 yield 4 暫停並回傳。  2. next() 如何推動生成器 生成器物件除了可以被 next() 觸發,也可搭配迴圈自動驅動: g = foo() print ( next (g)) # → 4 print ( next (g)) # → ★ 繼續執行 ★ 4 for v in foo(): print (v) # 不停印出 4,直到你手動 break next(g) 等同於「進到下一個 yield 」,每次都從函式暫停處繼續執行。 用 for 迴圈時,Python 會自動呼叫 next() 直到生成器遇到 return 或拋出 StopIteration 。  3. 用 send() 向生成器傳入資料 除了單純取得值,生成器還能接收外部傳入的資料──使用 send() : def foo2 (): print ( "啟動" ) while True : received = yield "請傳入值" print ( "收到的值:" , received) g2 = foo2() print ( next (g2)) # 啟動,回傳 ...

ChatGPT 4 系列的比較

 GPT-4 系列大致可分為三條支線: 4 o 系 (4 o → 4 o-mini → 4 o-mini-high):同樣承襲 128 k 長上下文,但靠「縮小參數+提速」壓低成本;mini-high 進一步把上下文推到 ≈200 k,卻被部分開發者批評推理與程式碼品質下降。 4 .5 :2025 年初短暫提供的過渡版,強調創意寫作與程式碼完整性,仍維持 128 k 上下文,在 ChatGPT 端多被限制在 32 k。 4 .1 系 (4 .1 → 4 .1-mini):2025 / 4 發表,官方 API 支援 1 M 超長上下文,是目前公開最長;mini 版用較小參數換取速度、費用與免費額度,並已取代 4 o-mini 成為 ChatGPT 免費預設模型。 綜合比較表 模型 發表時間 官方 上下文窗 (Input + Output) 單次輸出上限 支援模態 速度∕費用 (相對 GPT-4o) 主要優勢 常見劣勢‍/限制 GPT-4 o 2024-05-13 128 000 Tokens ≈4 000 Tok 文字、圖像、語音 - 多模態、推理佳、最完整工具鏈 ChatGPT 端僅 32 k;API 輸出預設 4 k GPT-4 o-mini 2024-11 128 000 16 384 Tok 文字+圖像;音訊即將支援 ≈3 × 快、費用約 1 ∕ 5 成本最低仍保留 4 o 推理水準 論述深度與程式碼一致性略降 GPT-4 o-mini-high 2025-04-16 ≈200 000† 社群回報 32 k–100 k 同 mini 速度略慢於 mini,仍遠快於 4 o 更長上下文、輸出字數倍增 程式碼品質與「偷懶」現象被批評 GPT-4 .5 Preview 2025-02 128 000 32 768 文字、圖像 與 4 o 相近 更像人類的寫作風格、程式碼完整性佳 僅預覽;7-2025 起陸續下架 GPT-4 .1 2025-04-14 1 000 000 32 k(ChatGPT),API 未公布硬上限 文字、圖像,強化文件/程式長上下文 與 4 o 類似;官方宣稱成本-26 % 超長上下文、長文搜尋定位精度佳 長上下文僅 API 全開;ChatGPT 仍 32 k GPT-4 .1-mini 2025-05 ...

Keepalived + NGINX 高可用負載平衡架構實作手冊

  一:方案概述 目標:建構一個具備 自動故障切換能力 的 L4/L7 負載平衡系統 工具: NGINX Open Source :提供 HTTP/TCP 負載平衡能力 Keepalived :利用 VRRP 協定達成主備節點的自動切換 適用情境: 中小型內網服務 私有雲、API Gateway 前端 無需購買 F5 等昂貴設備但又需穩定性的場域 二:系統架構圖 包含: 用戶端 → VIP 主節點(Primary NGINX + Keepalived) 備節點(Backup NGINX + Keepalived) 後端伺服器群 VIP(虛擬 IP)會在主機與備機之間切換,提供單一進入點 三:Keepalived 自動切換的原理說明 基於 VRRP 協定 主節點定時透過 LAN 廣播「我還在」的訊號(advertisement) 備節點監聽這些訊號 當主節點: 拔掉網路線 NGINX 異常並被 track_script 偵測 關機、系統異常 停止 keepalived → 備節點會在 3 秒內自動判斷主節點已失效,搶下 VIP 備節點會發送 gratuitous ARP 更新網段,客戶端會自動連到新的 VIP 位置 四:完整安裝與設定流程 ✅ 1. 安裝元件(兩台都要) sudo apt update sudo apt install -y nginx keepalived ✅ 2. NGINX 設定範例(兩台相同) upstream backend { server 192.168.0.21; server 192.168.0.22; } server { listen 80; location / { proxy_pass <http://backend>; } } ✅ 3. Keepalived 設定(主 + 備) 主機: /etc/keepalived/keepalived.conf vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id ...