V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
Wizards
V2EX  ›  云计算

如何让 Web 服务器少消化一些垃圾数据?

  •  1
     
  •   Wizards · 2020-09-05 22:57:58 +08:00 · 3238 次点击
    这是一个创建于 1538 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 netcat 执行了如下一行命令:向某个弹幕网站的服务器端口写空字符。

    dd if=/dev/zero bs=10MB count=1 | nc -n -N 120.92.174.135 80
    

    大厂服务器可能是速战速决,直接返回了 EOF,没有标准 HTTP 响应。

    对于我自己的服务器,执行相同的指令。Nginx 傻傻地接受了 10MB 的数据,然后返回了 HTTP/1.1 400 Bad Request 。

    请问如何让服务器变聪明?

    11 条回复    2020-09-07 23:08:02 +08:00
    singerll
        1
    singerll  
       2020-09-05 23:09:40 +08:00 via Android
    waf
    Wizards
        2
    Wizards  
    OP
       2020-09-05 23:27:36 +08:00
    @singerll 个人闹着玩用商业 WAF 还是奢侈了一点。

    刚刚改试了 tengine,就比 nginx 机智那么一点,好奇 nginx 能不能通过打开某个开关实现防御
    opengps
        3
    opengps  
       2020-09-05 23:30:42 +08:00 via Android
    个人的话,有点为难,毕竟在企业应用领域,高防 ip,waf,甚至某些 cdn 都具备这种清洗能力
    chendy
        4
    chendy  
       2020-09-05 23:54:54 +08:00
    设置 client_max_body_size ?
    opengps
        5
    opengps  
       2020-09-05 23:59:40 +08:00 via Android
    @chendy 不合适的,有些网页的回传数据就几个 M,设置成 10M 有可能阻挡了正常业务
    saytesnake
        6
    saytesnake  
       2020-09-06 01:31:28 +08:00
    @Wizards 一楼的意思应该是 ModSecurity 、Naxsi 或者自己戳 Lua 。
    kangsheng9527
        7
    kangsheng9527  
       2020-09-06 11:09:34 +08:00
    感谢楼主给了大家一个新的攻击思路。。。代表所有攻击手给楼主一个赞!
    PolarBears
        8
    PolarBears  
       2020-09-06 17:27:10 +08:00
    如果有意想要占服务端下行流量直接可以构造正常的请求,这个问题好像不做特别处理也没什么问题吧?
    learningman
        9
    learningman  
       2020-09-06 19:47:52 +08:00
    我试了一下你的命令,直接返回了 414 啊,,,
    zjsxwc
        10
    zjsxwc  
       2020-09-07 08:45:17 +08:00
    没有吧,

    我看到 nginx 返回的 400html 文本里面是
    `Content-Length: 166`
    166 个字符而已,并没有 10M 。

    http 协议里面客户端请求也是有格式要求的,不符合要求的会被 nginx 直接关掉网络连接。
    monter
        11
    monter  
       2020-09-07 23:08:02 +08:00
    这个是个有趣的问题,你需要的是 ngx_http_core_module 中的 lingering_close off;
    nginx 配置繁杂,非专业人士难以捉摸
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2707 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:47 · PVG 22:47 · LAX 06:47 · JFK 09:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.