Блокировать все коммуникации из списка IP-адресов
Существует ли какой-либо брандмауэр (желательно какой-нибудь бесплатный:)), который может блокировать все коммуникации со всех IP-адресов, кроме некоторых IP-адресов, поступающих из определенного места
Я в основном хочу заблокировать DDOS-атаку на моих серверах, когда ее получают с некоторых IP-адресов за пределами моей страны.
РЕДАКТИРОВАТЬ: я использую 1 машина окна и 1 машина Linux
РЕДАКТИРОВАТЬ 2: Я слышал о какой-то организации, работающей в Индии, которая помогает нам в этом, поэтому я думаю, что это возможно. Они фильтруют только IP-адреса, поступающие только из региона Индии, и блокируют остальные.
5 ответов
Вы не упомянули свою операционную систему. В Linux есть netfilter / iptables, в Net/Open/FreeBSD есть pf, в Windows Server 2008 R2 установлен брандмауэр Windows с расширенной безопасностью, который может легко фильтровать трафик по IP-адресам источника. Однако нет ничего, что могло бы (надежно) фильтровать по географическому положению.
Но в зависимости от типа атаки DoS (здесь вы также опускаете какие-либо подробности), блокировка трафика на уровне сетевого стека O/S вам не поможет. Если DoS насыщает вашу полосу пропускания, вам нужно будет поговорить с вышестоящим интернет-провайдером и попросить его выполнить фильтрацию.
Существуют модули geoip для iptables и Apache, которые позволят вам занести в черный список целые страны. Сопоставления подсетей не на 100% точны, но они "довольно хороши".
С учетом сказанного, если вы на самом деле получаете DoS'd (как в вашей ссылке насыщается), брандмауэра будет недостаточно; вашим серверам все еще придется пережевать эти пакеты, чтобы выяснить, должны ли они быть заблокированы. Вам нужно будет направить свой апстрим, чтобы обнулить или ваши серверы, или злоумышленников - и если он сильно распределен, ну, на самом деле, это просто вопрос того, насколько отзывчивым и кооперативным является ваш провайдер.
Этот вопрос о Serverfault содержит несколько хороших общих советов по предотвращению DDoS - есть много вещей, которые вы можете попробовать, но значительный DDoS требует помощи от вашего ISP, как уже упоминалось.
Было бы полезно узнать, какой веб-сервер вы используете в Windows и Linux - предположительно, IIS и Apache.
Несколько вариантов в порядке убывания полезности:
- Для блокировки используйте брандмауэр ядра Linux (iptables) - подход xtables-addons прост, но ipset может обрабатывать большее количество диапазонов IP-адресов. Аналогичная настройка на Windows. Было бы лучше использовать отдельный физический брандмауэр, тогда он мог бы работать как с Linux, так и с Windows, уменьшая настройку и разгрузку серверов.
- Используйте mod_security на Apache - это может работать в Windows и Linux, если вы используете Apache на обоих. Поскольку использование GeoIP включает в себя довольно много настроек для поддержания блоков GeoIP в актуальном состоянии, это может снизить общее обслуживание после настройки.
- Используйте DNS-сервер для блокировки на GeoIP - ОК для случайного DoS, который использует ваше доменное имя. Однако это бесполезно против тех, кто просто использует ваш IP-адрес для вас.
Смотрите этот вопрос о блокировке GeoIP, а также о тегах ddos и geoip (также добавленных к вашему вопросу).
Служба защиты от DDoS (также называемая службой "чистых каналов") может быть лучшим вариантом для серьезных DDoS: они обрабатывают ваш трафик и отфильтровывают DDoS, оставляя вам только действительный трафик сайта, в зависимости от того, насколько хорошо они фильтруются. У них огромные каналы, и они сосредоточены на этой проблеме, поэтому, вероятно, справятся с этой задачей лучше, чем собственное решение, и многое зависит от наличия достаточно большой трубы, чтобы поглощать DDoS, чтобы их аппаратное / программное обеспечение могло ее фильтровать. BlockDOS.net - это сервис по разумной цене, Prolexic и Verisign являются более топовыми и намного более дорогими.
Если это слишком дорого, это может помочь переназначить хостинг на Amazon EC2, который может маршрутизировать весь трафик через конкретный экземпляр EC2 (например, VPS) - есть специальный AMI (образ VPS), который предназначен для веб-серверов, которые будет на отдельных экземплярах EC2. Amazon EC2 также позволяет ускорить новые экземпляры сервера для обработки увеличенной нагрузки. Возможно, вам все равно придется платить за трафик DDoS (возможно, больше, чем за услугу защиты), и вы заплатите за дополнительные серверы, так что это требует некоторого расследования. Другие поставщики облачных VPS могут иметь более эффективные политики DDOS или собственные услуги по смягчению последствий DDoS.
Крупномасштабная устойчивая DDOS-атака обычно включает в себя атаку на ваши серверы имен. Что мешает широкой публике получить доступ к вашему сайту через доменное имя. Так как атака DDOS может остановить Yahoo более 24 часов. Вы не сможете смягчить DDOS-атаку, просто заблокировав список IP-адресов в программном / аппаратном брандмауэре.
Возможно, вы захотите взглянуть на некоторые службы очистки DDos. По сути, эти службы будут забирать весь трафик, который вы получаете, очищать "плохих парней" и отправлять вам чистые данные. Имейте в виду, в зависимости от размера атаки, они могут быть довольно дорогими. Брандмауэр на вашем сервере мало чем поможет, потому что он вам уже достался. Вам нужно отбросить трафик подальше от вас, и это может стать сложным.
Некоторые поставщики: