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