ConfigServer Security & Firewall 我现在就在用它。
安装 CFS 依赖关系
CSF 基于 Perl,所以您需要先安装 Perl。
yum install perl-libwww-perl.noarch perl-Time-HiRes
安装 CSF
cd /usr/src/
wget https://download.configserver.com/csf.tgz
提取 tar.gz 文件并转到 csf 目录,然后安装它:
tar -xzf csf.tgz
cd csf
sh install.sh
安装完成之后提示 Installation Completed 即安装成功。
检查 CSF 是否正常工作:
cd /usr/local/csf/bin/
perl csftest.pl
如果您看到测试结果如下所示,那么 CSF 在您的服务器上运行没有问题:
RESULT: csf should function on this server
在 CentOS 7 上配置 CSF
在进入 CSF 配置过程之前,首先要知道的是,“CentOS 7” 有一个名为 “firewalld” 的默认防火墙应用程序。 你必须停止防火墙,并将其从启动中删除。
停止防火墙:
systemctl stop firewalld
从启动中禁用/删除 firewalld:
systemctl disable firewalld
然后转到 CSF 配置目录 “/ etc / csf /” ,并使用 vi 编辑器编辑文件 “csf.conf” :
cd /etc/csf/
vi csf.conf
将 “TESTING” 改为 “0” 以应用防火墙配置。
TESTING = "0"
默认情况下,放行的端口如下:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443"
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"
根据自身服务器环境修改放行阻止端口,如您正在使用 CommentToMail 插件,默认配置只开放了 465 端口的 TCP_IN 进入权限,需开放 465 端口的 TCP_OUT 出去权限,不然无法收到评论邮件通知。
添加防御规则,阻止日常少量的 ddos、cc;
找到字段 PORTFLOOD,做如下规则:
PORTFLOOD = "22;tcp;5;300,80;tcp;20;5,443;tcp;20;5"
分别对端口 22,80,443 做策略(以 IP 为单位):
如果 22 端口某 IP 在 300 秒内发起 5 个以上链接,就 ban;
如果 80 或 443 端口某 IP 在 5 秒内发起 20 个以上链接,就 ban。
ban 的时间默认是 1800 秒。
lfd 会发送可疑进程,可以提前把你的进程加入白名单,编辑 /etc/csf/csf.pignore ,按照格式在末尾补充就可以了。
exe:/usr/sbin/nginx
exe:/usr/sbin/php-fpm
程序目录自行修改,每个人的环境目录不一样。
现在使用 systemctl 命令启动 CSF 和 LFD:
systemctl start csf
systemctl start lfd
然后启动 csf 和 lfd 服务在系统启动时启用:
systemctl enable csf
systemctl enable lfd
基本 CSF 命令
1.启动
csf -s
2.刷新/停止
csf -f
3.重新加载
csf -r
错误提示:
① WARNING RESTRICT_SYSLOG is disabled. See SECURITY WARNING in /etc/csf/csf.conf.
进入 /etc/csf/csf.conf 配置文件
RESTRICT_SYSLOG = “0” 修改成 RESTRICT_SYSLOG = “3”
② WARNING Binary location for [HOST] [/usr/bin/host] in /etc/csf/csf.conf is either incorrect, is not installed or is not executable
缺少依赖组件,执行 yum install bind-utils 安装即可。
非技术的路过。