Баним поднебесную. Как закрыть доступ на сайт для целой страны.

Оп-па

Итак, приступим к блокированию китайских пользователей и всех, кто прячется за их файрволлами. В предыдущей статье я писал о том, что буду блокировать на уровен веб-сервера с использованием модуля GeoIP, но решил я всё-таки от этого отойти в пользу блокировки прямо на файрволле. Почему? Экономия ресурсов и более высокий уровень защиты. По сути мне нужно прикрывать не только WEB, но ещё и SSH, потому что на него тоже идут атаки с поднебесной.

Да и кроме того, блокировка на подходе намного более эффективная, чем блокировка на самом веб-сервере. Сравнить это можно с аэропортом. Гораздо проще поставить защиту на главный вход, чтобы не пропускать террористов даже на порог, чем фильтровать каждого при входе в самолёт. Поскольку файрволл стоит ближе к ядру и первый получит пакеты – пусть он и принимает решение сразу пропускать или отбрасывать запросы. Не дожидаясь последствий.

Списки адресов

Настроить GeoIP + Iptables у меня не получилось, какая-то проблема с виртуализацией и заголовками ядра, думаю, ещё потом поковыряю на досуге, а пока что решил записывать все диапазоны китайцев напрямую в iptables-таблицу.

Адреса я взял отсюда:

http://www.ipdeny.com/ipblocks/data/countries/cn.zone

Там вообще по любой стране диапазоны есть, только вот немало их. CN – Китай, для справки.

WGET-нем этот список себе во временную папочку пока. Будем последовательно применять правила на файрволл.

Применял подобным скриптом:

IPLIST=$(egrep -v "^#|^$" cn.zone)
for ipaddr in IPLIST
do
/sbin/iptables -A BANLIST -s $ipaddr -j DROP
done

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

Итак, проверяем.

Проверка блокировки

Чтобы не мудрствовать лукаво, буду заходить на свой же сайт с китайским IP. В Инете полно списков бесплатных прокси-серверов, за которыми можно спрятаться! Возьму-ка я вот какой-то совершенно случайно!

Список проксей
Список проксей

Как настраивать прокси, думаю, не надо объяснять. Но на всякий случай скажу. Записываем IP и Порт прокси-сервера, открываем настройки браузера. (надо будет нажать ссылку и показать дополнительные настройки).

Chrome
Chrome

Откроется окно изменения прокси-сервера в системе:

Системные параметры Proxy
Системные параметры Proxy

Там жмём на кнопку “Настройка сети”

Прописываем данные
Прописываем данные

Прописываем там данные нашего прокси-сервера, который запомнили до этого. Всё, проверяем:

Заходим на сайт 2ip.ru

ip
Сработало!

А потом можно на yoip.ru

Наш IP
Наш IP

Как видите, везде фигурирует адрес нашего прокси! Т.е. для других веб-сайтов мы с адресом Китая. Хех, откроем-ка наш любимый (правда?) сайт:

Оп-па
Оп-па

Вот незадача! Сайт не открывается. Если включить логирование на файрволле, то увидим, что пакеты просто отбрасываются. Это экономит наш трафик и вообще со всех сторон хорошо!

P.S. Если у вас возникли проблемы с заходом на сайт – непременно напишите в комментах! Будем разбираться.

Интересно? Поделись с другом
Litl-Admin.ru

Comments:

Leave a Reply