V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MagicCoder
V2EX  ›  程序员

快速查看飞牛云都被谁访问了

  •  
  •   MagicCoder · 23 小时 37 分钟前 · 1471 次点击

    前言

    这几天飞牛云的文件越权访问漏洞在社区讨论的水深火热,这个漏洞所带来的影响是什么?用一句话概括就是:如果你的 NAS 能在公网访问,那么任何人都可以在不知道你密码的情况下访问你的文件(照片、视频等)。

    对于一些小白用户(不会看系统日志)来说,要如何知道自己的 NAS 都被哪些人访问了,然后给出告警,便于他去封禁这些 IP 是比较困难的。

    我看了下飞牛云的日志文件格式,发现他也是用的 nginx ,我写的日志分析工具正好可以应对这个场景,只需要简单几步就能完成部署。

    快速部署

    在你的飞牛云上添加我这个 docker 服务,如下两种方式:

    1. 直接启动 docker 服务
    docker run -d --name nginxpulse \
      -p 8088:8088 \
      -v /usr/trim/nginx/logs:/share/logs:ro \
      -v ./docker_local/nginxpulse_data:/app/var/nginxpulse_data \
      -v ./docker_local/pgdata:/app/var/pgdata \
      -v ./docker_local/configs:/app/configs \
      -v /etc/localtime:/etc/localtime:ro \
      magiccoders/nginxpulse:latest
    
    1. Docker Compose 形式
    services:
      nginxpulse:
        image: magiccoders/nginxpulse:latest
        container_name: local_nginxpulse
        ports:
          - "8088:8088"
          - "8089:8089"
        volumes:
          - /usr/trim/nginx/logs:/share/logs
          - ./docker_local/nginxpulse_data:/app/var/nginxpulse_data
          - ./docker_local/pgdata:/app/var/pgdata
          - ./docker_local/configs:/app/configs
          - /etc/localtime:/etc/localtime
        restart: unless-stopped
    

    初始化配置

    做完上述配置之后,启动服务,打开浏览器访问ip:8088就能看到如下所示的配置面板了。

    image-20260125235847464

    填写好你的站点名称、日志路径等基础信息,一路下一步保存并重启后,你就能看到应用主页面了。

    image-20260202173653791

    在这里你就能一目了然的看到谁访问了你的 NAS 。

    白名单机制

    如果你的 NAS 只允许某个 IP 或者某个地域的人访问,其他异常访问系统立即推送告警,你只需要打开系统配置面板,点开高级,启用白名单访问功能,填写你允许访问的值即可,如下所示:

    目前支持三种类型:

    • 具体的 IP/IP 段
    • 具体的城市
    • 非大陆访问

    image-20260202174055795

    配置完之后,保存并重启,如果后续有命中规则的 IP 访问,你就能收到系统通知了。

    image-20260202174336302

    iShot Pro 2026-02-02 16.32.07

    项目地址

    写在最后

    至此,文章就分享完毕了。

    我是神奇的程序员,一位前端开发工程师。

    如果你对我感兴趣,请移步我的个人网站,进一步了解。

    7 条回复    2026-02-03 15:13:35 +08:00
    Chemist
        1
    Chemist  
       19 小时 5 分钟前
    一般没人改 nginx log 目录就把这些都一样的配置设置成默认值不好吗
    MagicCoder
        2
    MagicCoder  
    OP
       19 小时 4 分钟前
    @Chemist 好想法,我改进下,默认路径给个值
    fengci
        3
    fengci  
       9 小时 4 分钟前
    你要加个轻量的 WAF 就能做成项目卖了。
    MagicCoder
        4
    MagicCoder  
    OP
       8 小时 21 分钟前
    @fengci 🤣 waf 有开源的吗?我还没研究过这领域,我现在是直接部署的雷池
    montaro2017
        5
    montaro2017  
       4 小时 14 分钟前
    请求失败
    保存配置失败: open ./configs/nginxpulse_config.json.tmp: permission denied

    进容器的 ssh 试了一下,用 cat 可以读取到的
    fengci
        6
    fengci  
       4 小时 6 分钟前
    @MagicCoder #4 CorazaWAF
    montaro2017
        7
    montaro2017  
       4 小时 3 分钟前
    @montaro2017 #5 好了 自己手动改一下权限
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2655 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:16 · PVG 19:16 · LAX 03:16 · JFK 06:16
    ♥ Do have faith in what you're doing.