The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Iptables не выпускает Filezilla через FTP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Информационная безопасность (Linux iptables, ipchains / Linux)
Изначальное сообщение [ Отслеживать ]

"Iptables не выпускает Filezilla через FTP"  +/
Сообщение от Agafon email on 22-Апр-11, 20:27 
Всем привет уважаемые формуляне

может кто подскажет новичку в чем может быть дело. Ситуация следующая
стоит centos 5.5 задача быть шлюзом и прокси
утсановлен squid-havp как прокси
и iptables для пакетов
в общем все работает интернет раздаёт сквид кэширует havp+clam сканируют http трафик
проблемма в ftp
  iptables не даёт подлючение к хостеру

конфигурация след

eth0 --internet (192.168.178.50)<---> роутер 192.168.178.1 <----> internet
eth1 -- lan    (192.168.2.1)<----> тачки клиенты(192.168.2.2)

на тачке прописан  шлюз и днс centosА
но не думаю что в днс дело так как гугл пингуется

вот конфиг iptables
# Generated by iptables-save v1.3.5 on Wed Apr 20 03:16:17 2011
*nat
:PREROUTING ACCEPT [13:1184]
:POSTROUTING ACCEPT [1:172]
:OUTPUT ACCEPT [1:172]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Apr 20 03:16:17 2011
# Generated by iptables-save v1.3.5 on Wed Apr 20 03:16:17 2011
*mangle
:PREROUTING ACCEPT [453:35320]
:INPUT ACCEPT [453:35320]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [342:49808]
:POSTROUTING ACCEPT [342:49808]
COMMIT
#1 Completed on Wed Apr 20 03:16:17 2011
# Generated by iptables-save v1.3.5 on Wed Apr 20 03:16:17 2011
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [342:49808]
: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 -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
#DNS
-A RH-Firewall-1-INPUT  -i eth1 -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT  -i eth1 -m udp -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT  -i eth0 -p udp -s 192.168.178.1 --sport 53 -j ACCEPT
-A RH-Firewall-1-INPUT  -i eth0 -p tcp -s 192.168.178.1 --sport 53 -j ACCEPT
#PRINTING
-A RH-Firewall-1-INPUT -i eth1 -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m tcp --dport 631 -j ACCEPT
#Rules for connect to router
#-A RH-Firewall-1-FORWARD -i eth1 -d 192.168.178.1 -m state --state NEW,ESTABLISHED -j ACCEPT
#-A RH-Firewall-1-FORWARD -i eth0 -d 192.168.2.0/24 -m state --state ESTABLISHED -j ACCEPT
#-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 10000 -j ACCEPT

#SQUID
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 3128 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 8080 -j ACCEPT

#VNC
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 5900 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED  -m tcp --sport 80 -j ACCEPT
#HTTPS
-A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -m tcp --sport 443 -j ACCEPT
#SSH
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 22 -j ACCEPT
#WEBMIN
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -p tcp -m state --state NEW,ESTABLISHED,RELATED -m tcp --dport 10000 -j ACCEPT
#FTP
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport 21 -j ACCEPT
#Allow active
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport 20 -j ACCEPT
#Allow passive FTP
-A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED -p tcp --dport 1024 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport 1024 -j ACCEPT
#log end
-A RH-Firewall-1-INPUT -i eth1 -j  LOG --log-level debug --log-prefix "EHT1 -FROM LAN "
-A RH-Firewall-1-INPUT -i eth0 -j  LOG --log-level debug --log-prefix "EHT0 -From INTERNET "
-A RH-Firewall-1-INPUT -j DROP
COMMIT
# Completed on Wed Apr 20 03:16:17 2011

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Iptables не выпускает Filezilla через FTP"  +/
Сообщение от sdog (ok) on 22-Апр-11, 20:56 
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Iptables не выпускает Filezilla через FTP"  +/
Сообщение от Agafon email on 22-Апр-11, 21:47 
заблы дописать что
ip_conntrack_ftp
ip_nat_ftp

загруженны

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Iptables не выпускает Filezilla через FTP"  +/
Сообщение от LSTemp (ok) on 25-Апр-11, 05:00 
>[оверквотинг удален]
> #Allow active
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 20 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
> 20 -j ACCEPT
> #Allow passive FTP
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 1024 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
> 1024 -j ACCEPT

вообще-то в пассивном режиме для передачи данных могут быть использованы любые порты с обеих сторон. клиент открывает два соединения  - одно из них на порт сервера 21. после сервер шлет ему свой порт для канала данных и клиент со своего второго порта устанавливает соединение с указанным портом сервера. при чем тут константа 1024 - для меня загадка (м/б имелись в виду все порты выше 1024?).

> #log end
> -A RH-Firewall-1-INPUT -i eth1 -j  LOG --log-level debug --log-prefix "EHT1 -FROM
> LAN "
> -A RH-Firewall-1-INPUT -i eth0 -j  LOG --log-level debug --log-prefix "EHT0 -From
> INTERNET "
> -A RH-Firewall-1-INPUT -j DROP
> COMMIT
> # Completed on Wed Apr 20 03:16:17 2011

самому попарсить где свалилось влом?

> буду очень признателен ,если кто подскажет в чем может быть дело?!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Iptables не выпускает Filezilla через FTP"  +/
Сообщение от Agafon email on 26-Апр-11, 03:49 
Странно как то дальше
сейчас попробовал вместо ftp.xxxxxx вбить IP который получил пропинговав ftp и соединение установилось тоесть выглядит так как будто iptables не даёт читать днc . Но только в filzila ведь пинг на гугл.ком идёт и на все остальное


