[FTP] hoe FTP toestaan op firewall

Pagina: 1
Acties:
  • 2.139 views sinds 30-01-2008
  • Reageer

  • Ye Greate'96
  • Registratie: Juli 2001
  • Laatst online: 11-08-2021
Ik ben aan het testen geweest met het dichtzetten van onze Cisco ASA firewall, aangezien al het verkeer van binnen naar buiten nu nog open staat.

Nu heb ik een aantal regels aangemaakt voor gewoon internet verkeer, maar ik stuit op het probleem van FTP.
Ik heb poort 21 en 22 opengezet, maar dat is schijnbaar niet genoeg om FTP verkeer te gebruiken.

Ik voel er niet zoveel voor om een hele range poorten boven de 5004 open te zetten.


Is er een manier om FTP verkeer toe te staan, waarbij bijvoorbeeld alleen de poorten 21, 22 en 5004 open hoeven te staan?

Ik ben met 4 verschillende clients bezig geweest, maar het lukt mij niet om gewoon te kunnen ftp-en

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-11 20:02

Kippenijzer

McFallafel, nu met paardevlees

20+21 ipv 21+22

Verwijderd

handig linkje met uitleg over active en passive FTP en hoe verbindingen worden geïnitialiseerd.

Volgens mij zou je moeten kunnen volstaan met alleen poort 21 open zetten. De server neemt immers het initiatief voor het maken van de verbinding op poort 20. Maar misschien dat je uitgaande connecties blokt of dat de clients ook nog firewalls hebben draaien die voorkomen dat de server een tweede verbinding kunnen leggen met de Client voor de daadwerkelijke transfer zelf.

Waarschijnlijk zul je voor dat laatste (ook) passive FTP moeten gebruiken.

  • Ye Greate'96
  • Registratie: Juli 2001
  • Laatst online: 11-08-2021
Ik lees overal dat voor de commands poort 21 gebruikt wordt en voor de data poort 20 (staat verkeerd in mijn openingspost)

Maar zowel bij passive als active, word er gebruik gemaakt van een willekeurige poort boven de 1023.

  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Bij passive mode maakt de FTP server zelf connectie met de client voor een datatransfer.
De client moet dan een ip en poort opgeven waarop de dataconnectie moet verbinden.
Dat is wat je wil, dan moet de FTP server geen poorten open hebben staan voor data transfer.

Merk dan wel op dat als de client ook een firewall heeft (wat meestal zo is :)) -> geen ftp :) .

Best een range openzetten dus ...
Op je FTP server moet je dan instellen dat die range gebruikt wordt voor dataconnecties.

[ Voor 10% gewijzigd door DieterVDW op 20-12-2006 11:37 ]


  • flipm0
  • Registratie: September 2000
  • Laatst online: 14-11 17:45
Voor FTP-en van binnen naar buiten zal je alleen passive FTP kunnen gebruiken, vooropgesteld dat je firewall geen ingebouwde ftp-proxy heeft. Passive FTP werkt globaal gezien als volgt:

1. Client connect op poort 21 naar server (control connection)
2. De login, commando's & directory listings gaan over de control connection
3. Wanneer de client een file wil downloaden wijst de server een poort toe in een bepaalde reeks, meestal is dit 49152-65534, waaraan de client kan connecten (data connection). De data-overdracht vindt dan over deze tweede connectie plaats.

Wanneer de FTP-servers waaraan jij je connect zich houden aan de bovengenoemde port-range, deze is hiervoor door IANA geregistreerd, kan je door het openzetten van poort 21 en de range 49152-65534 naar buiten FTP-en. Active FTP gaat in principe nooit werken met een NAT-firewall, aangezien hierbij over poort 20 de data-connectie door de server wordt opgezet naar de client.

  • flipm0
  • Registratie: September 2000
  • Laatst online: 14-11 17:45
DieterVDW schreef op woensdag 20 december 2006 @ 11:37:
Bij passive mode maakt de FTP server zelf connectie met de client voor een datatransfer.
De client moet dan een ip en poort opgeven waarop de dataconnectie moet verbinden.
Dat is wat je wil, dan moet de FTP server geen poorten open hebben staan voor data transfer.

