1. Рады видеть Вас на русскоязычном форуме TeamSpeak!

    У нас Вы можете скачать последнюю версию:

    Перед регистрацией рекомендуем ознакомиться

    с Правилами форума.

    Присоединяйтесь! Учите и обучайтесь!

    Скрыть объявление
  2. Новая группа "Новичок" на нашем форуме!

    Новые пользователи будут попадать в группу "Новичок".

    Это сделано для того чтобы "Новички" ознакомились с форумом, так как в большинстве случаев проблема с которой вы хотите обратиться уже обсуждалась.

    Перейти в тему обсуждения
    Быстрый переход в группу Пользователь
  3. VPS/VDS и дедикейт сервера в аренду с DDoS защитой

    • Низкий пинг
    • Действующий SLA
    • Рублевые цены без привязки к курсу валют

    Бесплатный тестовый период VPS-OpenVZ

    Попробовать

Установка GeoIP iptables на Debian 10

Блокировка доступа к серверу по странам

  1. Gho$t
    Был прекрасный день, светило солнце, шелестела трава, птички пели на деревьях, и черт меня дернул заглянуть в логи сервера. И о ужас, было обнаружено кучу сканов ssh, vpn и других сервисов, портов. Быстро открыв браузер, тут же пожаловался об этом гуглу, он как настоящий друг порекомендовал мне iptables geoip!
    Ну что ж, подумал я и принялся искать мануалы и тут же обнаружилась статья на хабре, собственно делюсь с вами.

    iptables geoip не поставляется в репозиториях debian, поэтому мы будем собирать модуль к ядру. Поехали!

    Установим все что нужно для сборки
    apt install git build-essential autoconf make libtool iptables-dev libxtables-dev pkg-config libnet-cidr-lite-perl libtext-csv-xs-perl linux-headers-$(uname -r)

    Клонируем репозиторий в любую папку, например в /opt/
    git clone https://git.inai.de/xtables-addons xtables-addons


    Заходим в папку с аддоном
    cd xtables-addons


    Теперь нужно отредактировать файл mconfig, ищем build_geoip и меняем значение на m, остальные на n.

    Собираем
    ./autogen.sh
    ./configure
    make
    make install


    Загружаем модуль
    depmod -a
    modprobe xt_geoip


    Проверяем загружен ли модуль
    lsmod | grep xt_geoip
    Вывод должен быть таким
    xt_geoip 16384
    x_tables 45056


    Создаем папку и заходим в нее
    mkdir /usr/share/xt_geoip; cd /usr/share/xt_geoip
    Получаем базу данных geoip
    /usr/local/libexec/xtables-addons/xt_geoip_dl
    Собираем базу данных geoip
    /usr/local/libexec/xtables-addons/xt_geoip_build
    На этом все.

    Блокируем порт SSH всем, кто не из РФ
    iptables -A INPUT ! -i lo -p tcp --dport 22 -m geoip ! --src-cc RU -j DROP

    Блокируем несколько портов, разрешаем только для РФ
    iptables -A INPUT ! -i lo -p udp -m multiport --dports 25,500,10011 -m geoip ! --source-country RU -j DROP

    С протоколами tcp, udp думаю разберетесь.

    Напомню, что лучше всего настраивать iptables на новом сервере, что бы не потерять доступ к серверу с данными.
    А так же при обновление ядра, нужно собрать модуль заново.


    Всю остальную информацию найдете в источнике на хабре. Удачи.