Menu Close

29.7. 限制用户会话和内存以防止 DoS 攻击

证书验证通过分离和隔离 cockpit-ws Web 服务器实例,以防范想要模拟其他用户的攻击者。但是,这会产生潜在的 Service(DoS)攻击:远程攻击者可以创建大量证书,并将大量 HTTPS 请求发送到 cockpit-ws 各自使用不同的证书。

为防止这一 DoS,这些 Web 服务器实例的收集资源受到限制。默认情况下,对连接数量和内存用量限制为 200 个线程,且具有 75%(软)/ 90%(硬)内存限值。

以下流程描述了通过限制连接和内存量的资源保护。

流程

  1. 在终端中,打开 system-cockpithttps.slice 配置文件:

    # systemctl edit system-cockpithttps.slice
  2. TasksMax 限制为 100,将 CPUQuota 限制为 30%

    [Slice]
    # change existing value
    TasksMax=100
    # add new restriction
    CPUQuota=30%
  3. 要应用这些更改,请重启系统:

    # systemctl daemon-reload
    # systemctl stop cockpit

现在,新的内存和用户会话限制了 cockpit-ws Web 服务器不受 DoS 攻击。