CSF防火墙的安装和使用指南

CSF代表Configserver安全和防火墙。 CSF是一种构建为为服务器提供更好安全性的配置脚本,同时提供大量配置选项和功能,以配置和保护额外的检查以确保顺利运行。 它有助于锁定公共访问,并限制只能通过电子邮件或只有网站等访问权限。为了增加更多的权力,它附带了一个运行所有时间扫描的登录失败守护程序(LFD)脚本尝试登录到服务器以检测暴力攻击失败。 有一系列广泛的检查,lfd可以执行,以帮助警告服务器管理员对服务器的更改,潜在的问题和可能的妥协。

如果从该IP出现大量失败的登录,LFD也会阻止IP。 块是暂时的 它还允许管理员通过启用电子邮件警报服务来查看阻止的IP。 一些功能包括:

  • 登录跟踪
  • 过程跟踪
  • 目录观看
  • 高级允许/拒绝功能
  • 阻止报告
  • 端口防洪

还有很多。 此帖子不涵盖所有功能,因此,有关每个功能的详细信息,请阅读我们将下载的csf文件夹中的“readme.txt”文件。

2下载和安装

第一步是删除可能已经下载的任何先前版本的csf,然后下载最新版本。 要执行这些操作,请使用以下两个命令:

rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz

现在我们在主目录中提取tar文件,并进入csf目录。

tar -xzf csf.tgz
cd csf

直到这里的步骤如下图所示。

现在我们已经准备好安装了,但是在我们可以之前,我们将需要拥有root权限,否则我们将无法安装。 因此,使用以下命令获取root权限,如果有问题,请输入密码。

sudo su

使用以下命令安装CSF:

sh install.sh

一旦安装成功,输出将与下面的图像类似。

一旦安装完成,我们可以进行验证。为此,我们测试我们的系统是否具有所有必需的iptables模块。 现在运行这个时候,它可能表明你可能无法运行所有的功能,但没关系。 只要脚本不报告任何FATAL错误,此测试可以被视为PASS。 要测试它,请使用以下命令:

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

运行此测试的结果如下图所示:

3删除其他防火墙

删除旧的防火墙或任何其他防火墙设置以保护服务器非常重要。 这是因为防火墙的冲突可能会导致故障或无法访问。 您也不应该安装任何其他iptables防火墙,如果它已经存在,那么在此阶段必须将其删除。 大多数系统可能具有APF + BFD防火墙,并且必须被删除。 因此,使用以下命令检测并删除它们(如果存在)。

sh /usr/local/csf/bin/remove_apf_bfd.sh

我没有预先安装,所以系统中的命令输出如下图所示:

4卸载CSF和LFD

如果要完全清除CSF,则只需使用以下两个命令。

cd /etc/csf
sh uninstall.sh

5配置

CSF自动预先配置为cPanel和DirectAdmin,并将与所有标准端口打开。 CSF还可以在非标准端口上运行的安装中自动配置SSH端口。 CSF可以在安装的地方尽可能自动将所连接的IP地址列入白名单。 但是管理员可以完全控制,并且可以手动配置csf以满足服务器类型的需要。

CSF安装在“/ etc / csf”目录中,用户即使访问目录也需要root权限。 该目录由配置和运行csf所需的所有文件组成。 首先,“csf.conf”是有助于启用/禁用和管理csf的每个可能使用和功能的文件。 它处理所有配置。 该目录还包含诸如“csf.syslog”的各种文件,其中包含日志文件的保存位置,用于通过防火墙允许IP地址的“csf.allow”文件等等。

6使用CSF来查看IP地址

可以使用“-w”或“--watch”选项来监视和记录来自指定源的数据包,因为它们遍历iptables链。 当跟踪哪个IP地址被iptables丢弃或接受时,此功能变得非常有用。 请注意,在任何时候,只有几个IP地址应该被监视,并在短时间内,否则日志文件将被这些条目淹没。 要结束手表,您将不得不重新启动csf,因为重新启动时手表无法生存。

观看的步骤是:

  • 转到/ etc / csf中的配置文件,名为“csf.conf”,这是配置文件。 搜索“WATCH_MODE”并设定值“1”。 这使它能够。
  • 重新启动csf和lfd
  • 使用以下命令查看ip。 确保将IP所示的IP更改为您想要的。
    csf -w 11.22.33.44
  • 观看内核iptables日志,从观看的IP地址获取命中

完成后,禁用WATCH_MODE并重新启动csf和lfd。 以下是192.168.254.4连接到端口22的修剪示例日志:

Firewall: I:INPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:LOCALINPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:GDENYIN SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:GDENYIN SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:DSHIELD SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:DSHIELD SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:SPAMHAUS SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:SPAMHAUS SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:LOCALINPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:INVALID SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: O:INVALID SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
Firewall: I:LOGACCEPT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22

7允许/拒绝IP地址上的过滤器

csf可用于使用以下方法添加高级允许和拒绝过滤器

tcp / udp | in / out | s / d = port | s / d = ip | u = uid

此格式的分解如下所示:

tcp/udp  : EITHER tcp OR udp OR icmp protocol
in/out   : EITHER incoming OR outgoing connections
s/d=port : EITHER source OR destination port number (or ICMP type)
           (use a _ for a port range, e.g. 2000_3000)
s/d=ip   : EITHER source OR destination IP address
u/g=UID  : EITHER UID or GID of source packet, implies outgoing  
           connections, s/d=IP value is ignored

7.1允许IP地址

可以通过将它们添加到csf.allow文件中来单独或在范围内排除IP地址。 这里让我们假设我们要添加范围2.3。*。*,我们表示这是CIDR符号,我们也想允许IP 192.168.3.215。 要这样做,请使用以下命令:

nano /etc/csf/csf.allow

添加以下行(如果您希望的IP不同,请更改它)。

2.3.0.0/16
192.168.3.215

7.2阻止IP地址

类似于允许,可以阻止IP或IP范围。 但请记住,即使存在于阻塞文件中,csf.allow文件中的IP也将被允许。 要阻止IP使用与允许它相同的过程,而不是“csf.allow”文件,请在/ etc / csf目录中的“csf.deny”文件中输入IP。

7.3忽略IP地址

也可以忽略IP地址。 那就是文件“csf.ignore”中提供的IP将绕过防火墙,但只能在csf.deny文件中列出。

8结论

以上只是CSF提供的许多功能中的一些。 这是非常有用的,并为服务器提供了非常好的安全防范攻击,并且还可以完全控制配置,使服务器能够顺利运行。 要学习和使用CSF的许多其他功能,请参阅提取的文件夹中的readme.txt文件,其中简要说明了所有功能以及管理员如何使用它。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