希志あい 希志爱野 Kishi Aino
希志あい 希志爱野 Kishi Aino

[CentOS]安装&调教ConfigServer Security & Firewall

ConfigServer Security & Firewall(简称CSF)防火墙是一个开放原始码的软体,虽然我其实一直是使用同类型的Advanced Policy Firewall(简称APF),但是前阵子更换CentOS 6之后才发现好像跟APF不太和气 🤓 虽然APF官网也有更新9.7 (rev:2),但我觉得APF他更新速度有点慢,CentOS都6.5了他才跟上这点我满介意的,所以就换上了WHM/Cpanel主机管理系统上的外挂模组CSF 🤖🤓🤖

CSF这套更新速度倒也满快的,基本安装也简单,还附送一个Login Failure Daemon(简称LFD)软体,而且除了WHM付费的主机管理系统可用,另一套Webmin开放原始码的主机管理系统也同样有支援CSF的外挂模组,这点我就满开心的,因为我每台主机都有装Webmin,所以就来简单记录一下使用过程吧 🤓

1. 首先安装基本套件

sudo yum install -y iptables bind-utils e2fsprogs nano perl perl-Time-HiRes \
perl-GDGraph perl-libwww-perl perl-LWP-Protocol-https perl-Crypt-SSLeay \
perl-Net-SSLeay

2. 安装CSF

3.1 安装完毕后先执行1次自我测试,如果正常就可使用完整功能,也就是比较能保障主机的安全,OpenVZ的VPS要特别注意这点

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

csftest

3.2 安装过程中CSF会自动将目前连线的IP加入白名单,也自动把已使用中的port加入设定档,另外有安装Webmin的可以在Webmin新增CSF外挂模组,在左手边的Webmin > Webmin Configuration > Webmin Modules选择From local file,空格中输入/usr/local/csf/csfwebmin.tgz

Webmin_with_CSF_01

4. 新增好之后可以在左手边的System > ConfigServer Security & Firewall看到他,不喜欢在SSH操作的就可以在这边操作 🤓

Webmin_with_CSF_02

5. 设定CSF也不难,官方的读我档案有完整介绍,我这边简单介绍一下

第220行 – 指定侦测的网路介面

vi +/"ETH_DEVICE" /etc/csf/csf.conf

ETH_DEVICE = “eth0” ← 一般Linux系统
ETH_DEVICE = “venet0” ← OpenVZ的VPS

第115行 – 指定要开放的TCP的PORT

vi +/"TCP_IN" /etc/csf/csf.conf

TCP_IN = “20,21,22,25,47,53,80,110,113,123,143,161,443,465,587,993,995,1723,1812,1813,2077,2078,2082,2083,2086,2087,2095,2096,3306.10000,15000:16000”

第121行 – 指定要开放的UDP的PORT

vi +/"UDP_IN" /etc/csf/csf.conf

UDP_IN = “20,21,22,25,47,53,123”

第128行 – 启动ICMP功能,开放主机接受PING

vi +/"ICMP_IN" /etc/csf/csf.conf

ICMP_IN = “1”

第352行 – 指定SMTP使用的PORT

vi +/"SMTP_PORTS" /etc/csf/csf.conf

SMTP_PORTS = “25,465,587”

第358行 – 指定要开放使用SMTP的使用者与群组

vi +/"SMTP_ALLOW" /etc/csf/csf.conf

SMTP_ALLOWUSER = “cpanel”
SMTP_ALLOWGROUP = “mail,mailman”

第399行 – 平时不启动,当遭到SYNFLOOD或DDoS攻击时,启动过滤SYNFLOOD功能,这边的范例是主机收到每秒100个封包就阻挡,突发上限是150,资源较小的主机可以把数字再往下调整

vi +/"SYNFLOOD" /etc/csf/csf.conf

SYNFLOOD = “1”
SYNFLOOD_RATE = “100/s”
SYNFLOOD_BURST = “150”

第435行 – 平时不启动,当遭到SYNFLOOD或DDoS攻击时,启动过滤PORTFLOOD功能,这边的范例是如果300秒内有10个以上同样的IP连接到tcp端口22的连接,则60秒后阻止该IP连线到端口22,另外如果5秒内有10个以上同样的IP连接到tcp端口80的连接,则60秒后阻止该IP连线到端口80

vi +/"PORTFLOOD" /etc/csf/csf.conf

PORTFLOOD = “22;tcp;10;60,80;tcp;10;60”

第419行 – 指定特定PORT可连线的数量,比如说22的PORT可5连线,443可20个连线

vi +/"CONNLIMIT" /etc/csf/csf.conf

CONNLIMIT = “22;5;443;20

大致上也就这样,其他的不太需要动 🤓 设定完毕后再关闭测试模式

第11行 – 关闭测试模式

sed -i 's#TESTING = "1"#TESTING = "0"#g' /etc/csf/csf.conf

6. 在SSH操作CSF其实也只有几个指令常用,简单介绍一下

检查CSF运作状态
csf -l
快速新增IP到黑名单
csf -d 8.8.8.8
快速新增IP到白名单
csf -a 8.8.8.8
重新读取设定档
csf -r
更新CSF主程式
csf -u
重新启动CSF服务
service csf restart

关于 穷苦人家的小孩

In every democracy, the people get the government they deserve. ~Alexis de Tocqueville

您可能会喜欢

桃乃木かな 桃乃木香奈 Kana Momonogi

CloudCone全自动DD安装Windows

前阵子VPS优惠 – Clou …