SFTP

SFTP-poortgids: veilige bestandsoverdracht via SSH

Begrijp hoe SFTP SSH gebruikt, wanneer poort 22 moet worden vrijgegeven, hoe u externe toegang kunt testen en hoe u accounts, mappen en auditlogboeken kunt beveiligen.

Standaardpoort
22
Protocol
TCP
Primair gebruik
Veilige bestandsoverdracht
Transport
SSH

Wat is de SFTP-poort?

SFTP is het SSH-bestandsoverdrachtprotocol. Het loopt meestal via dezelfde TCP-poort als SSH, poort 22, en gebruikt het SSH-transport om gebruikers te authenticeren, bestandsoverdrachten te coderen en mapbewerkingen te beschermen. In tegenstelling tot klassieke FTP heeft SFTP geen apart commandokanaal en datakanaal nodig.

  • SFTP gebruikt normaal gesproken SSH op poort 22

    Als een SSH-server op 22 luistert en SFTP is ingeschakeld voor het account, kunnen SFTP-clients doorgaans verbinding maken zonder een andere poort te openen.

  • Veilige overdracht vereist nog steeds toegangscontrole

    Encryptie beschermt bestanden tijdens de overdracht, maar u hebt nog steeds sterke authenticatie, beperkte mappen, zo min mogelijk rechten en logboekregistratie nodig.

Hoe SFTP werkt

SFTP is geen FTP waaraan codering is toegevoegd. Het is een apart protocol dat binnen een SSH-sessie draait. De client maakt verbinding met de SSH-server, authenticeert met een wachtwoord, sleutel, certificaat of andere door SSH ondersteunde methode en start vervolgens het SFTP-subsysteem om mappen weer te geven, bestanden te uploaden, bestanden te downloaden, paden te hernoemen en machtigingen te beheren.

Omdat SFTP op SSH draait, profiteert het van SSH-encryptie, hostsleutelverificatie en volwassen authenticatiecontroles. Voor de meeste implementaties is de SFTP-poort daarom TCP 22. Sommige organisaties verplaatsen SSH en SFTP naar een andere poort om achtergrondscanruis te verminderen, maar het wijzigen van de poort is geen vervanging voor authenticatie- en autorisatiecontroles.

SFTP versus FTP, FTPS en SCP

Klassieke FTP gebruikt gewoonlijk poort 21 voor opdrachten en aparte datapoorten voor overdrachten. Dat maakt firewalling en NAT complexer, en gewone FTP verzendt inloggegevens en gegevens zonder codering. FTPS voegt TLS toe aan FTP, maar behoudt nog steeds het FTP-model met opdracht- en datakanalen.

SFTP gebruikt één SSH-verbinding, die doorgaans gemakkelijker door firewalls kan worden doorgelaten en eenvoudiger te controleren is. SCP maakt ook gebruik van SSH, maar SFTP biedt rijkere bestandsbeheerbewerkingen en is de betere standaard voor interactieve overdrachten, partnerdrops en geautomatiseerde bestandsworkflows.

Wanneer u SFTP-toegang moet openen

Open SFTP-toegang wanneer een partner, automatiseringstaak, back-upproces, implementatiepijplijn of intern team veilig bestanden moet uitwisselen met een server. Veelvoorkomende voorbeelden zijn datafeeds van leveranciers, nachtelijke exporten, het verzamelen van logbestanden, beveiligde documentlevering en gecontroleerde uploadgebieden voor klanten of veldapparatuur.

Stel SFTP niet breed beschikbaar alleen omdat het versleuteld is. Een op internet gerichte SSH-service trekt inloggegevensaanvallen en geautomatiseerd scannen aan. Als slechts een kleine groep toegang nodig heeft, beperk dan de bron-IP's, publiceer SFTP achter een VPN of particulier netwerk, of gebruik een beheerde overdrachtsgateway met sterkere beleidscontroles.

Voordat u de SFTP-poort opent

Voordat u poort 22 voor SFTP opent, moet u bevestigen dat de SSH-server is geïnstalleerd, actief is en geconfigureerd is om het SFTP-subsysteem toe te staan. Bepaal vervolgens welke gebruikers of serviceaccounts verbinding moeten maken, welke mappen ze kunnen zien, of wachtwoordverificatie is toegestaan ​​en hoe uploads en downloads worden geregistreerd.

Scheid netwerkbereikbaarheid van accountautorisatie. Een poortcontrole kan aantonen of TCP 22 bereikbaar is vanaf internet, maar kan niet bewijzen dat een specifieke gebruiker kan inloggen of dat een chroot-directory correct is. Gebruik een SFTP-client of ssh-opdrachtregeltests om het gedrag op applicatieniveau te verifiëren.

SFTP inschakelen op Windows, Linux en macOS

Op Windows Server installeert en schakelt u OpenSSH Server in, staat binnenkomend TCP 22 toe in Windows Defender Firewall en bevestigt u dat de sshd-service actief is. Als de server zich in een cloudomgeving bevindt, sta dan ook poort 22 toe in de cloudfirewall of beveiligingsgroep. Gebruik speciale accounts in plaats van brede beheerderstoegang.

