CSF 是一款强大且易于控制的 Linux 服务器防火墙

ConfigServer Security & Firewall,通常简称为 CSF,是 Linux 服务器上最流行的防火墙工具之一。它由 ConfigServer Services 开发,本质上是一个用于管理 iptables 的智能控制层,同时结合了 LFD 登录入侵检测系统。

使用 CSF,你不仅可以简单地开放或关闭端口,还可以自动封锁具有可疑行为的 IP 地址,例如 SSH 暴力破解、异常邮件发送行为或对服务器建立过多连接的情况。

下面是包含详细命令的 CSF 安装与使用步骤指南。

步骤 1:安装 CSF 之前的系统准备

通过 SSH 以 root 用户登录服务器。

首先更新系统:

yum update -y

安装 CSF 所需的依赖包:

yum install perl-libwww-perl perl-Time-HiRes -y

在 AlmaLinux 或 Rocky Linux 上也可以同样使用 yum 或 dnf。

步骤 2:下载并安装 CSF

进入源码目录:

cd /usr/src

从官方站点下载 CSF 安装包:

wget https://download.configserver.com/csf.tgz

解压文件:

tar -xzf csf.tgz
cd csf

运行安装脚本:

sh install.sh

安装完成后,检查 iptables 兼容性:

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

如果大多数测试显示 OK,说明你的系统可以很好地支持 CSF。

步骤 3:启用防火墙前的基本配置

主配置文件位于:

nano /etc/csf/csf.conf

找到这一行:

TESTING = "1"

先保持这个值不变,让 CSF 处于测试模式,此时只记录日志,不会真正阻断连接。

开放 SSH 端口

找到这一行:

TCP_IN =

添加你的 SSH 端口,例如默认的 22:

TCP_IN = "22,80,443"

80 和 443 是 Web 服务端口。如果有其他服务,可以稍后再添加。

同样设置出站端口:

TCP_OUT = "22,80,443"

保存并退出。

步骤 4:以测试模式启动 CSF

执行:

csf -r

该命令会重新加载所有防火墙规则。

查看 CSF 状态:

csf -l

此时 CSF 仍处于 TESTING 模式,只记录不拦截。

步骤 5:启用正式防护模式

确认 SSH 连接正常后,再次编辑配置文件:

nano /etc/csf/csf.conf

将:

TESTING = "0"

保存后重新加载:

csf -r

从现在开始,CSF 会真正阻断违规 IP。

步骤 6:查看与管理被封锁的 IP

查询某个 IP:

csf -g 1.2.3.4

把 1.2.3.4 替换为你要检查的 IP。

查看临时封锁列表:

csf -t

手动封锁一个 IP:

csf -d 1.2.3.4 "Manual block"

解除封锁:

csf -dr 1.2.3.4

步骤 7:监控攻击日志

LFD 日志位置:

tail -f /var/log/lfd.log

你会看到由于 SSH 登录失败、端口扫描或异常邮件行为而被封锁的 IP 记录。

查看系统日志中的 CSF 相关信息:

tail -f /var/log/messages

在某些系统上可能是:

tail -f /var/log/syslog

步骤 8:将管理 IP 加入白名单

打开允许列表文件:

nano /etc/csf/csf.allow

添加你的 IP:

1.2.3.4 # My office IP

保存并重新加载:

csf -r

步骤 9:确认 LFD 正在运行

LFD 负责自动检测攻击行为。

查看进程:

ps aux | grep lfd

或使用 systemd:

systemctl status lfd

如果未运行:

systemctl start lfd
systemctl enable lfd

步骤 10:模拟攻击测试防护效果

从另一台机器多次故意输入错误的 SSH 密码。当超过设定次数后,该 IP 将被封锁。

监控日志:

tail -f /var/log/lfd.log

如果看到测试 IP 被封锁,说明 CSF 正在有效保护服务器。

CSF 是一款非常实用的工具

CSF 是一款非常实用的工具,可以在操作系统层面提供强大的安全防护,而无需手动编写复杂的 iptables 规则。通过简单的安装和基本调优,你就可以阻挡大多数常见的暴力破解、端口扫描和异常访问行为。

更重要的是,通过持续查看 CSF 和 LFD 日志,你可以真实地了解服务器每天正遭受哪些类型的攻击。这些经验对于长期管理 VPS 或 Linux 服务器来说非常宝贵。