30.6. Ограничение пользовательских сессий и памяти для предотвращения DoS-атак

Аутентификация сертификата защищена путем разделения и изоляции экземпляров веб-сервера cockpit-ws от злоумышленников, которые хотят выдать себя за другого пользователя. Однако, это вводит потенциальную атаку типа "отказ в обслуживании" (Denial of Service - DoS): Удаленный злоумышленник может создать большое количество сертификатов и отправить большое количество HTTPS запросов на cockpit-ws, каждый из которых использует свой сертификат.

Чтобы предотвратить это DoS, коллективные ресурсы этих экземпляров веб-серверов ограничены. По умолчанию, ограничения на количество соединений и использование памяти установлены на 200 потоков и 75% (мягкий) / 90% (жесткий) лимит памяти.

Следующая процедура описывает защиту ресурсов путем ограничения количества соединений и памяти.

Процедура

  1. В терминале откройте файл конфигурации system-cockpithttps.slice:

    # systemctl редактирование системы-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 от DoS-атак.