Нет не в лом пытаюсь читать но ничего стоющего там не вижу ((

>> самому попарсить где свалилось влом?
>>> буду очень признателен ,если кто подскажет в чем может быть дело?!

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Iptables не выпускает Filezilla через FTP"  +/
Сообщение от Aleks305 (ok) on 28-Апр-11, 21:28 
> Странно как то дальше
> сейчас попробовал вместо ftp.xxxxxx вбить IP который получил пропинговав ftp и соединение
> установилось тоесть выглядит так как будто iptables не даёт читать днc
> . Но только в filzila ведь пинг на гугл.ком идёт и
> на все остальное
> Нет не в лом пытаюсь читать но ничего стоющего там не вижу
> ((
>>> самому попарсить где свалилось влом?
>>>> буду очень признателен ,если кто подскажет в чем может быть дело?!

ftp-сервер открывает порт 20 когда вы получаете файл или хотите посмотреть файл, соответственно он не попадает под правило с established, related - данные не идут, а аутентификация проходит

iptables -A FORWARD -i eth1(ваш внешний инт) -p tcp -s <ip ftp-сервера> --sport 20 -j ACCEPT

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Iptables не выпускает Filezilla через FTP"  +/
Сообщение от Andrey Mitrofanov on 28-Апр-11, 23:27 
> -A RH-Firewall-1-INPUT  -i eth1 -m tcp -p tcp --dport 53 -j
> ACCEPT

Во-первых, я бы постеснялся мешать в одной цепочке стейтлес и стейтфул, извините мой фрунцузский!, правила... Хотя, наверное, должно и так тоже работать.

> #Rules for connect to router
> #-A RH-Firewall-1-FORWARD -i eth1 -d 192.168.178.1 -m state --state NEW,ESTABLISHED -j
> ACCEPT
> #-A RH-Firewall-1-FORWARD -i eth0 -d 192.168.2.0/24 -m state --state ESTABLISHED -j ACCEPT

Вот эти два выкинуть и забыть. (Сам вижу, что закоментированы.)

> #-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

А вот это -- включить, плюс во всех стейтфул правилах ниже оставить только чистый "--state NEW". Пакеты "RELATED,ESTABLISHED" от всех соединей, которые были "открыты" из состояния ровно NEW, будут пропущены _этим_--^^^ правилом. Так, как мне показалось, устроены эти "RH-Firewall-1"-скрипты...

> #SQUID
> -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp
> --dport 3128 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp
> --dport 8080 -j ACCEPT

Соотвтственно:
-A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT

Кстати, заметил, что объединеие INPUT и FORWARD в одну кучу в этих "RH-Firewall-1"-подобных пустит юзеров из локалки не только к сквиду на роутере, но и, сюрприз, на порты, в данном примере, 3128 и 8080 любого хоста снаружи, в интернете. Неаккуратнентко!

> #VNC
> -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW,ESTABLISHED -m tcp
> --dport 5900 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED  -m
> tcp --sport 80 -j ACCEPT

Аналогично, для "простых" сервисов: в первом--^^^ оставить только NEW, второе выкинуть.

> #HTTPS
> -A RH-Firewall-1-INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -m tcp
> --sport 443 -j ACCEPT

Выкинуть, всёравно не работает: нет открытия соединения с NEW. Или переписать.

> #SSH
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 22 -j ACCEPT

То же: оставить только NEW; верно ли, что оно пускает юзеров по ssh не только на прокси.


А... понял. Ещё вариант: убираем общее правило для RELATED,ESTABLISHED, а каждый сервис "выписываем" примерно так:

-A RH-Firewall-1-INPUT -p tcp -s 192.168.2.0/24 --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --sport 22 -d 192.168.2.0/24 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

или так
$IPT_ADD -i eth1 -p tcp -s 192.168.2.0/24 --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT_ADD -o eth1 -p tcp --sport 22 -d 192.168.2.0/24 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT


>[оверквотинг удален]
> #Allow active
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 20 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
> 20 -j ACCEPT
> #Allow passive FTP
> -A RH-Firewall-1-INPUT -i eth1 -s 192.168.2.0/24 -m state --state ESTABLISHED,NEW,RELATED
> -p tcp --dport 1024 -j ACCEPT
> -A RH-Firewall-1-INPUT -i eth0  -m state --state ESTABLISHED,RELATED -p tcp --sport
> 1024 -j ACCEPT

Ага, самое вкусное. :) Не скажу, что всё, что ниже сам написал, но очень старался скопипастить верно.

# Setting up rules for initial FTP connection server
$IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport ftp -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT_ADD -o eth1 -p tcp --sport ftp --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

# Setting up rules for Active FTP server
$IPT_ADD -o eth1 -p tcp --sport ftp-data --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport ftp-data -m state --state ESTABLISHED -j ACCEPT

# Setting up rules for Passive FTP server
$IPT_ADD -i eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT_ADD -o eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

И комментарии тоже не мои -- специально обученный скрипт пишет. То, что выше с $IPT_ADD (два сервиса) сгенерировано из двух последних строк примерно такого конфига:

---8<---
version 5

router r
        server ssh accept src 192.168.2.0/24 inface eth1
        server ftp accept inface eth1
--->8---

На самом деле с комментариями - из "explain" сессии.

Welcome - http://firehol.sf.net/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру