Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Как открыть порты в iptables?


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

Добрый день.

Помогите пожалуйста с настройками фаервола.

Итак, дано:

Прокси-сервер на базе ASPLinux 14, он же DNS, DHCP.

Обеспечивает выход в интернет из нескольких подсетей: 192.168.0.x, 192.168.255.x, 192.168.1.x, 192.168.4.x, 192.168.28.x, 192.168.8.x.

Нужно открыть порты 10443,8001,62223,62224 и доступ к адресу 178.89.0.2:15000.

Т.е. чтобы через эти порты можно было работать с Oracle.

Помогите пожалуйста!

Вот текущие настройки iptables-save:

# Generated by iptables-save v1.3.5 on Wed Dec 7 09:58:12 2011

*mangle

:PREROUTING ACCEPT [47357411:29875208382]

:INPUT ACCEPT [40478432:27084408607]

:FORWARD ACCEPT [6841783:2786403235]

:OUTPUT ACCEPT [38410739:27551980581]

:POSTROUTING ACCEPT [45164006:30330280525]

COMMIT

# Completed on Wed Dec 7 09:58:12 2011

# Generated by iptables-save v1.3.5 on Wed Dec 7 09:58:12 2011

*filter

:INPUT ACCEPT [40478432:27084408607]

:FORWARD ACCEPT [6841783:2786403235]

:OUTPUT ACCEPT [38319713:27543758736]

-A INPUT -p tcp -m tcp --dport 10443 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 8001 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 62223 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 62224 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 62224 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 8001 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 8001 -j ACCEPT

-A INPUT -d 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 8001 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 15000 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 15000 -j ACCEPT

-A FORWARD -d 192.168.0.6 -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT

-A FORWARD -d 192.168.0.6 -i eth0 -p tcp -m tcp --dport 2022 -j ACCEPT

-A OUTPUT -p tcp -m tcp --dport 62224 -j ACCEPT

-A OUTPUT -p tcp -m tcp --dport 62223 -j ACCEPT

-A OUTPUT -p tcp -m tcp --dport 8001 -j ACCEPT

-A OUTPUT -p tcp -m tcp --dport 10443 -j ACCEPT

COMMIT

# Completed on Wed Dec 7 09:58:12 2011

# Generated by iptables-save v1.3.5 on Wed Dec 7 09:58:12 2011

*nat

:PREROUTING ACCEPT [1301377:74722509]

:POSTROUTING ACCEPT [1598832:93389347]

:OUTPUT ACCEPT [1108426:67538760]

-A PREROUTING -s 192.168.0.0/255.255.0.0 -d ! 192.168.0.0/255.255.0.0 -p tcp -m multiport --dports 80 -j REDIRECT --to-ports 3128

-A PREROUTING -d 80.241.1.3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.6:80

-A PREROUTING -d 80.241.1.3 -p tcp -m tcp --dport 2022 -j DNAT --to-destination 192.168.0.6:2022

-A POSTROUTING -s 192.168.0.0/255.255.0.0 -o eth1 -p tcp -m multiport --dports 15000 -j SNAT --to-source 178.89.0.2

-A POSTROUTING -s 192.168.0.0/255.255.0.0 -d ! 192.168.0.0/255.255.0.0 -p tcp -m multiport --dports 110,25,443 -j MASQUERADE

COMMIT

# Completed on Wed Dec 7 09:58:12 2011

iptables -L:

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT tcp -- anywhere anywhere tcp dpt:10443

ACCEPT tcp -- anywhere anywhere tcp dpt:vcom-tunnel

ACCEPT tcp -- anywhere anywhere tcp dpt:62223

ACCEPT tcp -- anywhere anywhere tcp dpt:62224

ACCEPT tcp -- anywhere anywhere tcp dpt:62224

ACCEPT tcp -- anywhere anywhere tcp dpt:vcom-tunnel

ACCEPT tcp -- anywhere anywhere tcp dpt:vcom-tunnel

ACCEPT tcp -- anywhere 192.168.0.0/24 tcp dpt:vcom-tunnel

ACCEPT tcp -- anywhere anywhere tcp dpt:hydap

ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:hydap

Chain FORWARD (policy ACCEPT)

target prot opt source destination

ACCEPT tcp -- anywhere oo.ssn.kz tcp dpt:http

ACCEPT tcp -- anywhere gz.ssn.kz tcp dpt:down

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

ACCEPT tcp -- anywhere anywhere tcp dpt:62224

ACCEPT tcp -- anywhere anywhere tcp dpt:62223

ACCEPT tcp -- anywhere anywhere tcp dpt:vcom-tunnel

ACCEPT tcp -- anywhere anywhere tcp dpt:10443

Жирным выделены мои изыски, которые не работают.

