Вы не упоминали свою операционную систему. Linux имеет netfilter/iptables, Сетевой/открытый/FreeBSD имеет pf, Windows Server 2008 R2 имеет Windows Firewall с Повышенной безопасностью, которая легко смогла бы отфильтровать трафик на основе исходных IP-адресов. Нет ничего, что сможет (надежно) отфильтровать на основе географического положения, все же.
Но в зависимости от типа DoS-атаки (Вы, оказывается, опускаете любые детали здесь также), блокируя трафик на уровне сетевого стека O/S не поможет Вам. Если бы DoS насыщает Вашу пропускную способность, необходимо было бы говорить восходящим ISP и попросить у них фильтрации.
Существуют geoip модули и для iptables и для Apache, который позволит Вам помещать в черный список все страны. Отображения подсети не на 100% точны, но они "довольно хороши".
После этих слов если Вы на самом деле получите DoS'd (как в том, что Ваша ссылка была насыщаемой), то брандмауэринг не будет достаточно; Ваши серверы все еще оказываются перед необходимостью пережевывать те пакеты, чтобы выяснить, должны ли они быть заблокированы. Необходимо будет получить восходящий поток к nullroute или серверы или взломщики - и если он высоко распределяется, ну, в общем, это - действительно просто вопрос того, насколько быстро реагирующий и совместный поставщик.
Крупномасштабная устойчивая DDOS-атака обычно включает атаку на ваши серверы имен. Это предотвращает доступ широкой публики к вашему сайту через доменное имя. Поскольку DDOS-атака может остановить Yahoo более чем на 24 часа. Вы не сможете предотвратить DDOS-атаку, просто заблокировав список IP-адресов в программном / аппаратном брандмауэре.
Возможно, вы захотите изучить некоторые службы очистки DDos. По сути, эти службы возьмут на себя весь получаемый вами трафик, вычистят «плохих парней» и отправят вам чистые данные. Имейте в виду, что в зависимости от размера атаки это может оказаться довольно дорогим. Брандмауэр на вашем сервере не сильно поможет, потому что он уже достался вам. Вам нужно отбросить трафик подальше от вас, и это может стать сложным.
Некоторые поставщики:
В этом вопросе о сбоях сервера есть несколько хороших общих советов по смягчению DDoS-атак - вы можете попробовать множество вещей, но, как уже упоминалось, серьезное DDoS-нападение требует помощи вашего интернет-провайдера.
Это поможет узнать, какой веб-сервер вы используете в Windows и Linux - предположительно IIS и Apache.
Несколько вариантов в порядке убывания полезности:
См. этот вопрос о блокировке GeoIP , а также теги ddos и geoip (также добавлено к вашему вопросу.)
Служба защиты от DDoS-атак (также известная как служба «чистых каналов» ) может быть лучшим вариантом для серьезных DDoS-атак: они передают ваш трафик и фильтруют DDoS-атаки, оставляя вам только действительный трафик сайта, в зависимости от того, насколько хорошо они фильтруются. У них огромные трубы, и они сосредоточены на этой проблеме, поэтому, вероятно, они сработают лучше, чем собственное решение. и многое зависит от наличия достаточно большой трубы для поглощения DDoS-атак, чтобы их оборудование / программное обеспечение могло их фильтровать. BlockDOS.net - это услуга по разумной цене, Prolexic и Verisign более топовые и гораздо более дорогие.
Если это слишком дорого, может помочь повторный хостинг на Amazon EC2, который может маршрутизировать весь трафик через конкретный экземпляр EC2 (например, VPS) - существует определенный AMI (образ VPS) , который предназначен для взаимодействия с вашими веб-серверами, которые будут находиться на отдельных экземплярах EC2. Amazon EC2 также позволяет запускать новые экземпляры серверов для обработки возросшей нагрузки. С вас все равно может взиматься плата за трафик DDoS (возможно, больше, чем за услугу смягчения), и вы будете платить за дополнительные серверы, поэтому это требует некоторого расследования.