精品軟體與實用教程
csf(ConfigServer Security & Firewall)永久關閉
Way to the Web Ltd 和Configserver.com已於2025 年8 月31 日永久關閉。
該公告於2025 年7 月30 日首次在我們的部落格和本網站上發布,以便我們的客戶有時間更新他們的軟體或為我們公司的關閉做好準備。
此次關閉將影響我們所有的商業軟體,包括ConfigServer 漏洞掃描器(cxs)、MailScanner 前端(MSFE) 和外發垃圾郵件監控器(osm)。此外,我們還將影響我們的免費軟體,包括ConfigServer 安全性和防火牆 (csf)、ConfigServer 郵件佇列(cmq)、ConfigServer 郵件管理(cmm)、ConfigServer 模組安全控制(cmc) 和ConfigServer 資源管理器(cse)。
截至2025 年8 月31 日,不再提供任何支援、下載或授權IP 變更。
為了在8月31日之後繼續使用我們的任何商業軟體,您必須將軟體更新至最新版本。如果您未更新軟體,一旦下載和許可證伺服器關閉,我們的任何商業軟體產品都將停止運行,並且無法重新啟動。
我們已根據GPLv3 授權發布了csf(ConfigServer Security & Firewall)、cmc(Configserver Modsecurity Control,適用於cPanel)、cmm(ConfigServer Mail Manage,適用於cPanel)、cmq(ConfigServer Mail Queues,適用於PancPanel 和DirectAd這些腳本現已發佈在我們的GitHub 倉庫中。
安裝CSF防火牆(ConfigServer Security & Firewall)
在 Ubuntu 上,CSF(ConfigServer Security & Firewall)是一種強大的防火牆管理工具,主要用於增強伺服器的安全性。它不僅提供傳統的防火牆功能,還整合了許多額外的安全措施和監控功能,適合Linux伺服器的管理需求。 CSF 在簡化配置、防止攻擊、保護伺服器資源等方面有重要作用,特別是在網站和應用程式伺服器中廣泛使用。
在Ubuntu22.4 上,安裝CSF防火牆之後,可以在CyberPanel中啟用!
CSF 的主要功能與用途
防火牆管理
CSF 使用 iptables
來管理入站和出站流量的規則設定。管理員可以透過簡單的命令新增、修改或刪除規則,限制存取某些連接埠和服務,以防止未授權的存取。
支援設定白名單和黑名單 IP,可以允許或禁止特定IP 位址的訪問,防止來自惡意IP 的請求。
入侵偵測與防護
CSF 包含入侵偵測和預防系統(LFD - Login Failure Daemon),會偵測並封鎖多次登入失敗的IP 位址,防止暴力破解嘗試。
可以監控特定服務的登入日誌(如SSH、FTP 等),在偵測到惡意行為時立即封鎖來源IP。
連接埠掃描防護
CSF 可以辨識並阻止對伺服器進行連接埠掃描的惡意IP,保護伺服器的連接埠資訊不被外洩。
防止DoS 攻擊
CSF 能偵測到異常的流量高峰或連線數,可以設定限制並在偵測到時自動屏蔽IP,以減少DoS(拒絕服務)攻擊的影響。
系統安全審查
CSF 包含了一個基本的安全檢查工具,可以檢查Ubuntu 系統中可能存在的常見安全漏洞,並提供相關的建議(例如SSH 是否使用預設連接埠等)。
電子郵件通知
CSF 可以在伺服器偵測到異常行為(如多次登入失敗、IP 封鎖等)時,透過電子郵件發送通知,以便於管理員快速回應。
時間控制的規則
支援為防火牆規則設定生效時間。例如,可以在特定時間段封鎖或允許存取某些服務,提升安全性和資源利用率。
適用場景
CSF 尤其適合以下應用場景:
- Web伺服器和應用程式伺服器:適用於需要保護網站和API 介面的場景,可以阻止異常請求和惡意流量。
- SSH 安全管理:對於需要透過SSH 遠端管理的伺服器,CSF 可以有效阻止暴力破解嘗試。
- 限制特定IP 訪問:用於允許或禁止某些國家、地區或特定IP 位址存取伺服器,提升區域化的安全性策略。
如何安裝CSF
官方停更後,將安裝包扔在了github上,將下載CSF的地址更改成Github的下載地址即可安裝,美中不足的是後續沒有版本更新和維護,但是作為一個端口屏蔽防火牆來說,CSF功能已經足夠用了!
在Ubuntu 上安裝CSF 並啟用基本設定的步驟如下:
# 安裝依賴sudo apt update sudo apt install -y perl libwww-perl liblwp-protocol-https-perl # 下載CSF wget https://github.com/waytotheweb/scripts/raw/refs/heads/main/csftgz install.sh # 檢查伺服器是否相容於CSF sudo perl /usr/local/csf/bin/csftest.pl
CSF 是一個功能全面且易於設定的防火牆管理工具,適合需要高安全性設定的Ubuntu 伺服器。
安裝完成後,可以透過編輯/etc/csf/csf.conf 檔案來設定CSF,並透過命令csf -r 重新啟動防火牆使設定生效。
安裝CSF 後,可以透過編輯/etc/csf/csf.conf 檔案進行詳細配置。以下是一些常見的設定步驟和注意事項:
1.編輯CSF 設定文件
使用文字編輯器(例如vim 或nano)開啟CSF 設定檔:
sudo nano /etc/csf/csf.conf
在文件中,可以找到許多配置選項,以下是一些關鍵設定:
1.1. 基本設置
測試模式:CSF 安裝後預設為測試模式,防火牆規則不會生效。
在正式使用之前,將TESTING 設定為0 以停用測試模式。
TESTING = "0"
預設開放的入站端口:
TCP_IN:設定允許存取的入站連接埠(例如Web 伺服器的連接埠80 和443,SSH 的連接埠22 等)。
TCP_IN = "22,80,443"
TCP_OUT:設定允許存取的出站端口。
TCP_OUT = "80,443,53"
注意:確保開放的端口包含SSH 端口,否則可能會導致無法遠端連接的問題。
1.2. 允許/禁止的IP 位址
允許清單(白名單):在csf.allow 檔案中指定可以存取伺服器的IP 位址。
在csf.conf 中,可以新增多個IP 位址或IP 段,用於指定特定的IP 始終被允許存取:
sudo nano /etc/csf/csf.allow
輸入允許的IP 位址,每行一個,例如:
192.168.1.100
203.0.113.0/24
禁止清單(黑名單):在csf.deny 檔案中指定禁止存取伺服器的IP 位址。
開啟檔案並新增IP 位址:
sudo nano /etc/csf/csf.deny
輸入禁止的IP 位址,每行一個:
192.168.1.101
198.51.100.0/24
1.3. 登入失敗保護(暴力破解保護)
設定登入失敗保護:LF_TRIGGER 和LF_SSHD 選項用於防止暴力破解嘗試。
LF_TRIGGER:觸發阻止的失敗嘗試數。
LF_TRIGGER = "5"
LF_SSHD:SSH 失敗登入的觸發次數。
LF_SSHD = "5"
1.4. 防止連接埠掃描
連接埠掃描保護:設定連接埠掃描保護,防止惡意使用者探測開放連接埠。
PS_INTERVAL = "300"
PS_LIMIT = "10"
2. 儲存配置並重新啟動CSF
完成設定後,按Ctrl + X,然後按Y 儲存並退出檔案。
3. 重啟CSF 和LFD 使設定生效
使用以下命令重新載入CSF 配置:
sudo csf -r
此外,還可以重新啟動LFD(Login Failure Daemon)服務:
sudo systemctl restart lfd
4. 檢查防火牆狀態
查看CSF 的運作狀態,確保規則正確套用:
sudo csf -s # 查看規則狀態
sudo csf -l # 顯示防火牆狀態
5. 驗證防火牆是否正常運作
可以使用以下命令檢查是否有錯誤:
sudo csf -e # 啟用防火牆
sudo csf -x # 停用防火牆(測試時)
透過上述步驟,您可以成功設定並啟用CSF 以保護Ubuntu 伺服器的安全。
CyberPanel 伺服器在安裝CSF 後出現500 錯誤
通常與防火牆配置不相容或阻止了關鍵服務有關。以下是一些常見的解決方法:
1. 檢查CSF 配置並允許必要端口
確保CSF 中已開放CyberPanel 需要的端口,例如:
TCP_IN:8090(CyberPanel 控制面板連接埠)、80、443(HTTP/HTTPS)、21(FTP)、25、465、587(SMTP)、53(DNS)等。
打開CSF 設定檔:
sudo nano /etc/csf/csf.conf
尋找並修改TCP_IN 和TCP_OUT,確保包含以上連接埠。
2. 重啟CSF 和LFD
在修改配置後,重新啟動CSF 和LFD 使變更生效:
sudo csf -r
sudo systemctl restart lfd
3. 檢查伺服器錯誤日誌
查看CyberPanel 的錯誤日誌以取得特定錯誤訊息:
tail -f /usr/local/lscp/logs/error.log
4. 測試臨時禁用CSF
可以暫時停用CSF 以確認問題是否來自防火牆:
sudo csf -x
如果停用後500 錯誤消失,表示問題在CSF 配置中。