LINUX.ORG.RU
ФорумAdmin

проблема с открытием ftp в iptables


0

0

Подскажите, как открыть входящие и исходящие ftp соединения в пассивном режиме?
загружаю ip_conntrack_ftp
пишу следующее правило:
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20:21 -j ACCEPT

Что еще надо добавить??

★★

Ответ на: комментарий от aliens

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

В OUTPUT либо аналогичное правило, либо ACCEPT на все пакеты.

P.S. "port 20:21" имеет смысл заменить на "port 21", все равно первый пакет DATA соединения будет считаться RELATED (с помощью ip_conntrack_ftp).

mky ★★★★★
()
Ответ на: комментарий от mky

хм, странно. Добавил, без включеного фаервола заходит на фтп (vsftpd) с включеным и следующими правилами нет:

#!/bin/bash MODEM_IF="eth0" #modem iface SL_IF="eth1" #SevLan iface MODEM_IP="192.168.66.1" SL_IP="192.168.8.66" MY_MODEM_IP="192.168.66.250" NETMASK_DEF="255.255.255.0"

LO_IF="lo" LO_IP="127.0.0.1"

IPT="/sbin/iptables"

modprobe ip_conntrack_ftp

$IPT -F $IPT -F -t filter

$IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP

$IPT -A INPUT -p all -i $LO_IF -j ACCEPT $IPT -A OUTPUT -p all -o $LO_IF -j ACCEPT

$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A INPUT -p tcp -i $MODEM_IF --dport 22 -d $MY_MODEM_IP -j ACCEPT $IPT -A OUTPUT -p tcp -o $MODEM_IF --sport 22 -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT $IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT $IPT -A FORWARD -p icmp --icmp-type 0 -j ACCEPT $IPT -A FORWARD -p icmp --icmp-type 8 -j ACCEPT $IPT -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT $IPT -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

$IPT -A INPUT -p tcp --sport 53 -i eth0 -j ACCEPT $IPT -A FORWARD -p tcp --sport 53 -j ACCEPT $IPT -A FORWARD -p tcp --dport 53 -j ACCEPT $IPT -A OUTPUT -p tcp --dport 53 -o eth0 -j ACCEPT $IPT -A INPUT -p udp --sport 53 -i eth0 -j ACCEPT $IPT -A FORWARD -p udp --sport 53 -j ACCEPT $IPT -A FORWARD -p udp --dport 53 -j ACCEPT $IPT -A OUTPUT -p udp --dport 53 -o eth0 -j ACCEPT

$IPT -A INPUT -p tcp --dport 80 -j ACCEPT $IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT

$IPT -A INPUT -p tcp -i $MODEM_IF --dport 3306 -j ACCEPT $IPT -A OUTPUT -p tcp -o $MODEM_IF --sport 3306 -j ACCEPT

$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED --dport 21 -j ACCEPT $IPT -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

Надо: октрыть 80 порт со всех интерфейсов, порт мускула, все ДНС,SSH только eth0 ($MODM_IF), входящие и исходящие фтп соединения.

aliens ★★
() автор топика
Ответ на: комментарий от aliens

хм, странно. Добавил, без включеного фаервола заходит на фтп (vsftpd) с включеным и следующими правилами нет:

#!/bin/bash
MODEM_IF="eth0" #modem iface
SL_IF="eth1" #SevLan iface
MODEM_IP="192.168.66.1"
SL_IP="192.168.8.66"
MY_MODEM_IP="192.168.66.250"
NETMASK_DEF="255.255.255.0"

LO_IF="lo" LO_IP="127.0.0.1"

IPT="/sbin/iptables"

modprobe ip_conntrack_ftp

$IPT -F $IPT -F -t filter

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

$IPT -A INPUT -p all -i $LO_IF -j ACCEPT
$IPT -A OUTPUT -p all -o $LO_IF -j ACCEPT

$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A INPUT -p tcp -i $MODEM_IF --dport 22 -d $MY_MODEM_IP -j ACCEPT
$IPT -A OUTPUT -p tcp -o $MODEM_IF --sport 22 -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type 0 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

$IPT -A INPUT -p tcp --sport 53 -i eth0 -j ACCEPT
$IPT -A FORWARD -p tcp --sport 53 -j ACCEPT
$IPT -A FORWARD -p tcp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 53 -o eth0 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -i eth0 -j ACCEPT
$IPT -A FORWARD -p udp --sport 53 -j ACCEPT
$IPT -A FORWARD -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 53 -o eth0 -j ACCEPT

$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT

$IPT -A INPUT -p tcp -i $MODEM_IF --dport 3306 -j ACCEPT
$IPT -A OUTPUT -p tcp -o $MODEM_IF --sport 3306 -j ACCEPT

