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

在本文中,我们将解释如何安装和配置ConfigServer Security&Firewall(CSF),这是一个完整的Linux安全套件。

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

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

如果没有进一步的说明,让我们开始吧。

在Linux中安装和配置CSF

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

# 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

如果运行并禁用firewalld并配置CSF。

# systemctl stop firewalld
# systemctl disable firewalld

TESTING = "1"更改为TESTING = "0" (否则, lfd守护程序将无法启动)并将允许的传入和传出端口列为/ etc / csf / csf中逗号分隔列表(分别为TCP_INTCP_OUT.conf如下图所示输出:

# 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
CSF允许和拒绝IP地址

CSF允许和拒绝IP地址

请注意以上-ar-dr的使用如何删除与给定IP地址关联的现有允许和拒绝规则。

示例2 - 按源限制传入连接

根据服务器的预期用途,您可能希望将传入连接限制为基于端口的安全号码。 为此,请打开/etc/csf/csf.conf并搜索CONNLIMIT 你可以指定多个端口; 连接对用逗号分隔。 例如,

CONNLIMIT = "22;2,80;10"

将仅允许来自相同源的210个传入连接分别到TCP端口2280

示例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中列出了更多功能。

例如,如果您在Web托管业务中,则可以将CSFCpanelWHM或着名的Webmin等管理解决方案集成。

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