上次七牛被 CC 后就把图片迁回 VPS 本机了,今天发现又被 CC 。随意看了一下 log ,发现还是老手法,还是熟悉的
curl
。不同之处是这次加上了百度的 referer
。估计还用了代理池,直接封 IP 有一定难度。
很不开心。一个随意的个人博客都能这么搞。世界上还是小人多啊。
直接把 curl
的 UA 封了就怕改了个 UA 卷土重来,求解决方法?
1 yov123456 2016-04-13 12:23:06 +08:00 via iPhone 用用 verynginx 的那个模块? |
2 jsonline 2016-04-13 12:23:21 +08:00 via Android ip 限制呗 一个 IP 一天 100 次 |
3 RqPS6rhmP3Nyn3Tm OP |
![]() | 4 liyvhg 2016-04-13 12:26:13 +08:00 via Android 也去 cc 竞争对手的 |
5 RqPS6rhmP3Nyn3Tm OP @liyvhg 个人博客哪来的竞争对手 |
![]() | 6 yexm0 2016-04-13 12:29:58 +08:00 via Android 别 c 别人了,万一人家 d 回来你那只有几 M 带宽的机子一定 boom 。 |
8 giuem 2016-04-13 12:32:03 +08:00 via Android 封 ua 试试 |
9 RqPS6rhmP3Nyn3Tm OP @ThreeBody 说实话,我真的不记得我得罪过谁 |
10 VmuTargh 2016-04-13 12:32:33 +08:00 Cloudflare 走起 |
![]() | 11 acrisliu 2016-04-13 12:32:46 +08:00 via Android 找三胖 360.com.sb |
12 ccc008 2016-04-13 12:32:51 +08:00 暂时换一个大带宽的,他打不动就不打了 |
![]() | 13 Zohar 2016-04-13 12:33:01 +08:00 via Android 上 CloudFlare |
![]() | 14 UnisandK 2016-04-13 12:33:05 +08:00 楼主也是多灾多难,摸摸。。 |
![]() | 15 guoer 2016-04-13 12:33:16 +08:00 提升技术的好机会啊 |
16 RqPS6rhmP3Nyn3Tm OP @giuem 封 UA 最容易,但是对方改一个也很方便。上次在七牛被搞,这次迁回本机不就又来搞我了吗 |
17 ThreeBody 2016-04-13 12:34:08 +08:00 |
18 Havee 2016-04-13 12:34:47 +08:00 记录一个时间段含有这些特征的 ip ,去重排序,然后直接 drop 写个脚本去跑,可以放计划任务里 |
19 RqPS6rhmP3Nyn3Tm OP |
![]() | 20 ioriwong 2016-04-13 12:35:27 +08:00 via Android 当你不能反抗的时候,要学会享受(手动滑稽) |
21 Havee 2016-04-13 12:35:32 +08:00 封 ip 怎么能不现实呢,这是一劳永逸的办法,对方换 ip 地址池是需要成本的 |
24 sparkle 2016-04-13 12:37:57 +08:00 阿里云 CDN 不是说可以抗攻击吗,不知道效果怎么样 |
25 RqPS6rhmP3Nyn3Tm OP |
![]() | 26 Strikeactor 2016-04-13 12:39:48 +08:00 @Havee 这样会引入更大的漏洞吧,对方拿这种 http://spys.ru/free-proxy-list/CN/ 刷一遍估计楼主的博客跟被 CC 死了也没区别了 |
![]() | 27 Slienc7 2016-04-13 12:40:04 +08:00 via Android ![]() 所有房和公代理 IP 全部直接 ban 了。 用似 Blocked.net 的西。 |
29 RqPS6rhmP3Nyn3Tm OP @Slienc7 不是很现实,还是有很多人开代理上网的吧 |
![]() | 30 fyooo 2016-04-13 12:49:53 +08:00 via Android 腾讯云和阿里云不是可以免费防 DDOS 么? |
31 aivier 2016-04-13 12:50:29 +08:00 找个流量大的反代....让他慢慢玩 |
32 RqPS6rhmP3Nyn3Tm OP @fyooo 不是阿里和腾讯的机器 |
34 RqPS6rhmP3Nyn3Tm OP @Slienc7 这是个好主意,访问超过一定数量则上 reCAPCHA ,确认后可继续访问 不知道如何用 nginx 实现? |
![]() | 35 kokutou 2016-04-13 12:56:11 +08:00 仍 reCAPTCHA +1 |
36 badcode 2016-04-13 12:57:41 +08:00 via iPhone |
![]() | 37 virusdefender 2016-04-13 13:01:11 +08:00 |
38 v1024 2016-04-13 13:03:31 +08:00 买服务商的防护方案。 |
![]() | 39 nlzy 2016-04-13 13:04:10 +08:00 via Android 看看这个? t/156177#reply51 |
40 Havee 2016-04-13 13:08:11 +08:00 @Strikeactor 又不妨碍个人访问,难不成楼主博客被墙? |
![]() | 41 Strikeactor 2016-04-13 13:15:05 +08:00 ![]() @Havee 很多临时的 HTTP 开放代理其实是有漏洞的个人设备或者肉鸡,自动总结的话会造成大面积正常 IP 段也被划进防护范围,对方有意使用国内的 IP 段集中触发防护规则的话是可以达到被墙一样的效果的 |
![]() | 42 Felldeadbird 2016-04-13 13:15:49 +08:00 好奇 /content/images/2016/03/internet-query-1459137420744.png 是什么内容。。为什么要 CC 你? |
![]() | 43 dapang1221 2016-04-13 13:16:53 +08:00 via Android 这 cc 攻击的人也是个逗比,好像一直访问的只是那个 png 图片?大不了那个图不要了,把所有访问那个图的流量 302 到百度上去 |
45 RqPS6rhmP3Nyn3Tm OP @Felldeadbird 上次 27 条的图片 |
![]() | 46 cst4you 2016-04-13 13:19:57 +08:00 这界面... Starry 家的? |
![]() | 47 GPU 2016-04-13 13:23:03 +08:00 |
![]() | 48 shiny 2016-04-13 13:25:57 +08:00 ![]() 访问页面的时候注入 cookies ,然后打开图片的时候验证 cookies |
53 Havee 2016-04-13 13:40:11 +08:00 |
![]() | 54 xuboying 2016-04-13 14:03:28 +08:00 没有动态的封 ip 的程序么? 自动计算访问量来限制? |
![]() | 56 ytmsdy 2016-04-13 14:18:05 +08:00 直接挂一个百度的 cdn 加速。效果杠杠的。。。。。 |
![]() | 57 msg7086 2016-04-13 14:25:00 +08:00 ngx_http_limit_req_module 看看能不能把 Hash 池设置成 IP+本地文件,这样可以专门针对单刷单张图片做防护,也不会影响正常访问。 |
![]() | 58 zynlnow 2016-04-13 14:31:29 +08:00 可以用 limit_req_zone 限制资源访问 http://nginx.org/en/docs/http/ngx_http_limit_req_module.html |
59 youxiachai 2016-04-13 14:33:41 +08:00 @ytmsdy 那 lz 要准备破产了.. |
![]() | 60 clino 2016-04-13 14:47:01 +08:00 fail2ban 封 IP |
61 lotuslotus 2016-04-13 14:47:47 +08:00 @dapang1221 虽然百毒名声差,但你也不能这样祸害他啊,怎么不 302 到 http://120.52.72.19/mirrors.163.com/ubuntu-releases/15.10/ubuntu-15.10-desktop-amd64.iso |
![]() | 62 CayenneS 2016-04-13 14:53:39 +08:00 http://www.360.com.sb/safe/326.html 可以借鉴, verynginx 。不过楼主知道 cc 量多少,量多估计也悬 |
63 williamnet 2016-04-13 14:55:46 +08:00 在页面源代码里注释写上:大哥我错了,饶了我吧。。。 |
![]() | 64 O21 2016-04-13 14:57:25 +08:00 我说的点实际的吧 nginx 配置 https://gist.github.com/ac7c52d9826a22c77053bdb950951975.git http{ ... limit_zone one $binary_remote_addr 10m; ... server{ listen 80; .... location/{ limit_conn one 5; #限制连接数 limit_rate 500k; # 限制速度 } } |
![]() | 65 bk201 2016-04-13 14:59:59 +08:00 我一直在想转发到广告流量上是不是很赚。 |
![]() | 66 wayslog 2016-04-13 15:04:40 +08:00 via Android 那么问题来了…楼主…哪家泡面好吃? |
![]() | 67 zhicheng 2016-04-13 15:11:58 +08:00 C 你的时候开 CF ,不 C 的时候再关掉。 |
![]() | 69 lbp0200 2016-04-13 15:21:39 +08:00 ![]() 通过 nginx 配置文件抵御攻击 http://drops.wooyun.org/tips/734 |
![]() | 70 feather12315 2016-04-13 15:22:46 +08:00 via Android @sandideas vps 61% |
![]() | 71 mcone 2016-04-13 15:32:08 +08:00 楼主怎么这么惨。。。。话说刚刚我想去看看那个图片是神马也看不到了 o(□)o 谁这么吃饱了撑的啊,感觉里面应该有故事才对。。。 |
  72 jame 2016-04-13 15:53:30 +08:00 限制同 IP 每分钟的连接数呀,正常人类不会一直刷新的。 |
