使用 csf 防火牆來有效阻止小規模 DDOS

更新:升級 Ubuntu的 20.04 LTS 後,csf 無法正常工作了,提示找不到 iptables:

這是由於 Ubuntu的 20.04 LTS 更改了 iptables的 相關命令位置導致的,csf 的腳本並沒有及時更新。

要解決這個問題,我們可以到 /等等/CSF/CSF.CONF 配置文件,在這個文件靠近末尾的位置,有一個 # 二元 地點 相關設定,這裡我們可以看到前6個配置地址還是舊的:

更改為新地址:

這樣, CSF - - [R 就可以正常生成配置了,不過,缺點是 perl的 /USR/本地/CSF/箱子/csftest.PL 依舊是會報錯的,但現在 csf 本身已經成功啟動了。


之前我寫過一篇文章,購買了VPS之後你應該做足的安全措施,這裡邊介紹瞭如何安裝 CSF 防火牆,其實很簡單就幾條命令,不過,由於當時我的無知,導致實際上csf 防火牆並沒有真正生效,原因是 csf 和 ufw 一樣都是 iptables 腳本,它們處在同一層級,是互相衝突的。

所以,在配置 CSF 防火牆時,你應該先執行命令 ufw 禁用 來關閉 ufw

然後,我們安裝 csf 防火牆:

安裝完成後,安裝需要的環境:

ok之後,執行命令來檢查防火牆的狀態: perl的 /USR/本地/CSF/箱子/csftest.PL ,如果輸出如下,那麼防火牆的執行應該就沒什麼問題了:

測試 csf 可以正常工作

首先我們要做最基本的配置,來配置 csf 的放行端口,千萬記得不能把 22 端口給斷了,不然你就再見吧。

當然,csf 一旦安裝好,是默認放行常見端口的,所以,我們做的只是去掉不用的。另外,csf 默認工作在測試模式,這樣的話如果你真把自己關在外面了,沒關係,五分鐘後規則會清空的。

下面我們來編輯 我們 /等等/CSF/CSF.CONF

默認情況下,放行的端口如下:

這裡我根據我的需要,做了精簡:

當然,我的服務器還支持 IPv6,所以需要繼續往下翻,找到 IPv6 的配置,再來一遍:

然後是添加防禦規則,阻止日常少量的 ddos,當然,量大了的話還得靠硬件了對吧?

找到字段 PORTFLOOD ,做如下規則:

這裡規則是說分別對端口 22,80,443做策略(以IP為單位):

  • 如果 22 端口某 IP 在 300 秒內發起 5 個以上鍊接,就 ban;
  • 如果 80 或 443 端口某 IP 在 5 秒內發起 20 個以上鍊接,就 ban。

ban 的時間默認是 1800

然後,csf 還有個功能是在 ban 了 IP 之後發郵件通知你,我們對如下字段做修改,加入自己的郵件地址:

由於 lfd 還會發送可疑進程監控,如果你覺得煩,可以提前把你的進程加入白名單,編輯 /等等/CSF/CSF.安全 ,按照格式在末尾補充就可以了,比如我服務器跑了 nginx,PHP,我知道這不是可疑進程,那麼就這樣寫:

這樣,我們的防火牆就配置好了,保存好配置後就可以嘗試重啟一波:

記得先用檢測命令查看配置是否正確: perl的 /USR/本地/CSF/箱子/csftest.PL

然後使用命令 CSF - - [R 來重啟防火牆,如果沒什麼致命問題,那說明防火牆正常工作了。至於這句:

就讓他 即可。

還有一個問題你可能會遇到,就是提示你 lfd 啟動但崩潰了,這是正常的,在測試模式, lfd 不啟動。

重新編輯 /等等/CSF/CSF.CONF 配置文件,在第一行,把 1 改為 0:

保存後重啟防火牆 CSF - - [R 這時候防火牆就已經正常運行了。

使用命令啟動 csf 和附帶的 lfd:

通過查看 //日誌/絲氨酸.日誌 可以看到 csf 防火牆的所有行為,比如 ban 了哪個 IP 之類的。

如果要添加白名單,那麼就編輯 /等等/CSF/CSF.allow ,ip地址一行一個;

如果要手動添加黑名單,那麼就編輯 /等等/CSF/CSF.deny ,也是一行一個,不過,這裡邊也會有規則自動添加的數據;

另外,你也可以添加忽略列表,列表中的 IP 地址不會被規則判斷,但如果在黑名單中也存在,就會被阻止: /等等/CSF/CSF.忽視

這樣,你的服務器應該就更堅固了 :)

額外

另外說一下,如果你嫌郵件通知煩,可以在 csf.conf 中搜索所有 _EMAIL_ALERT 結尾的字段,將值從 "1" 改為 "0" ,有好幾個,記得善用搜索。

 

參考文獻

如何在Ubuntu上安裝和配置CSF防火牆

如何安裝和配置配置服務器防火牆 (CSF) 在Ubuntu

linux csf 防火牆 防止少量的ddos cc攻擊很有效

如何禁用發送電子郵件: LFD服務器上: 根據用戶運行的可疑進程

CSF不發送電子郵件.

本文由 落格博客 原創撰寫:落格博客 » 使用 csf 防火牆來有效阻止小規模 DDOS

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/2873.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

註釋

  1. lfd.service – ConfigServer防火牆 & 安全 – 絲氨酸
    加載: 裝 (/usr / lib中/ systemd /系統/ lfd.service; 啟用; 廠商預置: 啟用)
    活性: 活性 (賽跑) 由於週五 2018-02-02 22:15:11 CST; 4ŝ前
    處理: 28943 ExecStart = / usr / sbin目錄/ LFD (代碼=退出, 狀態= 0 / SUCCESS)
    主要PID: 28951 (絲氨酸 – 睡眠)
    任務: 1 (limit: 4915)
    CGROUP: /system.slice / lfd.service
    └─28951絲氨酸 – 睡眠

    二月 02 22:15:10 VPS systemd[1]: 停止ConfigServer防火牆 & 安全 – 絲氨酸…
    二月 02 22:15:10 VPS systemd[1]: lfd.service: 主要工藝退出, 代碼=打死, 狀態= 9 / KILL
    二月 02 22:15:10 VPS systemd[1]: 停止ConfigServer防火牆 & 安全 – 絲氨酸.
    二月 02 22:15:10 VPS systemd[1]: lfd.service: 單位進入故障狀態.
    二月 02 22:15:10 VPS systemd[1]: lfd.service: 與結果“信號”失敗.
    二月 02 22:15:10 VPS systemd[1]: 啟動ConfigServer防火牆 & 安全 – 絲氨酸…
    二月 02 22:15:11 VPS systemd[1]: 入門ConfigServer防火牆 & 安全 – 絲氨酸.
    請幫忙看看這是什麼問題啊,怎麼解決,謝謝!

發表評論

您的電子郵件地址不會被公開. 必填字段標 *