首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kisshere
V2EX  ›  程序员

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

  •  
  •   kisshere · 54 天前 · 1832 次点击
    这是一个创建于 54 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    1. 这是不是传说中的 ddos 攻击?
    2. CF 能不能查看请求量最多的 ip 是啥?
    3. 如果 cf 不能查恶意 ip,怎么来记录追踪恶意 ip ?
    18 回复  |  直到 2019-11-26 17:13:53 +08:00
    myqoo
        1
    myqoo   54 天前
    也有可能是搜索引擎抓图片导致的
    xiaoz
        2
    xiaoz   54 天前
    也不一定是被攻击了吧,最好还是结合网站日志进行分析,我之前有遇到被菠菜网站利用的,查看日志发现是对方上传了菠菜图片引用到他的网站,然后他的网站调用非常频繁,一天耗费上百 G 流量。
    RE
        3
    RE   54 天前 via iPhone
    CF 有转发原请求 IP 的,接入的时候文档中也有提示要适配,不然所有基于 IP 做验证的逻辑都会出问题
    mikeguan
        4
    mikeguan   54 天前 via Android
    你的 Nginx 日志里面就有原 IP
    kisshere
        5
    kisshere   54 天前
    @mikeguan 全是 CF 的 ip
    xmh51
        6
    xmh51   54 天前
    有一个请求头标识原始 ip
    opengps
        7
    opengps   54 天前 via Android
    日志里找带 forwards 的列
    sobigfish
        8
    sobigfish   54 天前
    https://support.cloudflare.com/hc/zh-cn/articles/200170786
    我的服务器日志为什么使用 Cloudflare 时会显示 Cloudflare 的 IP ?
    eason1874
        9
    eason1874   54 天前
    X-Forwarded-For 第一个 IP 就是用户 IP,后面可能还有其他 IP (比如用户自身代理)也可能没有,如果会有以英文逗号分隔
    explore365
        10
    explore365   54 天前
    $_SERVER['HTTP_CF_CONNECTING_IP'] 来源 IP
    $_SERVER['HTTP_CF_VISITOR'] 访问协议
    $_SERVER['HTTP_CF_RAY'] CF 节点
    $_SERVER['HTTP_CF_IPCOUNTRY'] 来源国家
    kisshere
        11
    kisshere   54 天前
    @explore365 是图片被恶意请求,不是 php 脚本被执行,nginx 没法看图片被请求的真实 ip,全是 CF 的 ip
    eason1874
        12
    eason1874   54 天前
    @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
        13
    lewis89   54 天前
    5s 盾
    explore365
        14
    explore365   54 天前
    @kisshere nginx 也可以啊,也是这几个 header 参数,写法不一样
    explore365
        15
    explore365   54 天前
    $http_cf_connecting_ip 来源 IP
    $http_cf_visitor 访问协议
    $http_cf_ray CF 节点
    $http_cf_ipcountry 来源国家
    nginx 变量
    godZhoujl
        16
    godZhoujl   53 天前
    还以为 CF 是 Cross Fire :satisfied:
    jasamboro
        17
    jasamboro   53 天前
    反正我套了 CF 的图床也被人找到真实 ip 投诉版权了
    netnr
        18
    netnr   53 天前
    CF 请求头里面有客户端的 IP
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4155 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 07:30 · PVG 15:30 · LAX 23:30 · JFK 02:30
    ♥ Do have faith in what you're doing.