Grundbegriffe zu Netzwerken

From
Jump to: navigation, search

ftp, sftd und ftps

Der Hauptunterschied liegt in der zugrunde liegenden Technologie und Sicherheit:
- FTP (File Transfer Protocol) ist unverschlüsselt und unsicher. 
- FTPS (FTP over SSL/TLS) fügt FTP eine Sicherheitsebene mittels SSL/TLS hinzu, 
  was die Befehls- und Datenverbindungen separat verschlüsselt. 
- SFTP (SSH File Transfer Protocol) ist ein eigenständiges Protokoll, 
  das über SSH läuft und sowohl Authentifizierung als auch Datenübertragung in einer einzigen, 
  sicheren Verbindung verschlüsselt. 

Funktion                   FTP	                         FTPS	                                     SFTP

Protokoll	           Standard-FTP	                 FTP + SSL/TLS	                             SSH (Secure Shell)
Sicherheit	           Keine Verschlüsselung	 Verschlüsselt über SSL/TLS	             Verschlüsselt über SSH
Verbindung	           Einzelne Verbindung	         Zwei Verbindungen (Befehl und Daten)	     Eine einzige Verbindung
Port	                   Typischerweise Port 21	 Verschiedene Ports (Befehl und Daten)	     Typischerweise Port 22
Authentifizierung	   Benutzername/Passwort 	 Benutzername/Passwort                       Benutzername/Passwort 
                           (unverschlüsselt)             (verschlüsselt)                                 oder SSH-Schlüssel


Weitere wichtige Aspekte:

    FTPS: Da es zwei Verbindungen nutzt, kann die Konfiguration von Firewalls komplizierter sein.

    SFTP: Die Nutzung eines einzigen Ports vereinfacht die Firewall-Konfiguration erheblich. 
          Die Verschlüsselung ist sehr stark und bietet einen robusten Schutz.

    Praktische Anwendung: Wenn Sie SSH-Zugang zum Server haben, ist SFTP die sicherste Wahl. 
                          Wenn ein Server keine SFTP-Unterstützung bietet, aber FTPS, 
                          ist FTPS die sicherere Option gegenüber reinem FTP. 

Verwendung

Kurzfassung vorweg: 
SFTP und FTPS sind zwei völlig verschiedene Dinge, und sie werden unter Linux auch unterschiedlich genutzt. 
Man installiert normalerweise nicht „das Protokoll“, sondern entweder einen Client oder Server, der es spricht.


1) SFTP (Secure File Transfer via SSH)

SFTP ist kein FTP!
Es basiert komplett auf SSH. Wenn SSH läuft, läuft SFTP meistens schon.

## Auf dem Client benutzen:

SFTP ist fast immer schon installiert:
sftp user@server

Verzeichnisliste anzeigen:
ls

Datei hochladen:
put datei.txt

Datei herunterladen:
get datei.txt

Mehrere Dateien kopieren:
mput *.log

Sitzung beenden:
exit


# Wie automatisiere ich?

Mit Key-Authentifizierung:
ssh-copy-id user@server

Dann ohne Passwort:
sftp user@server:/pfad


## SFTP-Server installieren (falls du einen Server brauchst)

Ubuntu / Debian:
sudo apt install openssh-server

SFTP funktioniert ab sofort, weil es Teil von SSH ist.
Optional: Nur SFTP erlauben:

#/etc/ssh/sshd_config:
Subsystem sftp internal-sftp


Restart:
sudo systemctl restart ssh


2) FTPS (FTP über SSL/TLS)


Das ist „normales FTP + TLS“.
Man braucht dafür einen FTP-Server, z. B. vsftpd:

# Server installieren:
sudo apt install vsftpd


# TLS aktivieren:
sudo nano /etc/vsftpd.conf


# Folgendes setzen:
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES


# Zertifikat erzeugen:
sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem \
  -out /etc/ssl/private/vsftpd.pem


# Server starten:
sudo systemctl restart vsftpd


## FTPS-Client

Beispiele:
# Commandline-FTP mit TLS:
lftp -u user ftps://server


# Oder explizit TLS erzwingen:
lftp -u user -e "set ftp:ssl-force true" ftp://server


Grafische Clients:
# FileZilla
# WinSCP


3) Wann nimmt man was?

Protokoll	Technik	        Empfehlung
SFTP	        über SSH	sicher, einfach, Standard für Linux
FTPS	        FTP + TLS	selten nötig, eher Windows/Industrie

In 99 % der Linux-Fälle → SFTP ist besser.


4) Beispiel: Dateien zwischen zwei Linux-Servern

scp file.txt user@server:/ziel/

oder rekursiv:
scp -r meinverzeichnis user@server:/daten/


5) Falls du GUIs willst

sudo apt install filezilla

Oder per Dateimanager:
sftp://user@server