熱門分類
載入中…
目錄0%

🧱 Linux Proxy Server 日誌分析與安全強化(Squid + GoAccess)

    🧱 Linux Proxy Server 日誌分析與安全強化(Squid + GoAccess)

    在部署 Proxy Server(Squid)之後,了解使用者行為與連線安全是維運的重要環節。本文將介紹如何整合 GoAccess 進行即時流量視覺化分析,並補充 Squid 安全強化的實務設定。

    一、環境說明與前置條件

    • 系統環境:Ubuntu / CentOS / Rocky Linux
    • Proxy 工具:Squid(HTTP/HTTPS 代理)
    • 分析工具:GoAccess(Web 即時統計介面)
    # 安裝 Squid Proxy
    sudo apt install squid -y
    
    # 安裝 GoAccess
    sudo apt install goaccess -y
    

    二、啟用日誌記錄與格式調整

    Squid 的預設存放路徑為 /var/log/squid/access.log,可依需求調整輸出格式以利 GoAccess 分析。

    # 編輯設定檔
    sudo nano /etc/squid/squid.conf
    
    # 新增或確認以下設定
    access_log /var/log/squid/access.log squid
    

    若使用自訂格式,可指定:

    logformat squid_custom %ts.%03tu %>a %Ss/%03Hs % %rm %ru %un %Sh/%

    三、使用 GoAccess 進行視覺化分析

    GoAccess 可即時統計各項 Proxy 活動,包括請求來源、URL、狀態碼、流量量等。

    # 生成即時報表(終端模式)
    sudo goaccess /var/log/squid/access.log --log-format=COMMON
    
    # 生成網頁介面報表
    sudo goaccess /var/log/squid/access.log --log-format=COMMON -o /var/www/html/report.html --real-time-html
    

    完成後可透過 http://yourserver/report.html 即時監控流量與使用者行為。

    四、安全強化設定建議

    • 🔒 限制存取來源(ACL 控制)
    • 🧱 啟用 HTTPS(CONNECT Port 443 設定)
    • 🧩 定期輪替日誌與權限檢查
    # 範例 ACL 限制(僅允許內網使用)
    acl localnet src 192.168.0.0/16
    http_access allow localnet
    http_access deny all
    

    🧰 日誌輪替範例(Logrotate)

    /var/log/squid/*.log {
      daily
      rotate 14
      compress
      delaycompress
      missingok
      notifempty
      postrotate
        systemctl reload squid
      endscript
    }
    

    📘 結語

    結合 Squid 與 GoAccess,不僅能快速掌握流量趨勢,也能即時發現異常連線與安全威脅。建議在日常維運中加入自動輪替與週期性分析,形成可長期追蹤的 Proxy 安全監控機制。


    🔗 延伸閱讀

    — WWFandy・系統維運筆記

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級