Всё зависит от типа атаки. Если это простая SYN-атака, поможет SYN-прокси. Если же они совершают валидные транзакции (например, постоянно скачивают файл с веб-сервера), то либо придётся масштабировать серверы, либо использовать какое-нибудь решение для высокопроизводительного кэширования. Большинство, если не все, формы Distributed Denial of Service практически невозможно защитить. Эти виды DoS перегружают файрволы, маршрутизаторы и пропускную способность. Так что, если у вас нет неограниченных ресурсов, это сложно исправить. Что можно сделать, чтобы попытаться снизить мощность таких атак, — это убедиться, что сеть не используется против вас. То есть, атаки запускают циклы или маршрутизаторы выполняют работу расширенного файрвола. Больше, чем это, я не знаю. Это часть OpenBSD’s PF, и я не знаю другого продукта, который предлагает то же самое. PF просто отличная штука. Она портит весь имидж большинства файрвольных решений. Если они не предлагают аппаратное ускорение файрвола, я предпочту опенсорсные. Особенно PF для продвинутых задач. Только по рекламе, конечно. По рекламе даже $100 D-Link может защитить от этого! Да, у них есть какие-то классные фишки, но большинство этих файрволов сильно недопроизводительные или чрезмерно сложные (ИМХО). Если вы берёте такое решение, убедитесь, что вы полностью понимаете последствия и требования для продвинутых функций. Часто для включения продвинутых функций требуется немного больше, чем просто переключатель. Часто требуется большая проницательность в плане дизайна файрвола/набора правил и сети вокруг него, чтобы использовать эти классные фишки. Я все равно предпочитаю PF за его скорость в stateful фильтрации и за гибкость, которая часто даёт возможность запускать дампы пакетов и подобное прямо на файрволе (Net/Free/OpenBSD) при отладке. Но у PF довольно крутая кривая обучения! Погуглите немного, возможно, есть какие-то улучшения в файрволах, которые я ещё не видел.