$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED --dport 21 -j ACCEPT
$IPT -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

Надо: октрыть 80 порт со всех интерфейсов, порт мускула, все ДНС,SSH только eth0 ($MODEM_IF), входящие и исходящие фтп соединения.

aliens ★★
() автор топика
Ответ на: комментарий от aliens

ipchains -A output -i $ext_iface -p tcp -s $ipaddr $unprivports -d $anywhere $unprivports -j ACCEPT ipchains -A input -i $ext_iface -p tcp ! -y -s $ipaddr $unprivports -d $anywhere $unprivports -j ACCEPT для ipchains но суть должна быть ясна.

LightTouch
()
Ответ на: комментарий от aliens

херово ты его осилил :(
если б ты не вы**нулся по поводу "осилил" можно было бы и помочь.
Ты хоть бы повторы правил для начала поубирал и попытался в логике работы iptables разобраться

anonymous
()
Ответ на: комментарий от aliens

google:// iptables ftp

Просто туева хуча инфы вываливается..

boombick ★★★★★
()
Ответ на: комментарий от LightTouch

не забываем про старшие порты ...

anonymous
()
Ответ на: комментарий от aliens

> ман я осилил

Вот тебе правила для passive ftp, только больше не надо кричать, что ты всё осилил:

iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT

grad
()
Ответ на: комментарий от grad

умник? напсиано, без открывания туевой кучи портов. Такой метод работает и не жужжит. Хочется без открывания всех портов, а с использованием ip_conntrack_ftp, по которому я что-то нормальной инфы с применением найти не могу.

aliens ★★
() автор топика
Ответ на: комментарий от sdio

LightTouch sdio, спасибо. Я по тому ману и читаю. Про повторы, не убрал, т.к. последние правила для фтп мучаю. Больше повторных вроде нету.

aliens ★★
() автор топика
Ответ на: комментарий от aliens

> умник? напсиано, без открывания туевой кучи портов.

Может хватит газифицировать лужи? Ман ты не осилил, а картинку осилишь?

http://www.astalavista.ch/images/content/passive_ftp.gif

Может, объяснишь, как обойтись без "открывания туевой кучи портов"?

grad
()
Ответ на: комментарий от grad

В тех правилах, что я привёл, на новые внешние соединения открыт только один порт: 21, остальные соединения позволяются только если они RELATED или ESTABLISHED.

grad
()
Ответ на: комментарий от grad

да, напишу. Нашел на буржуйском сайте. Да и тут выше писали. открываем 21 порт с NEW, ESTABLISHED, и исходящий с 21 порта на ESTABLISHED, RELATED. и подгружаем ip_conntrack_ftp. и все работает. Без подгрузки модуля,не работает. Так что сами идите и обосритесь в лужу

aliens ★★
() автор топика
Ответ на: комментарий от aliens

> открываем 21 порт с NEW, ESTABLISHED, и исходящий с 21 порта на ESTABLISHED, RELATED. и подгружаем ip_conntrack_ftp. и все работает.

То есть, ты хочешь сказать, что всего лишь с _одним_ открытым портом под номером 21 у тебя работает FTP в _пассивном_ режиме?? Это уже не смешно!

То есть, вот эти два правила вместе с ip_conntrack_ftp разрешают PASSIVE FTP??

iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT

А вот давай ты не будешь врать, упрямый динозавр!!! Признай, что ты был неправ и мирно разойдёмся.

grad
()
Ответ на: комментарий от grad

http://www.astalavista.ch/images/content/passive_ftp.gif

Посмотри на картинку и скажи, что будет, когда пакет придёт от клиента - к серверу на порт 3268, а на сервере iptables DROP'ает все входящие пакеты на этот порт?? Ты думашь, что он его магическим образом пропустит? Как бы не так! Ты облажался.

grad
()
Ответ на: комментарий от grad

у меня работает. Видимо ip_conntrack_ftp отрабатывает. Также, я на вас не наезжал, это раз. Во вторых, не обзывал, так что идите нахуй газуйте свои лужи вместе с динозаврами. Тред закрыт

aliens ★★
() автор топика
Ответ на: комментарий от aliens

Вот, кстати, ссылочка, которая тебе ещё раз докажет, что я прав: http://ubuntuforums.org/showthread.php?t=35642

> я на вас не наезжал .. не обзывал

То есть, когда ты сказал "убейся" на предложение почитать ман, это по-твоему нормально? Вот ведь молодёжь пошла.. бескультурщина :(

grad
()
Ответ на: комментарий от grad

У него политика ACCEPT на всё вот и работает у него - не кипятись. И это не безкультурщина - это просто результат массовой конвейрной сборки долборобота.

kilolife ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.