套了 CF 的图片站被恶意攻击,怎样查找原始恶意 ip?

2019-11-26 10:32:31 +08:00
 kisshere

做了一个图片站玩玩练练手,也没想过怎样推广所以平时也没任何流量,昨天偶然发现流量飙升到峰值,nginx 连接数很大,硬盘 io 一直居高不下,因为我的应用程序、MySQL 以及图片都存在同一台垃圾服务器上的,所以 io 占用高导致连网站都打不开了,由于套了 CF,所以不知道恶意请求的 ip 来自于哪,那么问题来了:

  1. 这是不是传说中的 ddos 攻击?
  2. CF 能不能查看请求量最多的 ip 是啥?
  3. 如果 cf 不能查恶意 ip,怎么来记录追踪恶意 ip ?
3584 次点击
所在节点    程序员
18 条回复
myqoo
2019-11-26 11:09:52 +08:00
也有可能是搜索引擎抓图片导致的
xiaoz
2019-11-26 11:40:25 +08:00
也不一定是被攻击了吧,最好还是结合网站日志进行分析,我之前有遇到被菠菜网站利用的,查看日志发现是对方上传了菠菜图片引用到他的网站,然后他的网站调用非常频繁,一天耗费上百 G 流量。
RE
2019-11-26 11:48:44 +08:00
CF 有转发原请求 IP 的,接入的时候文档中也有提示要适配,不然所有基于 IP 做验证的逻辑都会出问题
mikeguan
2019-11-26 11:58:46 +08:00
你的 Nginx 日志里面就有原 IP
kisshere
2019-11-26 12:13:24 +08:00
@mikeguan 全是 CF 的 ip
xmh51
2019-11-26 12:16:49 +08:00
有一个请求头标识原始 ip
opengps
2019-11-26 12:29:26 +08:00
日志里找带 forwards 的列
sobigfish
2019-11-26 12:35:42 +08:00
https://support.cloudflare.com/hc/zh-cn/articles/200170786
我的服务器日志为什么使用 Cloudflare 时会显示 Cloudflare 的 IP ?
eason1874
2019-11-26 14:18:22 +08:00
X-Forwarded-For 第一个 IP 就是用户 IP,后面可能还有其他 IP (比如用户自身代理)也可能没有,如果会有以英文逗号分隔
explore365
2019-11-26 14:32:35 +08:00
$_SERVER['HTTP_CF_CONNECTING_IP'] 来源 IP
$_SERVER['HTTP_CF_VISITOR'] 访问协议
$_SERVER['HTTP_CF_RAY'] CF 节点
$_SERVER['HTTP_CF_IPCOUNTRY'] 来源国家
kisshere
2019-11-26 14:40:20 +08:00
@explore365 是图片被恶意请求,不是 php 脚本被执行,nginx 没法看图片被请求的真实 ip,全是 CF 的 ip
eason1874
2019-11-26 14:56:39 +08:00
@kisshere #11 Nginx 默认的日志字段里的 $http_x_forwarded_for 就是我前面说的 X-Forwarded-For,这个记录的第一个 IP 就是用户 IP,你可以用来排查旧日志。

因为 X-Forwarded-For 可能会叠加用户 IP、代理 IP 和用户自定义的值,CF 建议用他们自定义字段 CF-Connecting-IP,具体写到 Nginx 日志格式就是这样 $http_cf_connecting_ip
lewis89
2019-11-26 14:57:27 +08:00
5s 盾
explore365
2019-11-26 14:59:07 +08:00
@kisshere nginx 也可以啊,也是这几个 header 参数,写法不一样
explore365
2019-11-26 15:03:08 +08:00
$http_cf_connecting_ip 来源 IP
$http_cf_visitor 访问协议
$http_cf_ray CF 节点
$http_cf_ipcountry 来源国家
nginx 变量
godZhoujl
2019-11-26 16:50:32 +08:00
还以为 CF 是 Cross Fire :satisfied:
jasamboro
2019-11-26 17:06:14 +08:00
反正我套了 CF 的图床也被人找到真实 ip 投诉版权了
netnr
2019-11-26 17:13:53 +08:00
CF 请求头里面有客户端的 IP

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/623162

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX