网站搜索

在 Linux 中安装和配置 ConfigServer 安全与防火墙 (CSF)


如果您查看任何地方的 IT 相关职位招聘信息,您会发现对安全专业人员的稳定需求。这不仅意味着网络安全是一个有趣的研究领域,而且也是一个非常有利可图的领域。

考虑到这一点,在本文中,我们将解释如何安装和配置ConfigServer安全和防火墙(也简称为CSF),这是一个成熟的安全套件Linux,并分享几个典型的用例。然后,您将能够使用CSF作为防火墙和入侵/登录故障检测系统来强化您负责的服务器。

无需进一步告别,让我们开始吧。

在 Linux 中安装和配置 CSF

首先,请注意 Perllibwww 是在任何受支持的发行版 (RHEL) 上安装 CSF 的先决条件> 和 CentOSopenSUSEDebianUbuntu)。由于默认情况下它应该可用,因此您无需执行任何操作,除非以下步骤之一返回致命错误(在这种情况下,请使用包管理系统安装缺少的依赖项)。

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 界面创建必要的目录结构和文件,检测当前打开的端口,并提醒您重新启动 csflfd< 完成初始配置后的守护进程。

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_INTCP_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

分别。请务必记住这些选项 - 您在进行过程中将需要它们,特别是在进行更改并重新启动 csflfd 后进行检查。

示例 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 端口 2280210 个传入连接。

示例 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等管理解决方案集成。

您对本文有任何疑问或意见吗?请随时使用下面的表格向我们发送消息。我们期待您的回音!