Op Linux installeert u OpenSSH Server, bevestigt u dat sshd luistert op poort 22 en zorgt u ervoor dat het SFTP-subsysteem is ingeschakeld in sshd_config. Voor accounts met beperkte bestandsoverdracht configureert u chroot-mappen, eigendomsregels en ForceCommand internal-sftp zodat gebruikers geen interactieve shell kunnen krijgen.

Op macOS is SFTP beschikbaar via de ingebouwde SSH-service. Het wordt meestal gebruikt voor lokale netwerken, ontwikkelmachines of laboratoriumomgevingen. Als u het buiten een vertrouwd netwerk blootstelt, pas dan dezelfde sleutelgebaseerde authenticatie- en firewallregels toe die u op een server zou gebruiken.

  • Servicelaag: OpenSSH Server of een andere SSH-implementatie moet actief zijn en moet het SFTP-subsysteem inschakelen.
  • Netwerklaag: hostfirewalls, cloudbeveiligingsgroepen, router forwarding en VPN-beleid moeten de gekozen TCP-poort toestaan.
  • Accountlaag: gebruikers moeten de minste bevoegdheden hebben, speciale mappen en geen shell-toegang, tenzij dit vereist is.
  • Auditlaag: registreer succesvolle overdrachten, mislukte aanmeldingen, sleutelwijzigingen, toestemmingsfouten en ongebruikelijke bronnetwerken.

SFTP-connectiviteit testen

Begin met een externe poortcontrole aan de hand van de openbare hostnaam of het IP-adres en poort 22. Als de poort open is, is het TCP-pad naar de SSH-service bereikbaar. Gebruik vervolgens een SFTP-client of voer sftp user@example.com uit om de authenticatie, de hostsleutelvertrouwen, directorytoegang en uploadmachtigingen te verifiëren.

Als u details op een lager niveau nodig heeft, test u de SSH-handshake met ssh -vvv user@example.com of controleert u luisteraars op de server met ss -tlnp, netstat of PowerShell. Voor cloudservers vergelijkt u de hostfirewallregels met cloudbeveiligingsgroepen, omdat beide lagen de verbinding moeten toestaan.

Testpoort 22 voor SFTP

Veelvoorkomende gevallen van probleemoplossing voor SFTP

Als de SFTP-poort gesloten wordt weergegeven, is sshd mogelijk niet actief, luistert mogelijk op een andere poort of wordt mogelijk geblokkeerd door de hostfirewall. Als er een time-out optreedt bij de controle, kan het zijn dat een cloudbeveiligingsgroep, een NAT-regel van een router, een ISP-filter, een VPN-beleid of een bron-IP-toelatingslijst pakketten droppen voordat ze de server bereiken.

Als de poort open is maar inloggen via SFTP mislukt, inspecteer dan de gebruikersnaam, sleutelrechten, wachtwoordbeleid, MFA-vereiste, toegestane gebruikers, chroot-eigendom, ForceCommand-regels en serverlogboeken. Een veelgemaakte fout is het geven van schrijfrechten aan de gebruiker aan een chroot-map; OpenSSH vereist specifieke eigendoms- en toestemmingspatronen om chroot veilig te laten werken.

Beveiligingschecklist voor SFTP

Geef de voorkeur aan SSH-sleutels of op certificaten gebaseerde authenticatie boven wachtwoorden. Schakel root-login uit, beperk welke gebruikers verbinding kunnen maken, roteer sleutels, verwijder ongebruikte accounts en bescherm privésleutels met wachtwoordzinnen of door hardware ondersteunde opslag. Voor partnertoegang maakt u één account per partner aan, zodat activiteiten netjes kunnen worden toegewezen en ingetrokken.

Beperk de toegang tot het bestandssysteem met chroot of mappen met een strak bereik, vermijd gedeelde schrijfbare mappen tenzij ze nodig zijn, en controleer mislukte aanmeldingen en ongebruikelijke overdrachtsvolumes. Als SFTP internetgericht is, combineer dan snelheidsbeperking, toelatingslijsten voor bronnen, inbraakdetectie en regelmatige patching van de SSH-server.

Veelgestelde vragen

Welke poort gebruikt SFTP?

SFTP gebruikt meestal TCP-poort 22 omdat het via SSH loopt. Het kan op een andere poort draaien als de SSH-server is geconfigureerd om daar te luisteren en de client die poort specificeert.

Is SFTP hetzelfde als FTPS?

Nee. SFTP is een bestandsoverdrachtprotocol dat binnen SSH draait. FTPS is FTP-beveiligd met TLS. Het zijn verschillende protocollen en zijn niet uitwisselbaar, tenzij zowel de client als de server hetzelfde ondersteunen.

Kan ik SFTP gebruiken zonder poort 22 voor internet te openen?

Ja. U kunt SFTP alleen beschikbaar stellen via een VPN, een particulier netwerk, een bastionhost, een zero-trust-toegangslaag of een bron-IP-toelatingslijst. Dat is vaak veiliger dan het publiceren van SSH op het hele internet.

Waarom is poort 22 open, maar mislukt SFTP nog steeds?

De TCP-poort is mogelijk bereikbaar terwijl de authenticatie of het SFTP-subsysteem mislukt. Controleer accountrechten, sleutelindeling, chroot-eigendom, ForceCommand-instellingen, toegestane gebruikers, MFA-beleid en SSH-serverlogboeken.