Hozzászólások
hello,
nekem a kovetkezo a nyugom,
netrol szeretnek forwardolni ftp kerest belso halo fele
(a sima 21es portot meghagynam a szerver ftp eleresenek, ezert valasztottam a kulon 212es portot a redirecthez, remelem ez igy OK)
az iptables kodban ezek vannak, megsem megy, tudtok segiteni?
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
> $IPT -A FORWARD -i $ext_if -o $local_if -m state --state NEW -p tcp -d
> 192.168.1.6 --dport 212 -j ACCEPT
>
> $IPT -t nat -A PREROUTING -p tcp --destination-port 212 -i $ext_if -j
> DNAT --to-destination 192.168.1.6:21
- A hozzászóláshoz be kell jelentkezni
iptables -A INPUT -p TCP -d "server_ip" --dport 20 -s "ahonnan engedni akarod" -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP -d "server_ip" --dport 21 -s "ahonnan engedni akarod" -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Ezzel a beállítással elméletileg minden általad engedélyezett host tud csatlakozni az ftp szerverre, feltéve ha az ip_conntrack és ip_conntrack_ftp modul be van töltve.
A 20 (ftp_data) porthoz így csak akkor lehet csatlakozni, ha az már egy korábban megnyitott kapcsolat része vagy következménye.
Üdv.
Duggy
- A hozzászóláshoz be kell jelentkezni
[quote:c909b4d84f="Dr_Mac"]Szerintem meg pont fordítva van a dolog. Passzív módban csak a 21-es portot használja, aktív módban pedig nyit egy másik csatornát az adatátvitelhez.
szerintem is így van :wink:
- A hozzászóláshoz be kell jelentkezni
[quote:3cf513a6c1="Duggy"]iptables -A INPUT -p TCP -d "server_ip" --dport 20 -s "ahonnan engedni akarod" -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP -d "server_ip" --dport 21 -s "ahonnan engedni akarod" -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Ezzel a beállítással elméletileg minden általad engedélyezett host tud csatlakozni az ftp szerverre, feltéve ha az ip_conntrack és ip_conntrack_ftp modul be van töltve.
A 20 (ftp_data) porthoz így csak akkor lehet csatlakozni, ha az már egy korábban megnyitott kapcsolat része vagy következménye.
Üdv.
Duggy
Oké, de ez egy szűkítése az eredeti megoldásnak. Akkor azzal is mennie kellene!
- A hozzászóláshoz be kell jelentkezni
[quote:e5c9f70e67="vmiklos"][quote:e5c9f70e67="Dr_Mac"]Szerintem meg pont fordítva van a dolog. Passzív módban csak a 21-es portot használja, aktív módban pedig nyit egy másik csatornát az adatátvitelhez.
szerintem is így van :wink:
szerintem nem igy van. aktiv modban a kliens nyit adatcsatornat egy elore megbeszelt, >1024 porton a STOR, RECV, LIST, etc szamara, passziv modban pedig a kiszolgalo.
- A hozzászóláshoz be kell jelentkezni
Active FTP:
Passive FTP:
- A hozzászóláshoz be kell jelentkezni
Aktív FTP-nél a kliens egy 1024 feletti porton csatlakozik a szerver 21-es portjához, ami aztán a választott kliens port+1-en visszaválaszol, majd a 20-as portól adja az adatot a kliensnek.
Passzív módban egy csatorna van erre kijelölve, lényegében a tűzfalak miatt találták ki, hogy szűrni lehessen a szervertől a kliensnek küldött adatokat. A kliens itt két 1024 feletti random portot választ és egyikkel a 21-es portra csatlakozik a szerveren, a másikkal a szerver egy random portjára.
- A hozzászóláshoz be kell jelentkezni
Az abrabol latszik, hogy elore nem tudhatod, hogy milyen port-rol jon az kliens kerese.
Tehat forras portot bejovo kereseknel nem adhatsz meg es
kimeno valaszoknal celportot szinten nem adhatsz meg...
- A hozzászóláshoz be kell jelentkezni
Jó az ábra :wink:
- A hozzászóláshoz be kell jelentkezni
az 1026, 1027 es 2024 csak pelda, es a 3-as es 4-es nyilak iranya a lenyeg
- A hozzászóláshoz be kell jelentkezni
[quote:ee70129cfa="snq-"]az 1026, 1027 es 2024 csak pelda, es a 3-as es 4-es nyilak iranya a lenyeg
Igen, passzív ftp-nél mindig a kliens kezdeményez :P
- A hozzászóláshoz be kell jelentkezni
[quote:3003b54eeb="snq-"]az 1026, 1027 es 2024 csak pelda, es a 3-as es 4-es nyilak iranya a lenyeg
De a lenyeg, hogy 1024 feletti "veletlen" (elore nem meghatarozott / nem tudhato) portrol jon a kliens...
[code:1:3003b54eeb]
iptables -A INPUT -p tcp --sport ftp -j ACCEPT
...
iptables -A INPUT -p tcp --sport ftp-data -j ACCEPT
...
[/code:1:3003b54eeb]
Ez igy nem jo mert csak azokat a kereseket engedi be amik az FTP (21) es FTP-DATA (20) portokrol jonnek...
- A hozzászóláshoz be kell jelentkezni
[quote:0f04522094="norcrys"]Igen, passzív ftp-nél mindig a kliens kezdeményez :P
amennyiben a kezdemenyezes alatt egy PASV kuldest es varakozast PORT <akarmi>-re ertesz, igen :)
- A hozzászóláshoz be kell jelentkezni
[quote:8d710322a0="maszili"][quote:8d710322a0="snq-"]az 1026, 1027 es 2024 csak pelda, es a 3-as es 4-es nyilak iranya a lenyeg
De a lenyeg, hogy 1024 feletti "veletlen" (elore nem meghatarozott / nem tudhato) portrol jon a kliens...
[code:1:8d710322a0]
iptables -A INPUT -p tcp --sport ftp -j ACCEPT
...
iptables -A INPUT -p tcp --sport ftp-data -j ACCEPT
...
[/code:1:8d710322a0]
Ez igy nem jo mert csak azokat a kereseket engedi be amik az FTP (21) es FTP-DATA (20) portokrol jonnek...
Igen, az 1024 feletti portokat engedélyezni kell...
- A hozzászóláshoz be kell jelentkezni
Esetleg megprobalhatod igy::
[code:1:7972cb34e3]
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
...
# aktiv ftp
iptables -A INPUT -p tcp --dport ftp -j ACCEPT
iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
# ha passziv ftp (ftp szerverben be kell allitani hogy ide jojjon)
iptables -A INPUT -p tcp --dport 60000:60010 -j ACCEPT
...
iptables -A OUTPUT -j ACCEPT
...
[/code:1:7972cb34e3]
- A hozzászóláshoz be kell jelentkezni
Üdv!
a gondom a következő,
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A INPUT -p tcp --sport ftp -j ACCEPT
iptables -A INPUT -p tcp --dport ftp -j ACCEPT
iptables -A INPUT -p tcp --sport ftp-data -j ACCEPT
iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
ugyanezek be vannak állítva az OUTPUT láncon is, de mégsem megy az ftp mi kell még hol lehet a hiba ???
a rendszer debian woody kizárólag ftp szerverként kellene üzemelnie egy lanon.
- A hozzászóláshoz be kell jelentkezni
[quote:6afbad4452="Anonymous"]Üdv!
a gondom a következő,
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A INPUT -p tcp --sport ftp -j ACCEPT
iptables -A INPUT -p tcp --dport ftp -j ACCEPT
iptables -A INPUT -p tcp --sport ftp-data -j ACCEPT
iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
ugyanezek be vannak állítva az OUTPUT láncon is, de mégsem megy az ftp mi kell még hol lehet a hiba ???
a rendszer debian woody kizárólag ftp szerverként kellene üzemelnie egy lanon.
Az ip_conntrack és ip_conntrack_ftp kernel modul használatát már próbáltad?
Gus
- A hozzászóláshoz be kell jelentkezni
Annyit kérdeznék, hogy nem próbáltad az OUTPUT láncot nem korlátozni?
Active FTP
Server Kliens
ftp-cmd
21 <----------> port < 1024
ftp-data
20 <-----------> port <1024
Ha ez így van, akkor az eredetileg leírt és az általam leírt módszerek működni fognak,ha az OUTPUT láncon nincs korlátozás. Vagy az OUTPUT láncon engedélyezni kell a 20 és 21-es portról kifelé menő csomagokat.
Itt nincsen más megoldás. Egyrészt mert így logikus, másrészt mert ha megnézed a neten az ilyen jellegű témákat, ott is ezeket írják. És nem utolsó sorban, nálam is így működik. Egyelőre hiba nélkül.
Ami még gázos lehet, ha az FTP szerver progi úgy van konfigolva, hogy DNS-lookup-oljon a kapcsolódó kliens tekintetében és a DNS kérések és/vagy a válaszok blokkolva vannak. Márpedig ha OUTPUT policy DROP, akkor, ez is lehet a probléma.
Duggy
- A hozzászóláshoz be kell jelentkezni
Jaj!
Mégegyszer átfutottam a témán (egy kis pihenés után). Az alap beállításnál felesleges --sport ftp és --sport ftp-data sorok, hiszen a forrás portok sohasem lesznek 20 vagy 21.
Megnéztem az általam leírt részletet isés továbbra is azt mondom, hogy az jó, annyi kiegészítéssel, hogy az OUTPUT láncot nem kellene korlátozni, vagy ha igen, akkor így:
iptables -A OUTPUT -p tcp -s "szerver_ip_cím" --sport 20:21 -j ACCEPT
Így elméletileg engedélyezett minden olyan kifelé menő forgalom, amely a 20 és 21-es portokról indul.
Végül a DNS lookup-os dologra is oda kellene figyelni.
Duggy
- A hozzászóláshoz be kell jelentkezni
[quote:cf999ecc97="Anonymous"]Üdv!
a gondom a következő,
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A INPUT -p tcp --sport ftp -j ACCEPT
iptables -A INPUT -p tcp --dport ftp -j ACCEPT
iptables -A INPUT -p tcp --sport ftp-data -j ACCEPT
iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
ugyanezek be vannak állítva az OUTPUT láncon is, de mégsem megy az ftp mi kell még hol lehet a hiba ???
a rendszer debian woody kizárólag ftp szerverként kellene üzemelnie egy lanon.
Ha be tudnád másolni ide az 'iptables -L' parancs kimenetét, könnyebb volna. Egyébként a conntrack-ftp modul használata tényleg nem hülyeség.
- A hozzászóláshoz be kell jelentkezni
Haho!
Szerintem az lehet a gond, hogy az ftp server, amikor passziv adatatvitelt
folytat, akkor nem csak a 21es portot hasznalja, hanem nyitogat masik
portokat is. Ezeket ha nem nyitod ki, akkor csak aktiv modban fog menni az
ftpzes. Pure ftpd alatt pl megadhato, hogy hanyas portokon menjen a passziv
uzemmod, azokat pedig kulon ki kell nyitni a tuzfalon.
Bye,
onyx
- A hozzászóláshoz be kell jelentkezni
[quote:e2fbe4a953="onyx"]Haho!
Szerintem az lehet a gond, hogy az ftp server, amikor passziv adatatvitelt
folytat, akkor nem csak a 21es portot hasznalja, hanem nyitogat masik
portokat is. Ezeket ha nem nyitod ki, akkor csak aktiv modban fog menni az
ftpzes. Pure ftpd alatt pl megadhato, hogy hanyas portokon menjen a passziv
uzemmod, azokat pedig kulon ki kell nyitni a tuzfalon.
Bye,
onyx
Szerintem meg pont fordítva van a dolog. Passzív módban csak a 21-es portot használja, aktív módban pedig nyit egy másik csatornát az adatátvitelhez.
- A hozzászóláshoz be kell jelentkezni