Перейти к содержанию
Авторизация  
KJIyHu

Установка, настройка iptables на Дебиан 7

Рекомендуемые сообщения

Изучаю Дебиан 7 вот уже пару дней пришел к тому что нужно разобраться с iptables. Для начало надо разобраться как его устанавливать в огромном инете такого не нашел там сразу идет речь о настройке. Интересует для начала в принципе не многое, надо чтоб он позакрывал порты и оставил открытые 22, 7777, 9014, 2106, 3306.

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

Поделиться сообщением


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

Поискал в инете и кое что нашел, насколько это подходит для Дебиан 7?

 

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

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

*Для облегчения польские девелоперы сделали скрипт.
Скачиваем его count.rar [639 b] (cкачиваний: 58) Обязательно настройте страны внутри скрипта!
*Создаем папку /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: Установка правил

*Правил для IPTables в интернете много, но не все вам нужны.
*Я пользовался правилами с allcheats, которые создавались специально для la2 сервера.

#!/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

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

*Вводим: chmod +x count.sh

  • Upvote 1

Поделиться сообщением


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

Вот еще нашел кое что может это подойдет лучше?

 

Очень часто возникают вопросы,зачем это и что это,а так же как это настроить.
В этой теме я расскажу как их настраивать.
Что это такое Вы можете прочитать
здесь
А как настроить можете прочитать ниже.
1) Если есть файл: /etс/sysconfig/iptables.save, удаляем его.
2) В файл /etc/sysconfig/iptables записываем:
# настройка localhost
iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -t filter -A INPUT -s 127.0.0.1 -j ACCEPT
# разрешить порты
iptables -t filter -A OUTPUT -p tcp --sport 7778 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 7777 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 2266 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 3306 -j ACCEPT
# разрешаем уже устанновленные подключения
iptables --table filter --append INPUT -m conntrack --ctstate ESTABLISHED --jump ACCEPT
iptables --table filter --append OUTPUT -m conntrack --ctstate ESTABLISHED --jump ACCEPT
iptables --table filter --append INPUT -m conntrack --ctstate RELATED --jump ACCEPT
iptables --table filter --append OUTPUT -m conntrack --ctstate RELATED --jump ACCEPT
iptables --table filter --append INPUT --in-interface lo -m conntrack --ctstate NEW --jump ACCEPT
iptables --table filter --append OUTPUT --out-interface lo -m conntrack --ctstate NEW --jump ACCEPT
#ограничение по IP-адресу пользователей, которые могут иметь доступ к серверу по ssh-протоколу:
iptables -t filter -A INPUT -s Ваш домашний, офисный статический ipб если он статистический -j ACCEPT
iptables -t filter -A INPUT -m iprange --src-range или ip1-ipn диапазон, содержащий ваш динамический ip -j ACCEPT
# ip хостера с обвязкой
iptables -t filter -A INPUT -s ip-адрес хостера -j ACCEPT
iptables -t filter -A INPUT -s ВАШ IP-АДРЕС -j ACCEPT
# разрешаем пинг
iptables -t filter -A INPUT -p icmp -j DROP
iptables -t filter -A INPUT -p udp -j DROP
3) сохраняем настройки: service iptables save
4) перезапускаем iptables: service iptables restart
5) команды на разных ОС могут быть разными, но правила одинаковые.
6) если Вы перезагрузили сервер, правила в iptables сбросятся, если так прописанов конфиге iptables;
7) тогда вам нужно поместить правила из iptables.save в iptables и сделать так: service iptables restart;
8) запомните: если в iptables ничего нет, то делайте, как написано в пункте 8 и правила будут рабоать до перезагрузки сервера;
9) сам сервер нет необходимости перезагружать после изменения правил, надо перезагружать iptables: service iptables restart;
10) правила согласованы с самым лучшим на сегоднешний день сервисом lameguard.com по защите игровых Lineage2-серверов.


Комментируем,поправляем меня если что то не так.

Пример приведен на CentOS

В Debianоподобных системах iptables хранится в /etc/network/if-pre-up.d/iptables

Поделиться сообщением


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

Изучаю Дебиан 7 вот уже пару дней пришел к тому что нужно разобраться с iptables. Для начало надо разобраться как его устанавливать в огромном инете такого не нашел там сразу идет речь о настройке. Интересует для начала в принципе не многое, надо чтоб он позакрывал порты и оставил открытые 22, 7777, 9014, 2106, 3306.

 

Нельзя так часто апать собственную тему,хотите добавить информацию,редактируйте сообщение.

Поделиться сообщением


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

Если не знаешь не лезь. Я тоже в интернете начитался, в итоге закрыл ип, что не мог подключится к тачке.

Поделиться сообщением


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

Если закрою порты безвозвратно систему переставлю, ничего страшного.  И все таки кто емае подскажет как его для начала установить всякие там  команды  его не устанавливают # apt-get install iptables
 

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

Поделиться сообщением


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

 

Если закрою порты безвозвратно систему переставлю, ничего страшного.  И все таки кто емае подскажет как его для начала установить всякие там  команды  его не устанавливают # apt-get install iptables

 

 

 

В дебине он вроде по дефолту установлен. 22 порт не закрывай

Поделиться сообщением


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

В дебине он вроде по дефолту установлен. 22 порт не закрывай

Как бы не где не видно. И всякие там команды rpm -q iptables пишут что никого нет.

Поделиться сообщением


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

iptables -V в помощ..

написало iptables v 1.4.14  и где она лежит?

Поделиться сообщением


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

написало iptables v 1.4.14  и где она лежит?

/sbin/iptables

Поделиться сообщением


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

/sbin/iptables

Хоть какой то сдвиг спасибо, а в какой файл именно вставлять свои правила? Просто этот явно является ядром iptables.

Поделиться сообщением


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

в любой который создашь сам и добавишь в rc.local

Поделиться сообщением


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

в любой который создашь сам и добавишь в 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

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

Поделиться сообщением


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

Раньше были популярны следующие правила:

#!/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  
  • Upvote 1

Поделиться сообщением


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

Вот как сохранять, внимание - УЖЕ НАСТРОЕННЫЕ ПРАВИЛА В АВТОЗАГРУЗКУ

http:/toster.ru/q/34551 (добавить 1 слэшик не забудь)

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...