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

🤖 Linux 自動化安全監控:整合 Crontab、Systemd Timer 與 Fail2Ban 日誌警示通知

    🤖 Linux 自動化安全監控:整合 Crontab、Systemd Timer 與 Fail2Ban 日誌警示通知

    當伺服器環境越來越複雜,人工監控已難即時發現異常。 本篇將示範如何結合 CrontabSystemd TimerFail2Ban, 自動偵測暴力登入或異常封鎖事件,並以電子郵件發出安全警示。

    一、建立日誌檢查腳本

    # /usr/local/bin/fail2ban-alert.sh
    #!/bin/bash
    LOG=/var/log/fail2ban.log
    ALERT=/tmp/fail2ban_alert.txt
    grep "Ban" $LOG | tail -n 5 > $ALERT
    mail -s "[Fail2Ban Alert] $(hostname)" admin@example.com < $ALERT
      

    ⚙️ 確認郵件系統(mailx 或 postfix)已正確設定。

    二、使用 Crontab 定期執行

    sudo crontab -e
    # 每 30 分鐘檢查一次
    */30 * * * * /usr/local/bin/fail2ban-alert.sh
      

    三、改用 systemd Timer 自動排程

    # /etc/systemd/system/fail2ban-alert.service
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/fail2ban-alert.sh
    
    # /etc/systemd/system/fail2ban-alert.timer
    [Timer]
    OnCalendar=hourly
    Persistent=true
    WantedBy=timers.target
      

    啟用定時器:

    sudo systemctl enable --now fail2ban-alert.timer
    sudo systemctl list-timers --all
      

    四、整合 journalctl 自動報告

    journalctl -u fail2ban.service --since "1 hour ago" | grep Ban
      

    📘 結語

    透過簡單的 Timer 與 Crontab 配置,你可以在無需登入伺服器的情況下, 即時接收安全警示,建立完整的「自動化安全監控」鏈。 這不僅能防範入侵,更能讓運維工作變得輕量、可追蹤。


    🔗 延伸閱讀

    💬 分享你的自動化監控策略

    你是否也用過 systemd timer 或郵件通知? 歡迎留言分享你的設定經驗與建議。

    — WWFandy・系統與網路筆記

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級