URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90293
[ Назад ]

Исходное сообщение
"помогите открыть SSH при DROP политиках"

Отправлено HAEMHIK , 14-Ноя-10 11:01 
Помогите пожалуйста открыть доступ по SSH c внешки при изначально установленных DROP политиках, с ниже приведенным конфигом я не имею доступа к SSH =(

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT


Содержание

Сообщения в этом обсуждении
"помогите открыть SSH при DROP политиках"
Отправлено Pahanivo , 14-Ноя-10 11:34 
неособо разюираюсь в айпитабласах но второй строке явная ощибка
> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> iptables -A OUTPUT -p udp --sport 22 -j ACCEPT

"помогите открыть SSH при DROP политиках"
Отправлено Дядя Федор , 14-Ноя-10 11:48 
> неособо разюираюсь в айпитабласах но второй строке явная ощибка
>> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
>> iptables -A OUTPUT -p udp --sport 22 -j ACCEPT

Еще как явная. Потому как к протоколу UDP ssh Отношения не имеет. Да и вообще - на кой черт в OUTPUT ставить дефолтную политику в DROP - хоть убей не понимаю. Разве что из склонности к мазохизму. :) Еще не мешало бы добавить в INPUT пакеты со статусом ESTABLISHED и RELATED



"помогите открыть SSH при DROP политиках"
Отправлено Дядя Федор , 14-Ноя-10 11:49 
Да и ещё. Приведите уж тогда вывод iptables -nL INPUT, iptables -nL OUTPUT

"помогите открыть SSH при DROP политиках"
Отправлено Гусище , 14-Ноя-10 14:43 
> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> iptables -A OUTPUT [u]-p tcp[/u] --sport 22 -j ACCEPT

Этого достаточно. Видимо у тебя в другом проблема. Поищи tcpdump'om.


"помогите открыть SSH при DROP политиках"
Отправлено HAEMHIK , 15-Ноя-10 17:29 
Спасибо с SSH я разобрался, но появился еще один вопрос по поводу доступа к ftp и http

# C этими правилами я имею доступ с внешки на эти порты, но не могу поднять соединения по этим портам с сервера-localhost
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT

# C этими все наоборот т.е. внешка закрыта, а исходящие соединения с localhost'a работают
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT

Я должен все вышеприведенные правила добавлять в файрвол, или так это не делатся ? что-то мне подсказывает что это огород )). Сильно не пинайте я только учусь ...


"помогите открыть SSH при DROP политиках"
Отправлено Гусище , 15-Ноя-10 20:49 
Исходящие пакеты с локального приложения, поступают на другое локальное приложение, через внутренний логический интерфейс loopback. Хорошо бы обеспечить ему беспрепятственную работу:

Это полностью открывает loopback-интерфейс для общения приложений на локалхосте через "сеть", для всех протоколов и портов:
> iptables -A INTUT -i lo -j ACCEPT
> iptables -A OUTPUT -o lo -j ACCEPT

Это для того, чтобы к вам на веб-сервер пакеты проходили из вне:
> iptables -A INPUT -p tcp --dport 80 -j ACCEPT

разрешаем так же ответы на http-запросы:
> iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

__________________________________________________________________________________
С FTP там какие-то заморочки с портами будут. Не помню... :-)
тут вот пишут:
http://slacksite.com/other/ftp.html

Нужно будет задействовать механизм отслеживания состояний соединений (conntrack), чтобы с FTP работать, вроде бы...

типа вот такого решения:

Пускаем входящие пакеты только на 20 и 21 порт для установки соединения:
>iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT

пропускаем все остальные пакеты в рамках уже установленных соединений на любой порт:
>iptables -A INPUT -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

и выпускаем тоже:
>iptables -A OUTPUT -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

(И кстати если вся эта конструкция будет работать, то правило iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT окажется не нужным вовсе, т.к. это тоже по логике пакеты в рамках уже установленных соединений, конечно если вы не собираетесь с вашего сервера на http чужие заходить, никому не раздаёте тырнеты и пр... ))

вообще я не разбираюсь, так что могу и нагнать. :-)))))


"помогите открыть SSH при DROP политиках"
Отправлено Andrey Mitrofanov , 16-Ноя-10 11:37 
> Я должен все вышеприведенные правила добавлять в файрвол, или так это не
> делатся ? что-то мне подсказывает что это огород )). Сильно не
> пинайте я только учусь ...

Да, это огород, и да, именно так это и делается. То есть "одна задача" -- ку-у-уча правил iptables. iptables -- достаточно "низкоуровневое" средство, а-ля ассемблер~~~

Ну с %) "небольшими" отличиями... пример= http://www.opennet.me/openforum/vsluhforumID10/4099.html#7