FTP, wat betekent Protocol voor bestandsoverdracht, is een standaard netwerkprotocol dat wordt gebruikt voor de overdracht van computerbestanden tussen een client en een server op een TCP/IP-gebaseerd netwerk zoals internet.
Aan het einde van het artikel vindt u een kleine proef dat zal je toestaan schatten de kennis die tijdens deze lezing is verworven
FTP is een manier om de veilige overdracht van bestanden van de ene locatie naar de andere mogelijk te maken en kan ook bestandsbeheer op de server mogelijk maken.
Bij FTP zijn er twee verbindingsmodi: Actieve FTP en Passieve FTP.
Actieve FTP
Bij actieve FTP wordt de verbinding tot stand gebracht vanaf de client naar een opdrachtpoort op de server. Wanneer de client een bestandsoverdracht aanvraagt, initieert de server de gegevensverbinding terug naar de client.
De informatiestroom in Active FTP verloopt als volgt:
- De client maakt verbinding vanaf een willekeurige poort (N) met poort 21 op de server (de poort voor FTP) en stuurt het PORT-commando naar de server. Dit commando vertelt de server met welke poort verbinding moet worden gemaakt (poort N+1).
- Zodra de server dit commando ontvangt, maakt hij verbinding vanaf zijn datapoort (meestal poort 20) naar de poort die door de client is opgegeven (N+1) en begint de gegevensoverdracht.
Voordelen van Actieve FTP
- Maakt serverconfiguratie eenvoudiger: Actieve FTP is eenvoudiger te configureren aan de serverzijde, omdat u slechts één poort (poort 21) hoeft te openen en te beluisteren.
Nadelen van actieve FTP
- Firewall-problemen: Clients achter een firewall ondervinden vaak problemen met Active FTP. Dit komt doordat de firewall de door de server geïnitieerde dataverbinding als ongevraagd beschouwt en blokkeert.
- Vereisten voor seguridad: Het kan een veiligheidsrisico vormen als de server de gegevensverbinding met de client initieert, die door een aanvaller kan worden misbruikt.
Kortom, Active FTP is handig en eenvoudig te configureren vanaf de serverkant. Het kan echter problemen hebben met clientfirewalls en bepaalde beveiligingsrisico's met zich meebrengen.
Om deze redenen kiezen veel organisaties voor het gebruik van Passieve FTP, dat, hoewel het misschien moeilijker te configureren is op de server, minder problemen met firewalls kent en betere controle over dataverbindingen biedt.
Actieve FTP wordt doorgaans gebruikt in de volgende scenario's
Servers met strikte firewallbeperkingen: Als de FTP-server zich achter een firewall bevindt met een strikt beveiligingsbeleid dat de poorten beperkt die kunnen worden gebruikt voor inkomende verbindingen, kan Actieve FTP een haalbare optie zijn, omdat deze alleen poort 21 hoeft te openen en te beluisteren.
Beperkingen van serverbronnen: Bij Active FTP hoeft de server voor alle dataverbindingen slechts één poort te openen en te beluisteren. Dit kan nuttig zijn als de server beperkte bronnen heeft en niet overweg kan met het openen van meerdere poorten zoals vereist in Passieve FTP.
Netwerkcontrole: Sommige netwerkbeheerders geven misschien de voorkeur aan Actieve FTP omdat dit meer controle over gegevensverbindingen mogelijk maakt. Bij Active FTP initieert de server de dataverbinding, wat betekent dat beheerders meer controle hebben over de gegevensoverdracht.
Passieve FTP
Passieve FTP is ontworpen om de problemen van firewalls en routers in de actieve FTP-gegevensverbinding te overwinnen. In tegenstelling tot actieve FTP is het bij passieve FTP de client die beide verbindingen (de opdrachtverbinding en de dataverbinding) met de server initieert.
De informatiestroom in Passive FTP is als volgt:
- De client maakt verbinding vanaf een willekeurige poort (N) naar poort 21 op de server (de poort voor FTP) en verzendt de PASV-opdracht naar de server. Dit commando vertelt de server dat deze zich in de passieve modus bevindt en wacht op een reactie van de server met een poort voor de dataverbinding.
- De server reageert vanaf poort 21 op poort N van de client en biedt een niet-bevoorrechte poort (groter dan 1023) om de gegevensverbinding te ontvangen.
- De client initieert vervolgens de tweede verbinding vanaf een andere willekeurige poort (N+1) naar de niet-bevoorrechte poort die door de server is opgegeven. Zodra deze verbinding tot stand is gebracht, begint de gegevensoverdracht.
Voordelen van passieve FTP
- Problemen met firewalls en routers overwinnen: Firewalls en routers staan doorgaans door de client geïnitieerde verbindingen toe, dus Passieve FTP kent over het algemeen niet de firewallproblemen die optreden bij Actieve FTP.
- Verbeterde beveiliging: Omdat de client alle verbindingen initieert, is er minder risico op aanvallen vanaf de server.
Nadelen van passieve FTP
- Complexere serverconfiguratie: Bij Passieve FTP moet de server meerdere onbevoorrechte poorten voor gegevensverbindingen kunnen aanbieden en openen, wat lastiger te configureren en te beheren kan zijn dan bij Actieve FTP.
- Verhoogde belasting van de server: Omdat de server meerdere door de client geïnitieerde verbindingen moet verwerken, zijn er mogelijk meer serverbronnen nodig.
Kortom, Passieve FTP biedt een oplossing voor de firewallproblemen die vaak optreden bij Actieve FTP, en kan ook voor een betere beveiliging zorgen. Het kan echter moeilijker zijn om op de server te configureren en er zijn mogelijk meer serverbronnen voor nodig.
Passieve FTP wordt over het algemeen gebruikt in de volgende scenario's
Clients achter een firewall: Passieve FTP is handig als de client zich achter een firewall bevindt die geen inkomende verbindingen toestaat. Bij passieve FTP is het de client die alle verbindingen initieert, dus firewalls staan deze verbindingen meestal toe.
NAT (netwerkadresvertaling): Als de client zich achter een NAT bevindt, kan deze problemen hebben met Active FTP omdat de NAT mogelijk niet weet hoe hij moet omgaan met de gegevensverbinding die door de server is geïnitieerd. Passieve FTP kan dit probleem vermijden omdat alle verbindingen door de client worden geïnitieerd.
beveiliging: Sommige organisaties geven vanwege veiligheidsoverwegingen wellicht de voorkeur aan passieve FTP. Omdat alle verbindingen door de client worden geïnitieerd, is er minder risico op aanvallen vanaf de server.
Grootschalige datatransmissie: Passieve FTP kan een groot aantal gelijktijdige gegevensoverdrachten verwerken, omdat elke overdracht zijn eigen gegevensverbinding heeft. Dit kan nuttig zijn in scenario's waarin veel gelijktijdige gegevensoverdrachten nodig zijn.
Configuratievoorbeelden op een Cisco-apparaat
Configuratie voor actieve FTP
In dit geval hebt u de interface gedefinieerd van waaruit de router FTP-verbindingen initieert, en heeft u de gebruikersnaam en het wachtwoord opgegeven die voor FTP-verbindingen moeten worden gebruikt.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
Passieve FTP-configuratie
Met het commando 'ip ftp passief' configureert u de router om passieve FTP te gebruiken in plaats van actieve FTP. De gebruikersnaam en het wachtwoord voor FTP-verbindingen kunnen op dezelfde manier worden geconfigureerd als Actieve FTP.
Router(config)# ip ftp passive
Configuratievoorbeelden op een MikroTik-apparaat
Configuratie voor actieve FTP
Deze 'fetch'-opdracht initieert een bestandsoverdracht van de MikroTik-router (client) naar de FTP-server. De standaardmodus is Actieve FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
Passieve FTP-configuratie
Door de optie 'passief: ja' toe te voegen, zal het commando 'fetch' Passieve FTP gebruiken in plaats van Actieve FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
Vergelijkende tabel van actieve FTP- en passieve FTP-verbindingsmodi
Actieve FTP | Passieve FTP | |
---|---|---|
Voordelen | 1. Gemakkelijkere configuratie op de server: er hoeft slechts één poort geopend en beluisterd te worden. | 1. Minder problemen met firewalls en NAT omdat de client alle verbindingen initieert. |
2. Lagere vraag naar serverbronnen: de server hoeft slechts één poort te openen en ernaar te luisteren. | 2. Verbetert de veiligheid omdat alle verbindingen door de client worden geïnitieerd. | |
3. Grotere netwerkcontrole: de server initieert dataverbindingen. | 3. Het kan een groot aantal gelijktijdige gegevensoverdrachten verwerken, aangezien elke overdracht zijn eigen gegevensverbinding heeft. | |
Nadelen | 1. Problemen met firewalls en NAT aan de clientzijde: deze kunnen de door de server geïnitieerde dataverbinding blokkeren. | 1. Complexere configuratie op de server: er moeten meerdere poorten worden aangeboden en geopend. |
2. Mogelijke veiligheidsrisico's: De server initieert de dataverbinding met de client. | 2. Toegenomen vraag naar serverbronnen: de server moet meerdere verbindingen verwerken die door de client zijn geïnitieerd. |