И вообще, я не понял где искать настройки iptables? В /etc/sysconfig/iptables и /etc/sysconfig/iptables-config нету ничего этого! Откуда он берет настройки?

Изменено пользователем Darth Emil
Ссылка на комментарий
Поделиться на другие сайты

@Darth Emil, смотри, во-первых, у тебя стоит првило по-умолчанию всех пропускать

*filter

:INPUT ACCEPT [40478432:27084408607]

:FORWARD ACCEPT [6841783:2786403235]

:OUTPUT ACCEPT [38319713:27543758736]

Соответственно, дальше все твои правила не имеют никакого смысла, т.к. у тебя правила только разрешающие, а и так всё разрешено.

Во-вторых, чтобы работал форвардинг, надо включить эту функцию в ядре, для этого надо прописать в файле /etc/sysctl.conf строку: net.ipv4.ip_forward = 1

А вообще, прочитай вот это, мне в своё время очень здорого помогло.

Откуда берёт настройки твой конкретный дистрибутив не знаю, я сталкивался с тем, что настройки хранятся в /etc/default/iptables, /var/lib/iptables, /etc/sysconfig/iptables можно попробовать дать поиск по содержимому. Можно ещё посмотреть что прописано в самом файле, который применяет настройки, обычно он оформлен в виде демона и сидит в /etc/init.d

И ещё, если у тебя включен фаирвол встроенный в дистрибутив, я имею ввиду какая-то графическая приблуда, то его надо отключить и прописывать правила уже туда, куда ссылается файл из /etc/init.d

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

  • 3 месяца спустя...

Посмотреть настрйоки можно тут.

# cat /var/lib/iptables/rules-save

А если так.

-A INPUT -p tcp -i eth0 -m multiport --dport 10443,8001,62223,62224 -j ACCEPT

Если ты собираешься фарвордить пакеты. то.

-A FORWARD -s 192.168.1.0/24 -d 178.89.0.2 -p tcp --dport 15000 -j ACCEPT

тут пакеты с сети 192.168.,, уходят на сеть 178.89.с портом 15000 , разрешаем.

Вообще посомтри вот тут несколько примеров.

http://likeunix.ru/category/linux/gentoo-linux/net-gentoo-linux/iptables-linux/

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

  • 1 год спустя...

Всем привет. Зразу скажу что я нуб, что я всего 4 день как дорвался до ВПС сервака на котором пытаюсь поднять хост для своих сайтов.

 

Суть да дело ... конфигурирую по статьям из инета iptables (сервак на CENTOS 6)

 

на данный момент содержимое iptables такое

 

*filter

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1503 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
#-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
 
#LOG & DROP
-A RH-Firewall-1-INPUT -j LOG
-A RH-Firewall-1-INPUT -j DROP
 
#LOG & DROP SPOOFING
-A INPUT -i eth0 -s 10.0.0.0/8 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 172.16.0.0/12 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 192.168.0.0/16 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 224.0.0.0/4 -j LOG --log-prefix "IP DROP MULTICAST "
-A INPUT -i eth0 -s 240.0.0.0/5 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -d 127.0.0.0/8 -j LOG --log-prefix "IP DROP LOOPBACK "
-A INPUT -i eth0 -s 169.254.0.0/16 -j LOG --log-prefix "IP DROP MULTICAST "
-A INPUT -i eth0 -s 0.0.0.0/8 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 240.0.0.0/4 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 255.255.255.255/32 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 168.254.0.0/16 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 248.0.0.0/5 -j LOG --log-prefix "IP DROP "
 
#OPEN PORT
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
 
COMMIT
 

 

по идее как я понимаю фаеврол ничего блокировать ваще не должен так как 

 

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
 
но при выполнении команды service iptables start закрывается даже 80 порт (поправьте если ошибаюсь но по дефолту страницы по хттп открываются по порту 80?), и это при том что есть строка 
 
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT - в которой вроде 80 порт открыт.
 
 
пробовал и так открывать 80 порт  -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT
 
итог такой же .... 
 
если кому не трудно, разжуйте де что не так, я уже начинаю уставать от этой проблемки =) 
Ссылка на комментарий
Поделиться на другие сайты

Приведите вывод команды iptables-save после выполнения service iptables start.

 

А, хотя, не надо, нашёл косяк :)

 

Смотри, правила в iptables перебираются по порядку, пока не будет выполнено какое-то действие с обрабатываемым пакетом (ACCEPT, DROP или REJECT), если никакого действия в цепочке не применилось, то выполняется действие по умолчанию. Смотрим твои правила:

Первое правила в цепочке INPUT: -A INPUT -j RH-Firewall-1-INPUT

Т.е. все входящие пакеты направляются в цепочку RH-Firewall-1-INPUT. Если там к пакету не будет применено никакое действие, то он вернётся в цепочку INPUT. Смотрим цепочку RH-Firewall-1-INPUT:

