中小站点防止被wget仿站以及防御轻量CC的方法

中小站点防止被wget仿站以及防御轻量CC的方法

通过Nginx禁止wget/curl UA访问

User Agent是什么

用户代理(User Agent,简称 UA),是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

如何禁止特定UA(wget/curl)

图片[1]~中小站点防止被wget仿站以及防御轻量CC的方法~星空小站

编辑网站Nginx配置文件nginx.conf或者abc.com.conf,在server{ }内加入以下代码

 #防止wget/curl
 if ($http_user_agent ~* (wget|curl) ) {
    return 403;
 }

CCKiller

CCKiller介绍

CCKiller 是无法防御 DDoS 大流量攻击的,因为所有机房的防御带宽是有限的,当攻击的流量超过了机房的防御带宽,要么机房把你的服务器 IP 拉黑洞,要么就一起死。因此,如果你的服务器正遭受大流量攻击,比如几十G上百G,一般机房或CDN节点都是扛不住的,脚本也无能为力了,赶紧换高防服务器吧!

CCKiller 的定位是用于个人低配服务器的轻量级 CC 攻击防御,可以抵挡单个 IP 产生的高并发攻击。

目前设计的功能特性如下:

①秒级检查
很多人写的防御脚本都是使用了Linux系统的计划任务crontab来定时检查的。而crontab的最细颗粒是1分钟,也就是说脚本最快也只能1分钟检查一次。对于一些强迫症来说就会很不爽。

所以,我还是按照以前分享的思路,利用while循环实现秒级检查,实现更细的颗粒。当然,CCKiller更是被我写成了系统服务,更加灵活稳定。

②拉黑时长
CCKiller可以设置拉黑时长,默认为10分钟。当发现有恶意请求时,会自动拉黑目标IP,并在拉黑时长结束后自动释放,这个功能算是对我之前写的脚本的一个大的改进。

③并发阈值
CCKiller 可以设定单个IP的最高请求数,如果某个IP同时请求数超过了设定的阈值,就会被暂时拉黑一段时间。

④邮件发送
这个功能没啥好说的,意义并不大。而且发送成功率和服务器的环境也有很大关系。

⑤并发显示
安装后,直接运行cckiller会列出当前系统的请求排行,可以清晰的看到当前请求IP和并发数。使用-s参数还可以继续定制需求,比如 cckiller -s 10 就能显示当前并发数排行前10名的IP。

⑥手动拉黑
支持手动拉黑,执行后会立即检查,将并发请求超过n的IP拉黑一段时间,比如 cckiller -k 100 就会将目前超过100个请求的IP拉黑一段时间,如果没有则不会执行任何拉黑操作。

安装脚本

SSH连接Linux后执行以下指令

curl -ko install.sh https://zhang.ge/wp-content/uploads/files/cckiller/install.sh?ver=1.0.8 && sh install.sh -i

如果选择使用默认配置(y),默认配置信息为:

The Time in­ter­val : 20 s #每 20s 检查一次系统请求情况
The For­bid­den Time: 600 s #拉黑时长设为 10 分钟
Ad­min­stra­tor Email: root@lo­cal­host #邮件对象设置为 root@lo­cal­host(即关闭邮件发送)
Con­nec­tions Al­low: 100 #单个 IP 并发限制为 100

也可以在安装完毕后,使用 nano 编辑器修改 /usr/local/cckiller/cf.conf 文件。

##### Paths of the script and other files
PROGDIR="/usr/local/cckiller"
PROG="/usr/local/cckiller/cckiller"
LOGDIR="/usr/local/cckiller/log"
IGNORE_IP_LIST="/usr/local/cckiller/ignore.ip.list"
IPT="/sbin/iptables"
DKName=CCkiller
DKVer=1.0.5
##### SLEEP_TIME设定检查频率,单位为秒
SLEEP_TIME=10
##### NO_OF_CONNECTIONS设定并发限制
NO_OF_CONNECTIONS=60
##### EMAIL_TO设定邮件的发送对象(请改为自己的邮箱地址)
EMAIL_TO="[email protected]"
##### BAN_PERIOD设定拉黑时长,单位为秒
BAN_PERIOD=300
##### 设置忽略端口,比如 21,2121,8000 (默认不忽略)
IGNORE_PORT=

##### 定义日志级别 INFO,DEBUG,WARNING,OFF (默认 INFO)
LOG_LEVEL=INFO

