如果您在任何地方查看与IT相关的职位发布,您会发现对安全专业人员的需求稳定。 这不仅意味着网络安全是一个有趣的研究领域,而且也是一个非常有利可图的领域。
考虑到这一点,在本文中,我们将解释如何安装和配置ConfigServer Security&Firewall (简称CSF ),这是一个完整的Linux安全套件,并分享了几个典型的用例。 然后,您将能够使用CSF作为防火墙和入侵/登录故障检测系统来强化您负责的服务器。
如果没有进一步的说明,让我们开始吧。
在Linux中安装和配置CSF
首先,请注意Perl和libwww是在任何受支持的发行版( RHEL和CentOS , openSUSE , Debian和Ubuntu )上安装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界面创建必要的目录结构和文件,检测当前打开的端口,并提醒您在完成初始配置后重新启动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
如果运行并禁用firewalld并配置CSF。
# systemctl stop firewalld # systemctl disable firewalld
将TESTING = "1"
更改为TESTING = "0"
(否则, lfd守护程序将无法启动)并将允许的传入和传出端口列为/ etc / csf / csf中逗号分隔列表(分别为TCP_IN和TCP_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
分别。 确保记住这些选项 - 您需要随身携带它们,尤其是在进行更改并重新启动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
CSF允许和拒绝IP地址
请注意以上-ar
或-dr
的使用如何删除与给定IP地址关联的现有允许和拒绝规则。
示例2 - 按源限制传入连接
根据服务器的预期用途,您可能希望将传入连接限制为基于端口的安全号码。 为此,请打开/etc/csf/csf.conf并搜索CONNLIMIT 。 你可以指定多个端口; 连接对用逗号分隔。 例如,
CONNLIMIT = "22;2,80;10"
将仅允许来自相同源的2和10个传入连接分别到TCP端口22和80 。
示例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托管业务中,则可以将CSF与Cpanel , WHM或着名的Webmin等管理解决方案集成。
您对这篇文章有任何问题或意见吗? 请使用下面的表格向我们发送消息。 我们期待您的回音!