KJIyHu 100 Опубликовано 3 января, 2015 (изменено) Изучаю Дебиан 7 вот уже пару дней пришел к тому что нужно разобраться с iptables. Для начало надо разобраться как его устанавливать в огромном инете такого не нашел там сразу идет речь о настройке. Интересует для начала в принципе не многое, надо чтоб он позакрывал порты и оставил открытые 22, 7777, 9014, 2106, 3306. Изменено 3 января, 2015 пользователем Riw Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KJIyHu 100 Опубликовано 3 января, 2015 Поискал в инете и кое что нашел, насколько это подходит для Дебиан 7? IP Tables и Защита от DDoSВнимание:Работа с IPT на удаленной машине весьма опасна, не заблокируйте себе доступ к серверуВариант №1: Запрет захода со сторонних стран*Для облегчения польские девелоперы сделали скрипт.Скачиваем его count.rar [639 b] (cкачиваний: 58) Обязательно настройте страны внутри скрипта!*Создаем папку /root/ddos*Вводим: chmod +x count.sh*Можем настроить страны для которых мы запрещаем соединение, они настраиваются в самом файле, открываем и редактируем.*Вводим: cd /root/ddos && ./count.sh*Запустили,скрипт внес изменения в IPtablesP.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: Установка правил*Правил для IPTables в интернете много, но не все вам нужны.*Я пользовался правилами с allcheats, которые создавались специально для la2 сервера.#!/bin/shIPT=/sbin/iptablesUNIPORTS="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 ACCEPT$IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport 1024:65535 -j ACCEPT --sports 80,443 ! --syn$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65535 --sport 21 -j ACCEPT ! --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Все, ваш сервер полностью готов. *Вводим: chmod +x count.sh 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KJIyHu 100 Опубликовано 3 января, 2015 Вот еще нашел кое что может это подойдет лучше? Очень часто возникают вопросы,зачем это и что это,а так же как это настроить.В этой теме я расскажу как их настраивать.Что это такое Вы можете прочитать здесьА как настроить можете прочитать ниже.1) Если есть файл: /etс/sysconfig/iptables.save, удаляем его.2) В файл /etc/sysconfig/iptables записываем:# настройка localhostiptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPTiptables -t filter -A INPUT -s 127.0.0.1 -j ACCEPT# разрешить портыiptables -t filter -A OUTPUT -p tcp --sport 7778 -j ACCEPTiptables -t filter -A OUTPUT -p tcp --sport 7777 -j ACCEPTiptables -t filter -A OUTPUT -p tcp --sport 2266 -j ACCEPTiptables -t filter -A OUTPUT -p tcp --sport 80 -j ACCEPTiptables -t filter -A OUTPUT -p tcp --sport 3306 -j ACCEPT# разрешаем уже устанновленные подключенияiptables --table filter --append INPUT -m conntrack --ctstate ESTABLISHED --jump ACCEPTiptables --table filter --append OUTPUT -m conntrack --ctstate ESTABLISHED --jump ACCEPTiptables --table filter --append INPUT -m conntrack --ctstate RELATED --jump ACCEPTiptables --table filter --append OUTPUT -m conntrack --ctstate RELATED --jump ACCEPTiptables --table filter --append INPUT --in-interface lo -m conntrack --ctstate NEW --jump ACCEPTiptables --table filter --append OUTPUT --out-interface lo -m conntrack --ctstate NEW --jump ACCEPT#ограничение по IP-адресу пользователей, которые могут иметь доступ к серверу по ssh-протоколу:iptables -t filter -A INPUT -s Ваш домашний, офисный статический ipб если он статистический -j ACCEPTiptables -t filter -A INPUT -m iprange --src-range или ip1-ipn диапазон, содержащий ваш динамический ip -j ACCEPT# ip хостера с обвязкойiptables -t filter -A INPUT -s ip-адрес хостера -j ACCEPTiptables -t filter -A INPUT -s ВАШ IP-АДРЕС -j ACCEPT# разрешаем пингiptables -t filter -A INPUT -p icmp -j DROPiptables -t filter -A INPUT -p udp -j DROP3) сохраняем настройки: service iptables save4) перезапускаем iptables: service iptables restart5) команды на разных ОС могут быть разными, но правила одинаковые.6) если Вы перезагрузили сервер, правила в iptables сбросятся, если так прописанов конфиге iptables;7) тогда вам нужно поместить правила из iptables.save в iptables и сделать так: service iptables restart; запомните: если в iptables ничего нет, то делайте, как написано в пункте 8 и правила будут рабоать до перезагрузки сервера;9) сам сервер нет необходимости перезагружать после изменения правил, надо перезагружать iptables: service iptables restart;10) правила согласованы с самым лучшим на сегоднешний день сервисом lameguard.com по защите игровых Lineage2-серверов.Комментируем,поправляем меня если что то не так.Пример приведен на CentOSВ Debianоподобных системах iptables хранится в /etc/network/if-pre-up.d/iptables Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JoeyTribbiani 822 Опубликовано 3 января, 2015 Изучаю Дебиан 7 вот уже пару дней пришел к тому что нужно разобраться с iptables. Для начало надо разобраться как его устанавливать в огромном инете такого не нашел там сразу идет речь о настройке. Интересует для начала в принципе не многое, надо чтоб он позакрывал порты и оставил открытые 22, 7777, 9014, 2106, 3306. Нельзя так часто апать собственную тему,хотите добавить информацию,редактируйте сообщение. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
heka 32 Опубликовано 3 января, 2015 Если не знаешь не лезь. Я тоже в интернете начитался, в итоге закрыл ип, что не мог подключится к тачке. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KJIyHu 100 Опубликовано 3 января, 2015 (изменено) Если закрою порты безвозвратно систему переставлю, ничего страшного. И все таки кто емае подскажет как его для начала установить всякие там команды его не устанавливают # apt-get install iptables Изменено 3 января, 2015 пользователем Riw Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
styler 104 Опубликовано 3 января, 2015 Если закрою порты безвозвратно систему переставлю, ничего страшного. И все таки кто емае подскажет как его для начала установить всякие там команды его не устанавливают # apt-get install iptables В дебине он вроде по дефолту установлен. 22 порт не закрывай Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KJIyHu 100 Опубликовано 3 января, 2015 В дебине он вроде по дефолту установлен. 22 порт не закрывай Как бы не где не видно. И всякие там команды rpm -q iptables пишут что никого нет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 3 января, 2015 iptables -V в помощ.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KJIyHu 100 Опубликовано 3 января, 2015 iptables -V в помощ.. написало iptables v 1.4.14 и где она лежит? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 3 января, 2015 написало iptables v 1.4.14 и где она лежит? /sbin/iptables Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KJIyHu 100 Опубликовано 3 января, 2015 /sbin/iptables Хоть какой то сдвиг спасибо, а в какой файл именно вставлять свои правила? Просто этот явно является ядром iptables. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 3 января, 2015 в любой который создашь сам и добавишь в rc.local Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KJIyHu 100 Опубликовано 3 января, 2015 (изменено) в любой который создашь сам и добавишь в rc.local а если не заморачиваться с добавлением всяких там файлов и настройкой автозагрузки, сервер как бы не часто перегружается? Просто вводить каждый раз команду, я проверил вроде как все работает: #!/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 Изменено 3 января, 2015 пользователем Riw Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
La2Bash 87 Опубликовано 4 января, 2015 Раньше были популярны следующие правила: #!/bin/bash # Очищаем правила /sbin/iptables -F /sbin/iptables -t nat -F /sbin/iptables -t mangle -F # Лимит на 30 запросов в секунду для интерфейса eth0 /sbin/iptables --new-chain lim1 /sbin/iptables --insert OUTPUT 1 -p tcp --destination-port 7777 -o eth0 --jump lim1 /sbin/iptables --insert OUTPUT 1 -p tcp --destination-port 2106 -o eth0 --jump lim1 /sbin/iptables --append lim1 -m limit --limit 30/sec --jump RETURN /sbin/iptables --append lim1 --jump DROP # Блокируем ICMP траффик /sbin/iptables -A INPUT -p icmp -j DROP # Открываем порт логина /sbin/iptables -A INPUT -p tcp --dport 2106 -j ACCEPT /sbin/iptables -I INPUT -p tcp --syn --dport 2106 -j DROP -m connlimit --connlimit-above 10 /sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 2106 -m recent --update --seconds 2 -j DROP /sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 2106 -m recent --set -j ACCEPT # Открываем порт гейма /sbin/iptables -A INPUT -p tcp --dport 7777 -j ACCEPT /sbin/iptables -I INPUT -p tcp --syn --dport 7777 -j DROP -m connlimit --connlimit-above 20 /sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 7777 -m recent --update --seconds 2 -j DROP /sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 7777 -m recent --set -j ACCEPT # MySQL /sbin/iptables -I INPUT -p tcp -s ВАШ_IP --dport 3306 -j ACCEPT /sbin/iptables -I INPUT -p tcp -s IP_САЙТА --dport 3306 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP # SSH (Рекомендую перенести с 22 порта) /sbin/iptables -A INPUT -p tcp --dport 22 -s ВАШ_IP -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 22 -j DROP # Все остальное дропим /sbin/iptables -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable /sbin/iptables -A FORWARD -o eth0 -p tcp -j DROP 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
La2Bash 87 Опубликовано 4 января, 2015 Вот как сохранять, внимание - УЖЕ НАСТРОЕННЫЕ ПРАВИЛА В АВТОЗАГРУЗКУ http:/toster.ru/q/34551 (добавить 1 слэшик не забудь) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты