Для блокировки по ip - nginx-модуль geo или iptables?

12
V
На сайте с 28.01.2020
Offline
25
735
Здравствуйте.

Необходимо заблокировать доступ к сайту по ряду IP-адресов. Список IP довольно большой > 500 записей разных форматов: частные адреса (например: 1.2.3.4) и адреса в формате CIDR (например: 1.3.0.0/16). Сервер работает на связке Apache+Nginx.

Какой способ блокировки наиболее корректен: через nginx-модуль ngx_http_geo_module (не путайте с geoip) или через встроенный в ПУ HestiaCP iptables? Самой до конца разобраться не получилось. Если вам не сложно, напишите пару слов аргументации.
V
На сайте с 28.01.2020
Offline
25
#1
С iptables я никогда не работала. Например в nginx можно сразу оборвать соединение (444) и затратить меньше ресурсов сервера. Но возможно, что iptables срабатывает до nginx-а и в результате уменьшается время ответа клиенту не попадающему под блокировку...  Клиент попадающий под блокировку - проходит наименьший путь на сервере, а клиент непопадающий под блокировку - получает ответ сервера без лишней задержки.
Бахин
На сайте с 26.05.2017
Offline
75
#2
Vaily #:
С iptables я никогда не работала. Например в nginx можно сразу оборвать соединение (444) и затратить меньше ресурсов сервера. Но возможно, что iptables срабатывает до nginx-а и в результате уменьшается время ответа клиенту не попадающему под блокировку...  Клиент попадающий под блокировку - проходит наименьший путь на сервере, а клиент непопадающий под блокировку - получает ответ сервера без лишней задержки.

лучше использовать ipse. После его установки на сервер, добавить

ipset -N netdrop nethash

добавить в iptables

iptables -v -I INPUT -m set --match-set netdrop src -j DROP

добавить ip адрес или вообще CIDR

ipset -A netdrop 127.0.0.1
ipset -A netdrop 127.0.0.0/24

только учтите, после перезагрузки сервера все это удалиться, если не добавить в автозагрузку. Для ipset, например, так (после каждого добавления ip)

ipset -S > /etc/ipset-save

затем в файл rc.local (один раз)

cat /etc/ipset-save | /usr/sbin/ipset -R
PA
На сайте с 15.02.2018
Offline
100
#3

iptables

Просто удобнее

