Авторизация  

[UNIX] Защита от DDoS | IP Tables

   (0 отзывов)

Описание

IP Tables и Защита от DDoS

IP Tables и Защита от DDoS

Внимание: работа с IPT на удаленной машине весьма опасна, не заблокируйте себе доступ к серверу

Вариант №1: Запрет захода со сторонних стран

  • Для облегчения польские девелоперы сделали скрипт.
  • [Скачиваем его] Обязательно настройте страны внутри скрипта!
  • Создаем папку /root/ddos
  • Вводим: chmod +x count.sh
  • Можем настроить страны для которых мы запрещаем соединение, они настраиваются в самом файле, открываем и редактируем.
  • Вводим: cd /root/ddos && ./count.sh
  • Запустили,скрипт внес изменения в IPtables

P.S: по личному опыту знаю, что в большинстве случаев ддосят из азии, в основном китай. (самые дешевые сервера для ботнета)

Вариант №2: Настройка соединений

  • Так как на одного пользователя приходится - одно соединение с сервером, логично сделать ограничение.
  • Для этого воспользуемся "connlimit" модом.
  • Вводим: apt-get install user-mode-linux
  • Теперь с помощью этого мода ограничим кол-во соединений на порт логина
  • Вводим: iptables -A INPUT -p tcp --syn --dport 2106 -m connlimit --connlimit-above 20 -j REJECT
  • --connlimit-above 20 - означает, что на логин приходится постепенно 20 соединений и не более
  • На гейм-сервер думаю не актуально ставить такое ограничение, при досе свободные места забьются и никто не зайдет
  • А вот на порт mysql я бы советовал поставить
  • Вводим: iptables -A INPUT -p tcp --syn --dport 3306 -m connlimit --connlimit-above 30 -j REJECT

Вариант №3: Установка правил

  • Правил для IP Tables в интернете много, но не все вам нужны.
  • Эти правила адаптированы под LineAge2 сервера.
#!/bin/sh
IPT=/sbin/iptables
UNIPORTS="1024:65535"
INET_IFACE="eth0"

$IPT -F
$IPT -X
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o eth0 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 2106 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp --dport 7777 -j ACCEPT
$IPT -A INPUT -p ICMP -i eth0 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCE
PT
$IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport 1024:65535 -j AC
CEPT --sports 80,443 ! --syn
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65535 --sport 21 -j ACCE
PT ! --syn
$IPT -A INPUT -i eth0 -p tcp --dport 2106 -m state --state NEW -m connlimit --connlimit-above 20 -j REJECT
$IPT -P INPUT DROP

 

Внимание: скрипт работает только для подключения eth0

  • Установим эти правила
  • Создаем файл .sh
  • Пусть он будет расположен здесь: /root/server/ipt.sh
  • Заполняем его нашими правилами(см. выше)
  • Выдаем ему права на выполнение:
  • Вводим: cd /root/server
  • Вводим: chmod +x ipt.sh
  • И запускаем:
  • Вводим: sh ./ipt.sh

Все, ваш сервер полностью готов.

По всем вопросам можете обращаться ко мне @SteveDogs



Рекомендуемые комментарии

Первый способ если мы запретим более 50 стран дедик на 2 дня уйдет пока не заблокирует все IP адреса всех стран :D (проверял)

Ну и в готовых правилах открывать бд на внешку лучше не стоит (достаточно указать свой ip и сайта, больше она никому не нужна). Иначе это будет фиаско, братан)))

Так же во многих сборках есть фишка которая позволяет логин серверу при успешной авторизации добавлять правило и открывать порт 7777 для нужного IP. Но стоит ещё прописать в onDisconnection (ЛСа и ГСа) аналогичные строки, но уже на удаление. Только с ЛСом там нужно подшаманить т.к. доходя до выбора сервера и выбирая его вы отключаетесь от ЛС, соответственно прописав закрытие порта 7777 при отключении от ЛС вы не войдёте. В противном случае за 2 дня вы забьете правила , а если у вас ещё и онлайн хороший сервер будет очень медленно работать с IPT.

Да и не забываем дропать UDP трафик!) Мануал хороший, но для серьезного проекта это не подойдёт.) Хотя серьезный проект даже арбор или куратор не спасёт при мощной атаке)) Чё там говорить если OVH упал от чайников, тостеров и онлайн-камер :D (хотя 620 gb/s думаю врядли кто либо сможет отбить).

Под МФИ-СОФТ если только размещаться, но я думаю это нерентабельное вложение.... да и рядом с СОРМами держать пиратский серв л2 надо быть рискованным человеком)

Изменено пользователем kickuass

Поделиться этим комментарием


Ссылка на комментарий
Поделиться на другие сайты