在 Linux 中安装和配置 ConfigServer 安全与防火墙 (CSF)
如果您查看任何地方的 IT 相关职位招聘信息,您会发现对安全专业人员的稳定需求。这不仅意味着网络安全是一个有趣的研究领域,而且也是一个非常有利可图的领域。
考虑到这一点,在本文中,我们将解释如何安装和配置ConfigServer安全和防火墙(也简称为CSF),这是一个成熟的安全套件Linux,并分享几个典型的用例。然后,您将能够使用CSF作为防火墙和入侵/登录故障检测系统来强化您负责的服务器。
无需进一步告别,让我们开始吧。
在 Linux 中安装和配置 CSF
首先,请注意 Perl 和 libwww 是在任何受支持的发行版 (RHEL) 上安装 CSF 的先决条件> 和 CentOS、openSUSE、Debian 和 Ubuntu)。由于默认情况下它应该可用,因此您无需执行任何操作,除非以下步骤之一返回致命错误(在这种情况下,请使用包管理系统安装缺少的依赖项)。
yum install perl-libwww-perl
apt install libwww-perl
第 1 步 – 下载 CSF
cd /usr/src
wget https://download.configserver.com/csf.tgz
步骤 2 – 提取 CSF tarball
tar xzf csf.tgz
cd csf
步骤 3 – 运行 CSF 安装脚本
这部分过程将检查是否安装了所有依赖项,为 Web 界面创建必要的目录结构和文件,检测当前打开的端口,并提醒您重新启动 csf 和 lfd< 完成初始配置后的守护进程。
sh install.sh
perl /usr/local/csf/bin/csftest.pl
上述命令的预期输出如下:
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
RESULT: csf should function on this server
步骤 4:禁用防火墙并配置 CSF
如果正在运行并配置 CSF,请禁用 firewalld。
systemctl stop firewalld
systemctl disable firewalld
将 TESTING="1"
更改为 TESTING="0"
(否则,lfd 守护进程将无法启动)并列出允许的传入和传出端口作为逗号分隔列表(分别为 /etc/csf/csf.conf 中的 TCP_IN 和 TCP_OUT),如下面的输出所示:
Testing flag - enables a CRON job that clears iptables incase of
configuration problems when you start csf. This should be enabled until you
are sure that the firewall works - i.e. incase you get locked out of your
server! Then do remember to set it to 0 and restart csf when you're sure
everything is OK. Stopping csf will remove the line from /etc/crontab
#
lfd will not start while this is enabled
TESTING = "0"
Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
对配置感到满意后,保存更改并返回命令行。
第 5 步 – 重新启动并测试 CSF
systemctl restart {csf,lfd}
systemctl enable {csf,lfd}
systemctl is-active {csf,lfd}
csf -v
此时,我们已准备好开始设置防火墙和入侵检测规则,如下所述。
设置 CSF 和入侵检测规则
首先,您需要检查当前的防火墙规则,如下所示:
csf -l
您还可以通过以下方式停止它们或重新加载它们:
csf -f
csf -r
分别。请务必记住这些选项 - 您在进行过程中将需要它们,特别是在进行更改并重新启动 csf 和 lfd 后进行检查。
示例 1 – 允许和禁止 IP 地址
允许来自 192.168.0.10 的传入连接。
csf -a 192.168.0.10
同样,您可以拒绝源自 192.168.0.11 的连接。
csf -d 192.168.0.11
如果您愿意,您可以删除上述每条规则。
csf -ar 192.168.0.10
csf -dr 192.168.0.11
请注意上面使用 -ar
或 -dr
如何删除与给定 IP 地址关联的现有允许和拒绝规则。
示例 2 – 按源限制传入连接
根据服务器的预期用途,您可能希望基于端口将传入连接限制为安全数量。为此,请打开 /etc/csf/csf.conf 并搜索 CONNLIMIT。可以指定多个端口;连接对以逗号分隔。例如,
CONNLIMIT = "22;2,80;10"
将仅允许分别从同一源到 TCP 端口 22 和 80 的 2 和 10 个传入连接。
示例 3 – 通过电子邮件发送警报
您可以选择多种警报类型。在 /etc/csf/csf.conf 中查找 EMAIL_ALERT 设置,并确保将它们设置为 “1”
以接收关联的警报。例如,
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"
每次有人通过 SSH 成功登录或使用 su 命令切换到另一个帐户时,都会将警报发送到 LF_ALERT_TO 中指定的地址。
CSF 配置选项和用法
以下选项用于修改和控制 csf 配置。 csf的所有配置文件都位于/etc/csf目录下。如果修改以下任何文件,则需要重新启动 csf 守护程序才能进行更改。
- csf.conf:控制CSF的主要配置文件。
- csf.allow:防火墙上允许的 IP 和 CIDR 地址列表。
- csf.deny:防火墙上拒绝的 IP 和 CIDR 地址列表。
- csf.ignore:防火墙上忽略的 IP 和 CIDR 地址的列表。
- csf.*ignore :用户、IP的各种忽略文件列表。
删除 CSF 防火墙
如果您想完全删除CSF防火墙,只需运行/etc/csf/uninstall.sh目录下的以下脚本即可。
/etc/csf/uninstall.sh
上述命令将完全删除 CSF 防火墙以及所有文件和文件夹。
概括
在本文中,我们解释了如何安装、配置和使用 CSF 作为防火墙和入侵检测系统。请注意,csf.conf 中概述了更多功能。
例如,如果您从事网络托管业务,您可以将CSF与Cpanel、WHM或众所周知的Webmin等管理解决方案集成。
您对本文有任何疑问或意见吗?请随时使用下面的表格向我们发送消息。我们期待您的回音!