在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
在Linux上安装和配置CSF(配置服务器安全和防火墙)的更多相关文章
- Linux上安装jdk1.8和配置环境变量
前言 Linux 上安装jdk1.8 和配置环境变量,参考相关文档,本人在此总结,操作归纳如下. 第一步:创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容 ...
- 【BI学习笔记】在Linux上安装Wyn Enterprise商业智能报表服务器
在百度文库上找来的,放到这里,避免以后丢了. 葡萄城出品的Wyn Enterprise商业智能软件的设计器和查看视图是通过浏览器使用的,不需要安装专门的程序.Wyn Enterprise的服务器端可以 ...
- Linux上安装MySQL及其基础配置
本文主要介绍Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | gr ...
- Linux上安装JDK环境变量配置
http://blog.chinaunix.net/uid-12115233-id-3304951.html Jdk: jdk-6u1-linux-i586 Tomcat: apache-tomcat ...
- linux上安装配置samba服务器
linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...
- redis3.0.5在linux上安装与配置
redis3.0.5在linux上安装与配置 rhel6/ubuntu14 1 下载 # wget http://download.redis.io/releases/redis-3.0.5.tar. ...
- Linux上安装配置Keepalived
Linux上安装配置Keepalived 1.下载 自行去Keepalived官网进行下载,也可以通过如下链接进行下载2.0.18版本(目前的稳定版) 链接:https://pan.baidu.com ...
- IDM主机上安装融合应用程序配置框架
IDM主机上安装融合应用程序配置框架 安装Oracle融合应用程序>设置>身份和访问管理节点安装融合应用程序配置框架 由于我们使用Oracle VirtualBox虚拟机这一次,我们在 ...
- Linux上进行常用软件的配置
当拿到一个新的linux服务器的时候一般要经过以下5个配置 修改HOSTANME vi /etc/sysconfig/network 修改HOSTNAME和IP的映射 ...
- Linux下安装php环境并且配置Nginx支持php-fpm模块[www]
Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --- ...
随机推荐
- [BJOI2019]奥术神杖——AC自动机+DP+分数规划+二分答案
题目链接: [BJOI2019]奥术神杖 答案是$ans=\sqrt[c]{\prod_{i=1}^{c}v_{i}}=(\prod_{i=1}^{c}v_{i})^{\frac{1}{c}}$. 这 ...
- Java 类加载
类的生命周期 类的生命周期是从class文件到类加载 开始.类卸载结束. https://gitbook.cn/books/5cb844a55f75cc777e4c2320/index.html
- Maven的几种新建项目方式
1. 使用原型创建Maven的java工程 (1) 选择 JDK 的版本,勾选“使用原型创建”,选中 maven-archetype-quickstart,下一步. (2) 填写公司名,填写项目名,修 ...
- kotlin 代码格式
与java 不同,代码顺序影响编译过程. { var a:Int = 1; init(){ a++; } //var a:Int = 1; 写在 init 之后不可用. }
- SQL-W3School-高级:SQL AUTO INCREMENT 字段
ylbtech-SQL-W3School-高级:SQL AUTO INCREMENT 字段 1.返回顶部 1. Auto-increment 会在新记录插入表中时生成一个唯一的数字. AUTO INC ...
- mysql 调优 (转)
原文:https://mp.weixin.qq.com/s__biz=MzI4NTA1MDEwNg==&mid=2650763421&idx=1&sn=2515421f09c1 ...
- 自定义msi安装包的执行过程
有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义msi安装包的执行过程. 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示这三个产品 ...
- oracle相关知识点
oracle数据库,实例名和数据库是一一对应的,oracle服务端可以启动多个实例,对应于多个数据库. 数据库可以通过sqlplus / as sysdba 进入默认SID的实例, 查看当前的实例名: ...
- React开发环境配置
本文以上一篇文章继续配置:npm安装及环境配置<https://www.cnblogs.com/hzb462606/p/11565275.html> 使用 create-react-app ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_08-freemarker基础-空值处理
把stus注释掉 正常访问就会报错 第20行 这里的stus为空,所以造成了这个错误. 非空判断 不为空用双问号来判断 <#if stus??><#list stus as stu& ...