![]() | 73 imWBB 2016-04-13 16:33:41 +08:00 via Android 据说上 https 之后 cc 效果会很差 |
74 youxiachai 2016-04-13 16:53:09 +08:00 @bk201 没用..这算作弊流量... |
![]() | 75 Ryans 2016-04-13 16:53:40 +08:00 用加速乐,防 CC |
76 RqPS6rhmP3Nyn3Tm OP @imWBB 我这就是 HTTPS |
![]() | 77 qcloud 2016-04-13 18:09:16 +08:00 上云锁! |
![]() | 78 usernametoolong 2016-04-13 18:32:27 +08:00 楼主给个联系方式,有个机油防 CC 得不行。 |
![]() | 79 kn007 2016-04-13 18:50:50 +08:00 是谁这么无聊。。。还好我 VPS 有 2T 流量。。。 |
![]() | 81 kn007 2016-04-13 18:52:02 +08:00 之前被人用过 B 段 CC 。。。的路过 |
![]() | 82 kn007 2016-04-13 18:58:35 +08:00 还可以用#48L shiny 的方法 |
83 datocp 2016-04-13 19:16:10 +08:00 去研究一下 iptables recent 模块吧。 iptables 防 syn_flood 之类的 -A INPUT -i venet+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn_flood iptables -S syn_flood -N syn_flood -A syn_flood -i venet0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m hashlimit --hashlimit-upto 80/sec --hashlimit-burst 450 --hashlimit-mode srcip --hashlimit-name synlimit --hashlimit-htable-expire 300000 -j RETURN -A syn_flood -m recent --set --name blacklist --rsource -j DROP 终极方法就是用 shell 对来源 ip 进行处理,然后 iptables quota 流量,每 IP 每天限制访问流量,甚至可以用 tc 进行每 ip 流量限制 -A OUTPUT -d 101.65.158.109/32 -o venet0 -m quota --quota 2076996775 -j ACCEPT -A OUTPUT -d 101.65.158.109/32 -o venet0 -m recent --set --name bquota --rdest -j REJECT --reject-with icmp-port-unreachable |
84 ixinshang 2016-04-13 20:43:15 +08:00 fail2ban 可以试试 |
![]() | 85 AlexaZhou 2016-04-13 21:23:04 +08:00 CURL 并不是完整的浏览器,对通过 CURL 发起的攻击来说,可以通过动态 Cookies 验证的方法进行屏蔽 原理参考: t/260392 然后 VeryNginx 中已经实现了一遍,直接拿着用就行了 |
86 RqPS6rhmP3Nyn3Tm OP ![]() @AlexaZhou 连 VeryNginx 的原作者都来了啊……您的 VeryNginx 下午折腾了一下装上了,后来由于文档比较少不会用只能滚回原版 Nginx 了…… |
87 RqPS6rhmP3Nyn3Tm OP @wayslog 出前一丁汤不错,就是没有料包。泡面还是国产的好吃,汤达人各方面都很好,料多汤浓。南朝鲜的泡面不合我口味。日本的也不错。 |
91 RqPS6rhmP3Nyn3Tm OP ![]() @AlexaZhou So sorry ,我把 GitHub 上的文档反复看了几遍,想要实现的是「除搜索引擎 bot 外,禁止非浏览器访问」还有「单位时间内访问过多的 IP 进黑名单禁止访问」,好像没有能配置的地方… |
![]() | 93 AlexaZhou 2016-04-13 22:55:33 +08:00 ![]() @BXIA 「除搜索引擎 bot 外,禁止非浏览器访问」这个不难,但是需要知道搜索引擎的 UA ,例如这里我们写一个正则表达式 search_engine_ua_re 来匹配所有的搜索引擎 UA ,那大概方法是: 配置一个 Mather ,包含 UA !≈ search_engine_ua_re, 然后配置一条浏览器校验规则,用这个 Matcher ,打开 cookies 校验和 Javascript 校验就可以了 有点难的地方在于需要写一个正则表达式来匹配所有的搜索引擎 UA 「单位时间内访问过多的 IP 进黑名单禁止访问」这个功能目前还没有,不过已经在开发计划中了,后续会加上 |
![]() | 94 kofip 2016-04-13 22:58:18 +08:00 数据中心 ,真人概率: 10% |
96 RqPS6rhmP3Nyn3Tm OP ![]() @AlexaZhou 非常感谢! |
99 RqPS6rhmP3Nyn3Tm OP @AlexaZhou 您好,今天尝试在原版 nginx 中使用 verynginx (因为很多要用到的 module 所以不能用 openresty )失败了。 nginx 编译进了 lua-nginx-module 、 http_stub_status_module 然后通过包管理安装 lua-cjson 。还是不行, nginx 可以正常启动没有报错,但是就是无法正常运行。请问如何解决? |
![]() | 100 Hodor 2016-04-14 10:30:07 +08:00 买我司的产品呗。。。。 虽然跟我不是一个部门,但是我感觉我们的东西好像挺牛逼的。。。 |