美文网首页365日更挑战
日更第17日: (翻)nginx加固之防御缓冲区溢出攻击

日更第17日: (翻)nginx加固之防御缓冲区溢出攻击

作者: 微凉哇 | 来源:发表于2021-10-29 09:44 被阅读0次

    防御缓冲区溢出攻击

    Control Buffer Overflow attacks

    缓冲区溢出攻击是通过将数据写入缓冲区并超过缓冲区的边界并覆盖进程的内存片段来实现的。
    为了防止在nginx中出现这种情况,我们可以为所有客户端设置缓冲区大小限制。

    如果nginx使用了整个服务器内存,那么大量的POST请求可以有效地导致DoS攻击。
    允许将大文件上传到服务器可以使攻击者更容易利用系统资源并成功执行拒绝服务。

    相应的值取决于服务器内存以及通信量。很久以前我发现了一个有趣的公式:

    MAX_MEMORY = client_body_buffer_size x CONCURRENT_TRAFFIC - OS_RAM - FS_CACHE
    

    在我看来,使用较小的client_body_buffer_size(略大于10k,但不是那么多)肯定更好,
    因为更大的缓冲区可以减轻DoS攻击向量,因为您将为它分配更多的内存。

    提示: 如果请求体大于client_body_buffer_size,它将被写入磁盘,在内存中不可用,因此没有$request_body
    此外,将client_body_buffer_size设置过高可能会影响日志文件的大小(如果您记录$request_body)。

    配置样例

    client_body_buffer_size 128k;      # default: 8k (32-bit) | 16k (64-bit)
    client_header_buffer_size 512k;     # default: 1k
    client_max_body_size 10m;        # default: 1m
    large_client_header_buffers 4 512k; # default: 4 8k
    

    相关文章

      网友评论

        本文标题:日更第17日: (翻)nginx加固之防御缓冲区溢出攻击

        本文链接:https://www.haomeiwen.com/subject/svutaltx.html