In vielen Fällen müssen wir mehrere Informationen zwischen Geräten übertragen. Die häufigste Methode, die mehr als 20 Jahre dauert, ist die Verwendung des FTP- Protokolls (File Transfer Protocol) und des FTP- Protokolls, das die Übertragung zwischen verbundenen Geräten ermöglicht zu TCP unter der Client / Server-Basis.
Mit FTP verwenden wir Port 20 und 21. Wir haben jetzt ein neues vordefiniertes Protokoll namens SFTP, das auf allen Servern aktiviert ist, die SSH unterstützen.
SFTP (SSH File Transfer Protocol) unterscheidet sich vom FTP-Typ, obwohl es alle FTP-Clients unterstützt, die wir heute finden. Obwohl SFTP implementiert wurde, um eine Sicherheitsschicht hinzuzufügen , stellt es eine Sicherheitsanfälligkeit auf Zugriffsebene dar, da es als Standard den Systembenutzern vollständigen Zugriff für die Dateiübertragung und die Verwendung der Shell gewährt.
TechnoWikis heute wird zeigen, wie CentOS 7 so konfiguriert werden kann, dass ein bestimmter Benutzer keinen SSH-Zugriff erhält und das System über das SFTP-Protokoll manipuliert werden kann.
1. Benutzererstellung
Als erstes erstellen wir den Benutzer, der durch SSH Zugriffseinschränkungen hat. In diesem Fall rufen wir den Zugriff auf und führen Folgendes aus:
sudo adduser access
Als nächstes weisen wir dem neuen Benutzer ein Passwort zu, indem wir Folgendes ausführen:
Sudo passwd Zugang
2. Erstellen Sie das Verzeichnis für die Dateiübertragung
Sobald unser Benutzer erstellt ist, müssen Sie im nächsten Schritt das Verzeichnis erstellen, in dem SFTP agiert, um den Zugriff zu verhindern. Dies muss mit bestimmten Parametern konfiguriert werden.
Wir erstellen ein Verzeichnis mit dem Namen / var / sftp / uploads, in dem der / var / sftp-Teil dem Root-Benutzer gehört und kein anderer Benutzer über die aktiven Berechtigungen verfügt. Im Unterverzeichnis / var / sftp / uploads ist der Eigentümer der neue Benutzer . Wir erstellen das Verzeichnis mit der folgenden Zeile:
sudo mkdir -p / var / sftp / uploads
Als nächstes legen wir den root-Benutzer als Eigentümer im angegebenen Verzeichnis fest:
sudo chown root: root / var / sftp
Wir erteilen dem Root-Benutzer Schreibrechte und lesen sie den anderen Benutzern auf der angegebenen Route vor:
sudo chmod 755 / var / sftp
Nun ändern wir den Eigentümer der Uploads, um den Benutzerzugriff zu ermöglichen. Wir führen Folgendes aus:
sudo chown access: access / var / sftp / uploads
3. Beschränken des Zugriffs auf ein Verzeichnis
In diesem Schritt erfahren Sie, wie Sie den Zugriff per Terminal auf den Benutzerzugriff beschränken können, ob es jedoch möglich ist, Dateien zu übertragen. Dazu müssen wir den SSH-Server mit dem bevorzugten Editor, vim oder nano, in folgendem Pfad bearbeiten:
sudo nano / etc / ssh / sshd_config
Wir werden folgendes sehen:
Im letzten Teil der Datei fügen wir Folgendes hinzu:
Benutzerzugriff abgleichen ForceCommand internal-sftp PasswordAuthentication ja ChrootDirectory / var / sftp PermitTunnel nicht AllowAgentForwarding nicht AllowTcpForwarding nicht X11Forwarding nicht
Speichern Sie die Änderungen mit der Tastenkombination Strg + O und verlassen Sie den Editor mit den Tasten Strg + X. Die verwendete Syntax impliziert Folgendes:
Sobald wir die Datei gespeichert haben, führen wir den folgenden Befehl aus, um die Änderungen in SSH zu übernehmen:
sudo systemctl starte sshd neu
4. Überprüfung der SSH-Verbindung
Mit dieser Konfiguration ist es an der Zeit, den Zugriff über SSH zu validieren und sicherzustellen, dass nur die Übertragung von Dateien möglich ist. Dazu gehen wir zur Verbindung über SSH, die in diesem Fall sein wird.
ssh [email protected]
Sobald wir die Zugangsdaten eingegeben haben, sehen wir die folgende Meldung:
Damit haben wir überprüft, dass die Verbindung über SSH geschlossen wird. Jetzt versuchen wir die Verbindung mit dem SFTP-Protokoll:
sftp [email protected]
Bei der Eingabe des Passworts sehen wir, dass die Verbindung erfolgreich ist und wir Dateien übertragen können:
Dort können wir mit dem Befehl ls die verfügbaren Verzeichnisse auflisten und sehen den Upload-Ordner, den wir erstellt haben:
Dort können wir Informationen verschieben, aber wenn wir versuchen, mit cd in ein höheres Verzeichnis zurückzukehren. Es wird keine Fehlermeldung ausgegeben, aber wir können kein Verzeichnis auflisten:
So einfach können wir dank sftp den Zugriff einschränken.