如果不熟悉也没关系。你还可以执行 ./install.sh -c 进行工具初始化,重新设定所有参数,过程和首次安装时一致,这里就不赘述了。

服务控制

安装后,会将 cckiller 注册成系统服务,这时你就可以使用 ser­vice 来控制 cckiller 了。

# 重启服务
service cckiller restart
# 启动服务
service cckiller start
# 停止服务
service cckiller stop
# 查看状态
service cckiller status

使用说明

直接执行./install.sh 将会显示如下帮助信息(请注意大小写)

Usage: configure.sh [OPTIONS]

OPTIONS:
-h | --help : Show help of CCkiller(显示帮助)
-u | --update : update Check for CCkiller (更新)
-c | --config : Edit The configure of CCkiller again(初始化配置)
-i | --install : install CCkiller version 1.0.0 to This System(安装)
-U | --uninstall : Uninstall cckiller from This System (卸载)

其它功能

  • 支持白名单为 IP 段,格式为 IP 段通用格式,比如 192.168.1.0/24;
  • 集成手动拉黑 IP 和解封 IP 功能,使用 cckiller -b IP 拉黑,使用 cckiller -u IP 解封。
  • 支持日志记录,每天一个日志文件,位于安装目录下的 log 文件内;

注意此脚本并没有加入 service iptables save 的保存命令 所以当你重启系统或者重启 ipt­a­bles,这些拉黑的 IP 都将得到释放。当然,如果你真的想永久拉黑,请手动执行 service iptables save 即可。


CC攻击

CC攻击简介

随着网络技术的迅猛发展和普及,网络已改变每一个人的生活和工作方式,网络安全问题也越来越严重。近几年,网络入侵的频率不断增加,危害性日趋严重,其中分布式拒绝服务攻击(DDoS)的危害最大,DDoS攻击能在短时间内使得被攻击的网络主机彻底丧失正常服务的能力。

CC攻击(ChallengeCoHapsar,挑战黑洞)是DDoS攻击的一种常见类型,攻击者控制某些主机不停地发送大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。 CC攻击主要针对WEB服务器发送大量并发请求,重点针对应用程序中比较消耗资源的功能,占用大量系统资源。CC攻击的攻击技术含量和成本很低, 只要有上百个IP,每个IP弄几个进程,就可以有上千个并发请求,很容易让被攻击目标服务器资源耗尽,从而造成网站宕机。

常见方式

CC攻击常见攻击方式有3种:单主机虚拟多IP地址攻击、代理服务器攻击、僵尸网络攻击。

单主机虚拟多IP地址攻击:攻击者利用一台主机虚构出多个IP地址向目标服务器指定页面发送大量请求,当服务器来不及处理这些访问请求时,将导致该页面不能响应,正常的访问也将被拒绝。

代理服务器攻击:攻击者通过攻击主机发送访问请求给代理服务器。然后攻击主机可以立刻断开与代理服务器的连接,并马上发送下一次的访问请求,由于代理服务器接受访问请求指令后一定会对应用服务器的指定页面资源进行访问。所以攻击主机不必像直接访问应用服务器那样维持访问的连接,因此采用这种方攻击效率将会大大提高。

僵尸网络攻击:攻击者通过僵尸网络向服务器发起大量请求,受害主机收到的请求来自大量分散的地址,没有任何攻击者的IP地址信息, 这一攻击方法高度模拟了众多用户正常访问应用服务器的过程,因此具有很强的隐蔽性。

防御方法

CC攻击可以模拟正常用户和采用真实IP地址进行访问,因此隐蔽性较强。CC攻击常用的有效的防御方法如下:

1.选择可靠的高防服务器,提升服务器硬件和网络带宽资源:高性能服务器硬件能力和充足的网络带宽资源可以提升系统对CC攻击的承载能力

2.网站页面静态化: 网站页面静态化可以较大程度的减少系统资源消耗,从而达到提高抗系统抗攻击能力;

3.IP屏蔽限制:辨别攻击者的源IP,针对CC攻击的源IP,可以在IIS中设置屏蔽该IP,限制其访问,达到防范IIS攻击的目的;

4.部署高防CDN:接入高防CDN,隐藏服务器源IP,自动识别攻击流量,清洗后将正常访客流量回源到源服务器IP上,保障业务安全;

5.关闭不需要的端口和服务。

赞助商广告:
© 版权声明
THE END
点赞9 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像小熊0