Продаю ХОСТИНГ, VDS шикарные | Дедик, VDS, Бекап ( https://is.gd/vgd245 ) дешево | Мои VDS ( https://is.gd/vds100 ) быстрее твоих
HOSTER_BOMBA
На сайте с 08.06.2020
Offline
41
#4
Vaily :
Здравствуйте.

Необходимо заблокировать доступ к сайту по ряду IP-адресов. Список IP довольно большой > 500 записей разных форматов: частные адреса (например: 1.2.3.4) и адреса в формате CIDR (например: 1.3.0.0/16). Сервер работает на связке Apache+Nginx.

Какой способ блокировки наиболее корректен: через nginx-модуль ngx_http_geo_module (не путайте с geoip) или через встроенный в ПУ HestiaCP iptables? Самой до конца разобраться не получилось. Если вам не сложно, напишите пару слов аргументации.


еще удобнее csf - надстройка для iptables. Есть файловые конфиги для белого и черного списка, можно блокировать конкретные страны.
https://download.configserver.com/csf/install.txt

Европейский хостинг провайдер в Эстонии - https://iphoster.net/ - дешевые KVM VPS в Польше, США, Канаде, Франции, Англии, Нидерландах и Германии от 3.95$. Дешевый shared хостинг от 1$ с панелями Cpanel, ISPManager, DirectAdmin. https://iphwiki.net/ - статьи на тему хостинга.
I3
На сайте с 20.07.2012
Offline
106
#5
Vaily :
Здравствуйте.

Необходимо заблокировать доступ к сайту по ряду IP-адресов. Список IP довольно большой > 500 записей разных форматов: частные адреса (например: 1.2.3.4) и адреса в формате CIDR (например: 1.3.0.0/16). Сервер работает на связке Apache+Nginx.

Какой способ блокировки наиболее корректен: через nginx-модуль ngx_http_geo_module (не путайте с geoip) или через встроенный в ПУ HestiaCP iptables? Самой до конца разобраться не получилось. Если вам не сложно, напишите пару слов аргументации.

У  HestiaCP есть замечательный инструмент блокировки, сам пользуюсь.

В админке  HestiaCP  файрвол->Посмотреть списки ip->добавить список

Можно создать список, указав путь к своему файлу. Раз в сутки HestiaCP сама будет обращаться к этому файлу и обновлять список блокировок, очень удобно

V
На сайте с 28.01.2020
Offline
25
#6

Спасибо всем отписавшимся, но всё же... пожалуйста, читайте название темы и сопровождающий пост ТС чтобы не создавать ненужные сообщения.

Меня больше интересует вопрос производительности, об этом написала постом выше. И пожалуйста, не разводите флуд, только по существу. Спасибо.

V
На сайте с 28.01.2020
Offline
25
#7
ivan34502 #:

У  HestiaCP есть замечательный инструмент блокировки, сам пользуюсь.

В админке  HestiaCP  файрвол->Посмотреть списки ip->добавить список

Можно создать список, указав путь к своему файлу. Раз в сутки HestiaCP сама будет обращаться к этому файлу и обновлять список блокировок, очень удобно

Иван, раз знакомы с работой Hestia, то уточню пару моментов , если Вас не затруднит:

Насколько поняла, вначале нужно создать список для блокировки

и затем его подключить


1.  В какую папку на сервере лучше положить файл со списком или без разницы?

2. В правиле блокировки, какой протокол выбрать: TCP, UDP, ICMP? про них читала, но до конца так и не поняла какой лучше использовать

3. В строке Service что указать?

4.  Если файлов несколько, то для каждого из них нужно создать отдельное правило?

5. Если Hestia обращается к файлу раз в сутки, то внесенные в файл изменения применятся не сразу, а только через сутки?

6. Какой ответ получит заблокированный ip: 403 или iptables оборвет соединение 444?

I3
На сайте с 20.07.2012
Offline
106
#8
Vaily #:

Иван, раз знакомы с работой Hestia, то уточню пару моментов , если Вас не затруднит:

Насколько поняла, вначале нужно создать список для блокировки

и затем его подключить


1.  В какую папку на сервере лучше положить файл со списком или без разницы?

2. В правиле блокировки, какой протокол выбрать: TCP, UDP, ICMP? про них читала, но до конца так и не поняла какой лучше использовать

3. В строке Service что указать?

4.  Если файлов несколько, то для каждого из них нужно создать отдельное правило?

5. Если Hestia обращается к файлу раз в сутки, то внесенные в файл изменения применятся не сразу, а только через сутки?

6. Какой ответ получит заблокированный ip: 403 или iptables оборвет соединение 444?

1.) В любую, как вам удобнее

2)  TCP

3) Это комментарий, "my black list" например )

4) Да, для каждого файла отдельное правило

5) Да изменения применяются не сразу, а раз в сутки, в задачах cron можно увеличить частоту проверки изменений

6) Вроде ответа вообще не будет, соединение не будет установлено.

V
На сайте с 28.01.2020
Offline
25
#9
ivan34502 #:
5) Да изменения применяются не сразу, а раз в сутки, в задачах cron можно увеличить частоту проверки изменений

Вы правы - работать с iptables в hestia - удовольствие.  Всё организовано просто и удобно.
Создала нужные правила, проверила - все окей. И чего я раньше с ним работать боялась 😊


Иван, спасибо за помощь! Очень выручили 👍


Если не затруднит, подскажите, пожалуйста, команду в cron отвечающую за частоту проверки изменений?

I3
На сайте с 20.07.2012
Offline
106
#10
Vaily #:

Вы правы - работать с iptables в hestia - удовольствие.  Всё организовано просто и удобно.
Создала нужные правила, проверила - все окей. И чего я раньше с ним работать боялась 😊


Иван, спасибо за помощь! Очень выручили 👍


Если не затруднит, подскажите, пожалуйста, команду в cron отвечающую за частоту проверки изменений?

sudo /usr/local/hestia/bin/v-update-sys-queue daily

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий