Как работает CT_LIMIT (настройка брандмауэра csf)?

Мне было интересно, считает ли брандмауэр csf соединения за последние CT_INTERVAL секунды, а затем сравнивает их со значением CT_LIMIT, или он просто считает текущие (на данный момент) соединения, а затем сравнивает их с CT_LIMIT?

Потому что, если последнее, злоумышленник может легко угадать CT_INTERVAL, а затем затопить ваш сервер на CT_INTERVAL-1 секунд, и не отправлять какие-либо соединения прямо тогда, когда брандмауэр проверяет соединения. На самом деле, я считаю, что это случилось с нами недавно, и нам пришлось вручную заблокировать нарушающий IP.

Заранее спасибо!

0
задан 8 December 2015 в 20:57
1 ответ

Поскольку никто не ответил, я скачал исходный код csf-сервера и проверил, как используется параметр CT_LIMIT. Очевидно, что информация о соединениях читается из /proc/net/tcp|udp|etc..., которая содержит только текущие соединения с сервером.

Похоже, что злоумышленник может легко обойти защиту DOS брандмауэра cfs, сделав паузу во время проверки брандмауэром текущих активных соединений.

В качестве временного обходного пути можно установить значение CT_INTERVAL на 10 секунд (это минимальное значение), что заставит брандмауэр проверять текущие соединения каждые 10 секунд. Это затруднит угадывание атакующим точного времени паузы в атаке.

0
ответ дан 5 December 2019 в 11:19

Теги

Похожие вопросы