ConfigServerSecurity&Firewall(CSF)是一种流行的Linux安全工具。它为iptable提供了一个简单的接口来保护Linux服务器。CSF具有多种功能:有状态包检查防火墙(SPI)、入侵检测、登录失败守护进程、DDOS保护和控制面板集成。本文简单介绍在Ubuntu20.04上CSF的安装、基本配置和基本命令。
步骤1:部署Ubuntu服务器
先决条件:首先需要部署一个新的Ubuntu 20.04服务器环境。
登录用户:以root用户身份通过SSH连接到远程服务器。
测试环境:本文以APP兼职网www.appjzw.com为测试环境。
步骤2:为CSF安装做准备
Ubuntu20.04默认带有UFW防火墙,在安装CSF之前必须删除它。
# apt remove ufw
安装CSF依赖项。
# apt install perl zip unzip libwww-perl liblwp-protocol-https-perl
CSF要求Sendmail向管理员发送警报。
# apt install sendmail-bin
步骤3:安装CSF
切换目录为/usr/src
# cd /usr/src
下载CSF发行版。
# wget https://download.configserver.com/csf.tgz
提取压缩文件。
# tar -xzf csf.tgz
切换目录为/usr/src/csf
# cd csf
运行安装脚本。
# sh install.sh
验证CSF所需的iptable模块是否可用。
# perl /usr/local/csf/bin/csftest.pl
确认所有选项之后将看到以下结果。
RESULT: csf should function on this server
安装后确认CSF状态。
# csf -v
这里应该看到类似于以下结果的结果:
csf: v14.02 (generic)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
步骤4:配置CSF
默认情况下,CSF以测试模式运行。编辑/etc/csf/csf.conf若要禁用测试模式,请执行以下操作。
# nano /etc/csf/csf.conf
定位到TESTING = "1"这一行,并将值更改为"0".
TESTING = "0"
定位到RESTRICT_SYSLOG = "0" 这一行,并将值更改为"3"。这意味着只有RESTRICT_SYSLOG_GROUP可以访问syslog/rsyslog文件。
RESTRICT_SYSLOG = "3"
保存配置文件。
停止并重新载入CSF-RA选择。
# csf -ra
常用CSF命令及配置
启动CSF
# csf -s
停止CSF
# csf -f
重启CSF
每次配置文件更改时,必须重新启动csf。
# csf -ra
允许IP端口通信
编辑/etc/csf/csf.conf
# nano /etc/csf/csf.conf
找到下列行并添加所需的端口。
# Allow incoming TCP ports
TCP_IN = 20,21,22,25,26,53,80,110,143,443,465,587,993,995,2077”
# Allow outgoing TCP ports
TCP_OUT = 20,21,22,25,26,37,43,53,80,110,113,443,465,873,2087”
重新启动CSF以使更改生效。
# csf -ra
允许或拒绝IP地址
使用-d通过IP拒绝的选项,例如,192.0.2.123。
# csf -d 192.0.2.123
使用-a选项允许IP,例如,192.0.2.123。
# csf -a 192.0.2.123
从允许列表中删除IP。
# csf -ar 192.0.2.123
从拒绝列表中删除IP。
# csf -dr 192.0.2.123
拒绝文件
通过向/etc/csf/csf.deny.
192.0.2.123 # deny this IP
192.0.2.0/24 # deny this network
允许文件
将受信任的IP添加到/etc/csf/csf.allow.
192.0.2.123 # trust this IP
检查所有侦听端口 -p 选项。
# csf -p