前几天在阿里云官网看到 618 活动,我这破网站还在用4年前的学生机,一年只要 60 元,但已经把续费 1 折的次数用完了,下次续费就要恢复原价了(懂了我这就去考研再白嫖)。下次续费等到明年,所以主机我就不买了等明年 618,而且备案接入点都在阿里云了,转出其他地方也是麻烦。
来都来了就手总不能空着走,就这样我就被马爸爸陷入消费主义陷阱,WAF?不需要吧!云数据库?白嫖公司的云数据库不香吗?就买了个 CDN 节点试试,之前也用过其他友商的 CDN,就那个又拍云,现在就文章的图片全存在对象存储;但他的 CDN 有点不敢恭维,节点太少了,在广东区域还用江苏电信的 IP,加速不成反而降速。我看阿里云的这次的价格还是可以接受的,实际使用还是挺不错的,至少节点都能就近选择。
但有一点要注意的是,要开通两个域名,一个是根域名,另一个是泛域名,泛域名不能直接解析根域名,会报错 403 且看响应头信息,会说域名不存在,所以如果要用泛域名加速的话一定要另外加上根域名。
当然,上面都不是重点,由于设置 CDN 我要回源,回源选项我没选 IP 回源而是使用带 A 记录的二级域名,因为我设置 IP 回源就会提示协议不支持,换成域名回源就没问题了就很奇怪。后来我就放着不管了能用就行。
过了两天,我很久没看网站的百度统计就看一眼大家在看什么奇怪的内容,一登录首页吓死我怎么今天和昨天的 PV 数超过 200 多了?!总不可能是 SW 突然有问题群友们都在看我的排障文吧?(毕竟网站最多的流量就是这排障文了,尽管很久没更新了)
看了实时访客,一看就知道为什么 PV 那么高,有三组 IP 在访问我的 CDN 源站域名,而且内容随便翻的。查看特征都是 800x600 的采集机器人,IP 都是河南电信那边的 IDC 的 IP,伪装 UA 也没用的,看特征一定是做爬虫的。怎么就能第一时间找到我的源站域名呢,搜索引擎也没那么快收录了呀?那这样下去总不行,如果不是采集的话万一是做渗透呢?还是出于担心我就决定干掉这些 IP 算了。
我用宝塔面板搭建的网站,网站的防火墙还要收钱,WAF什么的我不需要我只要能限制 IP 就行了,百度一下其实只要在网站的 deny x.x.x.x
就可以了,当然我觉得还是用一个配置文件专门管封 IP 就行了。
在 /www/server/nginx/conf
创建一个 conf 文件,我就创建文件为 block_ip.conf
加上这些内容,把主要做采集的 IP 全干掉,直接用 /24
封掉整个段。
# 拒绝访问IP
deny 111.7.100.0/24;
deny 171.13.14.0/24;
deny 36.99.136.0/24;
然后在网站的 vhost.conf
加上 include block_ip.conf
,重载下 nginx 就生效了。测试就不演示了,可以加上自家的 IP 看看会不会 403 报错。
封阻后,这些 IP 也访问不了我的源站域名了,我的网站统计恢复正常的没啥人访问的日常。
当然,这也是治标不治本,现在又没有根据屏幕分辨率屏蔽访问的网站,打持久战也多少精力,可能后期看看要不搭建 ModSecurity 避免被渗透的可能,或者有闲钱直接用外部的 WAF。
发表评论