CentOS 安裝 CSF 防火牆


Config Server Fireall (CSF) 是 Linux 下基於 iptables 開發的防火牆套裝工具, 除了基本的防火牆外, 也可以做到類似 Fail2Ban 的偵測暴力攻擊的功能。以下是在 RHEL 及 CentOS 7 安裝 CSF 的方法。

CSF 沒有包括在預設的 Repo 內, 需要下載手動安裝, 由於 CSF 是基於 Perl 開發, 而在安裝前需要先安裝 Perl 及 wget:

# yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes

安裝好 Perl 及 wget 後, 可以下載 CSF 安裝:

# cd /usr/local/src/
# wget https://download.configserver.com/csf.tgz

解壓 CSF 的壓縮檔及進行安裝:

# tar -xzf csf.tgz
# cd csf
# sh install.sh

執行完成後, 會看到 CSF 安裝完成的 “Installation Completed” 的訊息。

要檢查 CSF 是否安裝正確, 可以到 “csftest.pl” 這個測試 script:

# cd /usr/local/csf/bin/
# perl csftest.pl

如果看到 “RESULT: csf should funtion on this server”, 即表示安裝正確

安裝好 CSF 後, 在開始設定前, 如果系統內有執行 firewalld (RHEL 7 及 CentOS 7 的預設防火牆), 第一步需要停止 firewalld 執行:

# systemctl stop firewalld
# systemctl disable firewalld

現在可以設定 CSF, CSF 的設定檔在 /etc/csf/csf.conf, 用 vi 開啟:

# vi /etc/csf/csf.conf

將第 11 行的 “TESTING” 選項改為 0, 即改成這樣:

TESTING = “0”

CSF 預設開放 SSH port 22, 如果您的 SSH 用其他 port, 要在第 139 行的 “TCP_IN” 加入您的 SSH port, 不然啟動 CSF 後不能 SSH 進去遠端主機就麻煩了。

儲存檔案後離開 vi, 現在可以啟動 CSF 及設定開機自動啟動 CSF:

# systemctl start csf
# systemctl start lfd
# systemctl enable csf
# systemctl enable lfd
# csf -l

啟動防火牆:

# csf -s

清空或停止防火牆:

# csf -f

重新載入防火牆:

# csf -r

開放特定 IP:

# csf -a ip_address

刪除開啟的 IP:

# csf -ar ip_address

封鎖 IP:

# csf -d 192.168.1.109

刪除封鎖的 IP:

# csf -dr 192.168.1.109

將所有封鎖的項目刪除:

# csf -df

搜尋規則:

# csf -g search

CSF 是一套十分實用的防火牆工具, 除了指令模式外, 也支援 cPanel, DirectAdmin 及 Webmin.

No Responses

  1. Pingback: CentOS 7 安装 LMD 及 ClamAV | Mr.Cpp 02 November 2018

Leave a Reply