Привет, я делал в свое время защиту через nginx + Lua модуль, но это более сложный вариант реализации модуля
testcookie без постоянного включения (только при атаке) и с эвристическими проверками.
Кстати, большинство ДДоС защитников за большие деньги примерно тоже самое и делают собственно.
Также посоветую использовать ipset для более скоростной блокировки ботов через одно правило.