CentOS 7 - Блокировка некоторых стран (Филиппины, Россия, Китай)

У меня есть сайт, который работает только с клиентами в определенных местах.

В последнее время мой балансировщик нагрузки забивается запросами из Филиппин / России / Китая. Почтовые боты, атаки методом перебора и т. Д.

Есть ли простой способ заблокировать доступ этих трех стран к моему сайту? (Блок кода страны?) Я много вижу об использовании таблиц IP, однако я использую Firewalld на моем балансировщике нагрузки CentOS7. Крис

1
задан 3 November 2015 в 21:36
4 ответа

Я бы не стал так сильно беспокоиться о том, какие страны, но взглянул бы на фактические IP-адреса и IP-блоки, которые вызывают нежелательное поведение.

Попытка заблокировать страны проблематична и ошибочна- склонный. Вы бы пытались отследить конкретных интернет-провайдеров в каждой стране и их блоки IP-адресов.

Я бы использовал журналы и другие источники, чтобы составить списки неправильно функционирующих IP-адресов, объединить их в подсети и затем заблокировать эти подсети. Периодически посещайте его.

Определенно, эта работа лучше подходит для брандмауэров и балансировщиков нагрузки, но iptables или firewalld могут это сделать, но ваш хост должен будет видеть и обрабатывать трафик, а не блокировать его дальше вверх по течению.

Подумайте больше. например fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page ) и менее похожий на «блокировать Китай»

3
ответ дан 3 December 2019 в 16:44

Раньше я использовал для этого брандмауэр. Попытка сделать это на CentOS или выделенном веб-сервере сложно, поскольку это, как правило, больше проблема сети.

Я бы изучил решения межсетевого экрана и таким образом блокировал диапазоны IP-адресов. Я знаю, что это на самом деле не дает прямого ответа на ваш вопрос, просто передаю то, что я делал в прошлом.

1
ответ дан 3 December 2019 в 16:44

Вы будете наказывать целые страны за небольшую кучку плохих парней. И что еще хуже, вам будет не хватать плохих парней из других стран.

Как говорит теп, Fail2Ban идеально подходит для этого. Также убедитесь, что у вас есть WAF, например mod_security или naxsi. Затем добавьте в смесь репозиторий для хорошей оценки, и у вас будет не только защита на основе сигнатур атак, но и мониторинг на основе поведения / репутации.

Если вы действительно хотите заблокировать страны, но боретесь с маршрутом брандмауэра, посмотрите, может ли ваш веб-сервер это сделать, как Nginx.

Перенаправление нежелательных стран в менее дорогое приложение: https://www.digitalocean.com/community/tutorials/how-to-use-nginx-as-a-global-traffic-director-on-debian-or-ubuntu

Блокировка нежелательных стран: http://nginxlibrary.com/ip-based-country-blocking/

Желательно не блокировать законных пользователей из этих стран! Это может быть американский / европейский / любой целевой рынок, на котором вы находитесь в деловой поездке или на отдыхе.

1
ответ дан 3 December 2019 в 16:44

У меня была эта проблема, и, как заявил tep, управление IP-блоками может быть сложной задачей. Однако я нашел место, которое собирает и управляет списками IP-блоков для каждой страны с использованием BGP (основной протокол интернет-маршрутизации), и я нашел их очень точными.

http://www.ipdeny.com/

Затем, чтобы облегчить себе жизнь, я написал сценарий, который извлекает определенный пользователем список стран с указанного выше сайта, агрегирует и форматирует IP-адреса и вставляет их в ваш любимый пакет межсетевого экрана. В настоящее время он поддерживает pf, ipfw, iptables, ipset и теперь заменяет iptables nftables. Вы можете скачать его с github здесь:

https://github.com/KaiLoi/update-fw-BC

Я просто запустил его из cron и, выбрав 10 лучших стран для взлома в своих списках, взломал мои серверы практически испарились. fail2ban на моем сервере вылетает из своего дерева. ;)

1
ответ дан 3 December 2019 в 16:44

Теги

Похожие вопросы