Merk dan wel op dat als de client ook een firewall heeft (wat meestal zo is :)) -> geen ftp :) .

Best een range openzetten dus ...
Op je FTP server moet je dan instellen dat die range gebruikt wordt voor dataconnecties.
Precies andersom dus...bij active mode wordt de dataconnectie door de server opgezet naar de client, bij passive wijst de server een poort toe waaraan de client kan connecten. De control-connection wordt altijd door de client geïnitieerd.

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Je kunt voor deze data connections in veel FTP-servers de poorten instellen, zo heb ik bij FileZilla Server bij de Settings onder kopje Passive Mode Setting het vinkje "Use Custom Port Range" ingesteld op een (kleine) reeks die ik heb geportforward in m'n router. Betekent wel dat het aantal portforwards ook het aantal (passive) connections bepaalt.

Verwijderd

Bij de ASA moet je om FTP door te laten ook nog een FTP inspect rule aanmaken. Dit gaat met het PIX commando fixup ftp. Volgens mij is het commando op de ASA veranderd in inspect ftp, maar je cli zet het automatisch om.

Kortom, voor ftp moeten twee poorten opengezet worden van binnen naar buiten, dat is ftp (21) en ftp-data (20). Dan zet je op de ASA de FTP inspect rule aan. Deze controleert elke FTP verbinding en zet naar gewenst de juiste dynamic poorten open (voor alleen de verbindende client natuurlijk).

[ Voor 38% gewijzigd door Verwijderd op 20-12-2006 11:56 ]


Verwijderd

Eens kijken hoe het precies zit... Gelijk getest in Ethereal. (helaas heb ik zelf geen FTP-server meer draaien, dus kon alleen client-verkeer bekijken).

normal FTP. Verbinding wordt gelegd met poort 21 (deze poort moet open staan op de server) en daar wordt ook bij vermeld op welke poort de server de data af kan leveren bij de Client. Deze data wordt door de FTP-server verstuurd vanaf poort 20. De firewall op de Client moet dus op één of andere manier weten dat die ftp-server (op dat moment) een verbinding naar die poort mag leggen.

passive FTP: Verbinding wordt gelegd met poort 21 (moet open staan op server). In plaats van het vermelden op welke poort de server data kan afleveren vermeld het PASV (passive). Hiermee opent de server een extra poort voor de verbinding en stuurt dit poortnummer vanaf poort 21 terug naar de Client. De Client legt vervolgens verbinding met de door de server aangegeven data-poort. De firewall op de server moet dus weten dat die Client (op dat moment) een verbinding mag leggen met dat poortnummer.

(ok, dat klopt, laat Ehtereal mij ook zien)

Vreemd, ik kan me niet herinneren zelf ooit ergens hele ranges open te hebben moeten zetten.

edit: blijkbaar had ik zo'n slim-achtig iets wat dynamisch deed :+ en daarmee moet je dan waarschijnlijk passive ftp server-side regelen. Niet passive moeten Clients zelf regelen.

hoe dan ook, het lijkt me niet nodig om poort 20 open te zetten voor inkomende connecties.

[ Voor 11% gewijzigd door Verwijderd op 20-12-2006 12:13 ]


  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
flipm0 schreef op woensdag 20 december 2006 @ 11:43:
[...]


Precies andersom dus...bij active mode wordt de dataconnectie door de server opgezet naar de client, bij passive wijst de server een poort toe waaraan de client kan connecten. De control-connection wordt altijd door de client geïnitieerd.
Excuseer :) . Ik twijfelde ook even maar dacht mij te herinneren dat het de client was die het PASV commando doorstuurt samen met ip en poort , niet dus ...

Verwijderd

DieterVDW schreef op woensdag 20 december 2006 @ 11:59:
[...]


Excuseer :) . Ik twijfelde ook even maar dacht mij te herinneren dat het de client was die het PASV commando doorstuurt samen met ip en poort , niet dus ...
De client stuurt het pasv commando, daarna geeft de server de passive dataport door, zodat de client naar die port kan connecten.
Pagina: 1