FTP & iptables

Pagina: 1
Acties:

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 10-05 19:25
ik wil ftp zetten in mijn firewall, ik heb hetvolgende geprobeert:
code:
1
2
/sbin/iptables -A INPUT -p tcp --destination-port 21  -j ACCEPT
/sbin/iptables -A INPUT -p tcp ! --syn --source-port 20 --destination-port 1024:65535 -j ACCEPT

Maar ik heb geen idee waarom hij het niet doet, iemand hier wel?

...


Verwijderd

Start eens een tcpdump op je fw en client en maak een ftp connectie. Dan zie je welke pakketten er aankomen en welke niet. Je kunt trwns (IMHO) beter ipv --dport -m state -state ESTABLISHED,RELATED gebruiken...

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 16-05 18:05

Creepy

Tactical Espionage Splatterer

1 FTP sessie werkt minimaal over 2 poorten (1 voor de informatie etc. en 1 voor het binnenhalen van bestanden)
Heb je daar ook rekening mee gehouden?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

idd, ftp-data , poort 20 toch?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 16-05 18:05

Creepy

Tactical Espionage Splatterer

Ja.. maar dan natuurlijk ook met SYN lijkt me.. tis opzich een tweede nieuwe connectie..
! --syn wil toch zeggen alles waar geen SYN bit opzit? Dan kan je dus geen connectie opbouwen..

En nou niet zeggen van ik heb al een connectie met de ftp server.. want je moet toch echt een tweede connectie opbouwen lijkt me

.. voor masquerading met IP-CHAINS moest je wel de FTP module (masq_ftp.o dacht ik)in je kernel hebben.. geen idee of dat met ip-tables ook nog zo is.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Haranaka
  • Registratie: September 2000
  • Laatst online: 10-05 19:25
Ja.. maar dan natuurlijk ook met SYN lijkt me.. tis opzich een tweede nieuwe connectie..
! --syn wil toch zeggen alles waar geen SYN bit opzit? Dan kan je dus geen connectie opbouwen..
------
Hoe moet het dan wel?



En nou niet zeggen van ik heb al een connectie met de ftp server.. want je moet toch echt een tweede connectie opbouwen lijkt me
-----
Connectie lukte inderdaad wel, maar kon niets zien.



.. voor masquerading met IP-CHAINS moest je wel de FTP module (masq_ftp.o dacht ik)in je kernel hebben.. geen idee of dat met ip-tables ook nog zo is.
------
volgens mij heb ik alles van iptables meegebakken.

...


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 16-05 18:05

Creepy

Tactical Espionage Splatterer

/sbin/iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --source-port 20 --destination-port 1024:65535 -j ACCEPT

zo dan lijkt me.. gewoon alles toestaan op poort 21, en alles wat vanaf poort 20 komt..

moet dat trouwens ook niet zijn alles wat op poort 20 binnenkomt? dus
/sbin/iptables -A INPUT -p tcp --destination-port 20 -j ACCEPT ??

Geen idee namelijk.. ik heb op mijn firewall al het binnenkomende openstaan..
en dan met behulp van portscanner alle openstaande poorten dichtgegooid (behalve het ftp en www gebeuren)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Heren we gaan toch niet twee dingen door elkaar halen he :?

Je hebt non-passive ftp (de standaard).
Hierbij verbindt een client op poort 21 op de server (de ftp-control poort). De verbinding vanaf de client gezien gebeurt ook op poort 21. De client geeft aan de server mee op welke poort hij terug mag conecten. Daarna verbindt de server vanaf poort 20 (de ftp-data poort) op de server, terug op de hoge poort die de client zojuist heeft opgegeven. Tja waar zou het woordje non-passive nu vandaan komen :? ;)

Ofwel in dit geval moet zowel poort 20 als 21 openstaan voor de buitenwereld in beide richtingen.

Dan is er nog passive ftp.
Hierbij verbind de client op poort 21 op de server. De server geeft dit keer het port-commando aan de client. Hierop verbindt de client vanaf een hoge poort met een hoge poort op de server (de poort die de server zojuist heeft terug gegeven dus).

Als je een van beiden wil gebruiken, dan zou ik toch adviseren op de ip_contrack_ftp module te laden en de volgende regels in je firewall op te nemen:

voor beiden:
code:
1
2
iptables -A INPUT     -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

non-passive:
code:
1
2
iptables -A INPUT     -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT

en voor passive:
code:
1
2
iptables -A INPUT     -p tcp --sport 1024: --dport 1024:  -m state --state ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -p tcp --sport 1024: --dport 1024:  -m state --state ESTABLISHED,RELATED -j ACCEPT

Let erop dat bovenstaande dus wel met genoemde module moet, die kan namelijk de port-commando's eruit vissen ;)

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 10-05 19:25
Welke raad je mij aan om te gebruiken, passief of non passief? Wat zijn voordelen/nadelen van ze?

...


  • bkor
  • Registratie: November 2000
  • Niet online
De FTP client kiest de modus (passive of non-passive). Browsers lijken altijd passive FTP te gebruiken, een normale FTP client gebruikt gewoonlijk non-passive FTP. In de meeste clients kan je gewoon instellen welke modus (passive/non-passive) je wilt gebruiken.

Een server/firewall moet dus beide ondersteunen wil je geen problemen krijgen/veroorzaken.

Verwijderd

Ik zou non-passive gebruiken.
Ten eerste omdat bijna alle clients standaard in non-passive mode verbinden.

Passive moet meestal expliciet aan de client opgegeven worden en is er voornamelijk om het gebruik van een firewall (aan de client kant) te vergemakkelijken. (Bij passive komen beiden verbindingen vanaf de client).

Verder zet je bij passive nogal en grote range open (alles boven poort 1024 voor clients die boven poort 1024 verbinden).
Nou is dat op onderstaande manier natuurlijk wel redelijk goed beveiligd, maar ik ben toch iemand die liever zo min mogelijk poorten open zet.

Natuurlijk kan je ze ook gewoon combineren.
De ene sluit de andere namelijk niet uit :)

Verwijderd

Op donderdag 28 juni 2001 15:38 schreef bkor het volgende:
De FTP client kiest de modus (passive of non-passive). Browsers lijken altijd passive FTP te gebruiken, een normale FTP client gebruikt gewoonlijk non-passive FTP. In de meeste clients kan je gewoon instellen welke modus (passive/non-passive) je wilt gebruiken.

Een server/firewall moet dus beide ondersteunen wil je geen problemen krijgen/veroorzaken.
Bij browsers kan je dat ook instellen (tenminste de browser die ik ken) inclusief IE.
En als je alleen voor non-passive kiest zullen de problemen op zich wel mee vallen.

  • bkor
  • Registratie: November 2000
  • Niet online
Op donderdag 28 juni 2001 15:43 schreef nelske het volgende:

Bij browsers kan je dat ook instellen (tenminste de browser die ik ken) inclusief IE.
Gebruik je ook Mozilla, Opera en Links? Zoja, waar kan je dat dan instellen (mezelf kennende kijk ik er vast overheen)?

Verwijderd

Yep, de eerste twee gebruik ik inderdaad en tot mijn verbazing hebben die inderdaad beiden niet de optie om op te kunnen geven of je passive of active ftp wil gebruiken :o

Tja dat betekent dat (in ieder geval Mozilla) in passive mode verbindt. Aan de andere kant moet je sowieso gewoon een fantsoenlijke ftp-client gebruiken i.p.v. webbrowser als je daardwerkelijk met een ftp-server bezig bent.

Verwijderd

Ik heb de 4 regels die volgens nelske nodig waren voor active ftp in mijn firewall gezet, ook heb ik de module ip_conntrack_ftp geladen, maar als ik active wil ftpen dan krijg ik:
code:
1
2
3
4
ftp> passive
Passive mode off.
ftp> dir
500 Illegal PORT command.

passive ftpen gaat wel goed, weet iemand wat er nog mis kan gaan?

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 10-05 19:25
Goh, wat leuk dat iemand mijn oude topic omhoog haalt :)
Maar ik denk dat ik je wel wat verder kan helpen. Nelske had een klein foutje gemaakt in deze topic.
Het vervolg en de juiste rules vind je in [topic=174649/1/25]

...


Verwijderd

Op woensdag 10 oktober 2001 09:54 schreef Haranaka het volgende:
Goh, wat leuk dat iemand mijn oude topic omhoog haalt :)
Maar ik denk dat ik je wel wat verder kan helpen. Nelske had een klein foutje gemaakt in deze topic.
Het vervolg en de juiste rules vind je in [topic=174649/1/25]
*kuch* klein foutje :? *kuch* ;)
Pagina: 1