-A RH-Firewall-1-INPUT -i lo -j ACCEPT-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1503 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT-A RH-Firewall-1-INPUT -j LOG-A RH-Firewall-1-INPUT -j DROP

Т.е. ты пропускаешь покеты с интерфейса обратной петли, пинги, 5353 и 53 порты по протоколу UDP, пакеты, которые пришли уже по установленному соединению и только новые пакеты (инициирующие соединение) по портам 53 и 1503 по протоколу TCP. Всё остальное ты дропаешь. Т.е. всё, что у тебя ниже написано в цепочке INPUT, не имеет никакого смысла, т.к. пакеты не доходят до тех правил, они дропаются раньше.

По идее, тебе надо добавить -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT до -A RH-Firewall-1-INPUT -j DROP

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

вооооу  :1eye:  как всегда накосячил в элементарном ..... хотя тут еще криво статья походу написана ибо там описано так 

 

 

Чтобы открыть порт 80 (HTTP-сервер), добавьте следующие линии до COMMIT

-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT

 я же как несведующий краб именно тк и сделал  :animal_rooster:

 

так как хотелось хоть как то решить, пока решил путем избавления от цени RH-Firewall-1-INPUT, но теперь :arf2:  блин полезу ее РРРозвращать  :arf2:  

 

пока что спасибо, чуть позже отпишусь  :baby:

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

@Bogus, я выше давал ссылку на нормальную статью, по которой сам учился:

А вообще, прочитай вот это, мне в своё время очень здорого помогло.
Изменено пользователем kvazimoda
Ссылка на комментарий
Поделиться на другие сайты

 

@Bogus, я выше давал ссылку на нормальную статью, по которой сам учился:

А вообще, прочитай вот это, мне в своё время очень здорого помогло.

 

 

 

да, это страница у меня ест ьв закладках, просто сейчас ограничено время, срочно надо валить от хостеров на свой VPS. В дальнейших планах, докупить отдельный VPS  чисто для учебы и тестов .... так что ... перееду и начну основательно осваивать и путем проб и ошибок (на учебном серваке) править свой хост.

 

Подымать виртуалку не хочу, так как там реальных атак по серверу не будет ... а хочется наживо все видеть и со всем поковыряться.  =) 

 

все пошел цепь фаервола ковырять, ато выходные, семья =) все не до инета =)

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

и так, прочитав умных людей =) и приложив мозг и логику  :turned: цепь фаервола таки поддалась =) спасибо товарищу Квазимоде =) 

 

но есть еще вопрос =) в продолжение =)

 

 

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

 
Во-вторых увеличим тайм-аут еще больше (для конкретного адреса), после нескольких неудачных попыток подключения. То есть если выявляется явный перебор паролей, то подключение с такого IP блокируются межсетевым экраном на длительное время. К примеру на час.

  никак не на гуглю как увеличить данные таймауты .... уже ощущение что я гуглить разучился  :wheelchair:

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

@Bogus, блин, на каком сервере?! Какой авторизации?!

На всякий случай, определение слова сервер.

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

@Bogus, блин, на каком сервере?! Какой авторизации?!

На всякий случай, определение слова сервер.

 

сервер под управлением Centos6. Вопрос все относится к авторизации по SSH. То есть нужно сделать паузу между попытками ввести пароль для входа на сервере, и паузу для особо неудачливых подбирателей =)  

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

@Bogus, я у себя сделал на самом iptables. Выдержка из правил:

-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource -A INPUT -p tcp -m recent --update --seconds 1800 --hitcount 11 --name SSH --rsource -j DROP

Т.е. iptables смотрит, если приходит пакет устанавливающий соединение по 22 порту, то IP адрес добавляется в список SSH и увеличивается счётчик таких пакетов. Дальше, если количество таких пакетов превысило 11 штук, то пакеты с этого IP начинают дропаться. Каждые 1800 секунд счётчик уменьшается на один. По умолчанию SSH даёт три попытки ввести пароль. Мы можем 11 раз подключиться за полчаса. Т.е. за первые полчаса атакующий может попробовать 33 пароля, потом по 3 пароля каждые полчаса.

Ты можешь выставить настройки так, как считаешь нужным. Но учти, что можешь и сам в бан попасть, если несколько раз неправильно введёшь пароль :) У меня иногда такое случается, когда рвётся соединение, а потом клиент долго пытается подключиться. Приходится заходить с другого IP и удалять свой адрес из списка.

 

P.S.: Забыл сказать, что даже те пакеты, которые дропаются, они всё равно увеличивают счётчик. Т.е. если клиент продолжает долбиться по 22 порту, то он себе каждым таким долблением откладывает попытку на полчаса.

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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