在Linux上安装和配置CSF(配置服务器安全和防火墙)

CSF是国外一家小公司开发的linux系统免费防火墙,它基于iptables工作,能有效缓解服务器压力,具有自动屏蔽暴力破解密码IP、管理开放端口、免疫轻量DDos和CC等等功能,同时,安装和使用也极为简便,在我们常用的DA和CP面板还有图形化操作界面,也支持个人普通用户安装于LNMP环境下使用。

yum install perl-libwww-perl perl iptables



第1步:下载CSF源存档
从它的官方网站下载最新的档案CSF的源代码。然后提取源代码。

# cd /opt
# wget http://www.configserver.com/free/csf.tgz
# tar xzf csf.tgz

第2步:安装CSF
CSF提供和bash脚本轻松的在任何操作系统上安装。这个脚本自动检测您的操作系统,并安装CSF。运行install.sh脚本。

# cd /opt/csf
# sh install.sh

第3步:测试iptables模块
运行csftest.pl perl脚本,以验证是否所有所需的iptables模块系统,使上安装是正常的工作。

# 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
在系统上成功安装CSF后,您需要更改按照csf.conf设置,启用CSF。

# vim /etc/csf/csf.conf

TESTING=0 

现在重新启动防火墙CSF重新加载,使用下面的命令加载新的变化。

# cd /etc/csf
# csf -r

CSF配置文件地址:/etc/csf/csf.conf

白名单:/etc/csf/csf.allow

黑名单:/etc/csf/csf.deny

主要的配置信息,在csf.conf中,包括常用的端口开放,各项设定完成后,将测试模式关闭(TESTING = "0").


卸载CSF:     

cd /etc/csf
sh uninstall.sh


防止DDOS攻击
配置CSF + LDF以防止服务器的DDOS攻击。要启用它下面的设置,编辑/etc/csf/csf.conf和更新。

    总数从单个主机允许的连接。要禁用此功能,将此设置为0

    CT_LIMIT = "20"

    在几秒钟内连接跟踪时间间隔。

    CT_INTERVAL = "30"

    每个发送的电子邮件警报封IP。

    CT_EMAIL_ALERT =1

    设置为1来阻止IPS永久性的。

    CT_PERMANENT = 1

    如果您选择了CT临时IP块,再下面是区间 以秒为IP将仍然受阻

    CT_BLOCK_TIME = 1800

    如果你只想计算特定端口(如22,23,80,443),然后添加端口。否则保持空检查所有端口

    CT_PORTS = "22,23,80,443"

 禁用测试:

sudo perl -pi -w -e "s/TESTING = \"1\"/TESTING = \"0\"/" /etc/csf/csf.conf

忽略允许列表中的IP地址:

sudo perl -pi -w -e "s/IGNORE_ALLOW = \"0\"/IGNORE_ALLOW = \"1\"/" /etc/csf/csf.conf

安装程序将为你添加systemd服务文件,你可以通过运行来启动它:

sudo systemctl enable --now csf

确认服务状态,运行sudo systemctl status csf命令查看:

 CSF使用示例

1、阻止IP或子网:

sudo csf -d 192.168.0.20 

sudo csf -d 192.168.0.0/24

输出内容如下:

Adding 192.168.0.20 to csf.deny and iptables DROP…

DROP  all opt -- in !lo out *  192.168.0.20  -> 0.0.0.0/0

LOGDROPOUT  all opt -- in * out !lo  0.0.0.0/0  -> 192.168.0.20

2、从阻止列表中删除IP/子网:

$ sudo csf -dr 192.168.0.20 

Removing rule…

DROP  all opt -- in !lo out *  192.168.0.20  -> 0.0.0.0/0

LOGDROPOUT  all opt -- in * out !lo  0.0.0.0/0  -> 192.168.0.20

3、在防火墙上允许IP地址:

$ sudo csf -a  192.168.15.15

Adding 192.168.15.15 to csf.allow and iptables ACCEPT…

ACCEPT  all opt -- in !lo out *  192.168.15.15  -> 0.0.0.0/0

ACCEPT  all opt -- in * out !lo  0.0.0.0/0  -> 192.168.15.15

4、阻止某些国家/地区

编辑CC_DENY行:

# Each option is a comma separated list of CC's, e.g. "US,GB,DE"

CC_DENY = ""

CC_ALLOW = ""

5、参阅侦听连接的端口:

$ sudo csf -p

侦听外部连接的端口以及在其后面运行的可执行文件

 6、用户通过ssh登录时发送电子邮件:

LF_SSH_EMAIL_ALERT = "1"

设置警报电子邮件:

LF_ALERT_TO = "alerts@example.com"

向你自己发送有关安全检查的电子邮件:

csf -m myemail@example.com

 

配置访问CSF Web UI的方法

CSF集成了可用于配置的Web UI,在/etc/csf/csf.conf文件上启用UI:

UI = "1"

你还可以为以下项设置自定义值:

# Set this to the port that want to bind this service to

UI_PORT = "6666"

# Leave blank to bind to all IP addresses on the server

UI_IP = ""

UI_USER = "admin"

UI_PASS = "StrongAdminPassword"

然后将IP地址添加到白名单:

sudo echo "YOUR_IP_ADDRESS" >>  /etc/csf/ui/ui.allow

启动或重新启动lfd服务:

$ sudo systemctl enable --now lfd

$ systemctl status lfd

posted @ 2019-10-08 16:44  哈喽哈喽111111  阅读(1159)  评论(0编辑  收藏  举报