Читал про базовые лимиты на nginx и cloudflare — реально помогает, хоть и простое решение. Локальный fail2ban тоже удобен, главное не забанить себя же случайно. Пока что хватало таких мер на маленьком проекте, особо заморачиваться с железом не пришлось. Главное — не сидеть сложа руки и следить за трафиком.