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文件,其中简要说明了所有功能以及管理员如何使用它。