Comment activer et configurer SFTP sur CentOS 7

À de nombreuses reprises, nous devons transférer plusieurs informations entre appareils et la façon la plus courante de le faire, qui existe depuis plus de 20 ans, consiste à utiliser le protocole FTP (File Transfer Protocol) et FTP qui permet le transfert entre ordinateurs connectés. TCP prenant la base client/serveur.

Avec FTP, nous utilisons les ports 20 et 21. Nous avons maintenant un nouveau protocole prédéfini appelé SFTP dans lequel nous trouvons activé sur tous les serveurs qui prennent en charge SSH.

SFTP (SSH File Transfer Protocol) est différent du type FTP, bien qu'il supporte tous les clients FTP que l'on trouve aujourd'hui. Bien que SFTP ait été implémenté pour ajouter une couche de sécurité, il présente une vulnérabilité au niveau de l'accès car, étant une norme, il accorde un accès complet aux utilisateurs du système pour transférer des fichiers et utiliser le Shell.

Aujourd'hui, Solvetic apprendra comment configurer CentOS 7 pour empêcher un certain utilisateur d'avoir un accès SSH avec la liberté de manipuler le système via le protocole SFTP0.

1. Création d'utilisateur


Nous allons d'abord créer l'utilisateur qui aura un accès restreint par SSH, dans ce cas nous l'appellerons accès, nous exécutons la commande suivante :
 sudo adduser accès
Ensuite, nous attribuons un mot de passe au nouvel utilisateur en exécutant ce qui suit :
 accès sudo passwd

2. Création du répertoire pour le transfert de fichiers


Une fois notre utilisateur créé, l'étape suivante consiste à créer le répertoire où SFTP agira, empêchant l'accès et cela doit être configuré avec certains paramètres.

Nous allons créer un répertoire appelé /var/sftp/uploads dans lequel la partie /var/sftp, l'utilisateur root sera son propriétaire et aucun autre utilisateur n'aura d'autorisations actives et dans le sous-répertoire /var/sftp/uploads le propriétaire sera le nouvel accès utilisateur. Nous créons le répertoire en utilisant la ligne suivante :

 sudo mkdir -p / var / sftp / uploads
Ensuite, nous établissons l'utilisateur root en tant que propriétaire dans le répertoire indiqué :
 sudo chown root: root / var / sftp
Nous accordons des autorisations d'écriture à l'utilisateur root et lisons aux autres utilisateurs dans le chemin indiqué :
 sudo chmod 755 / var / sftp

Maintenant, nous modifions le propriétaire des téléchargements pour qu'il soit l'accès utilisateur, nous exécutons ce qui suit :

 accès sudo chown: accès / var / sftp / uploads

3. Restreindre l'accès à un répertoire


Dans cette étape nous verrons comment restreindre l'accès par terminal à l'accès utilisateur mais s'il sera possible de transférer des fichiers. Pour cela nous devons éditer le serveur SSH avec l'éditeur préféré, vim ou nano, dans le chemin suivant :
 sudo nano / etc / ssh / sshd_config
Nous verrons ce qui suit :

Dans la dernière partie du fichier, nous ajoutons les éléments suivants :

 Match User access ForceCommand internal-sftp PasswordAuthentication oui ChrootDirectory / var / sftp PermitTunnel non AllowAgentForwarding non AllowTcpForwarding non X11Forwarding non 

Nous sauvegardons les modifications à l'aide de la combinaison de touches Ctrl + O et sortons de l'éditeur à l'aide des touches Ctrl + X. La syntaxe utilisée implique ce qui suit :

Correspondre à l'utilisateurDites au serveur SSH d'appliquer les modifications à l'utilisateur qui y est indiqué.

ForceCommand interne-sftpForce le serveur SSH à exécuter SFTP pour empêcher l'accès au Shell.

Mot de passeAuthentification ouiActiver l'authentification par mot de passe

ChrootRépertoire / var / sftp /Il fait référence au fait que l'utilisateur indiqué n'aura pas accès au-delà du chemin /var/sftp.

AllowAgentForwarding non, AllowTcpForwarding non. et X11Forwarding n'est pasCes options désactivent le transfert de port, le tunneling et le transfert de protocole X11 pour l'utilisateur spécifié.

Une fois le fichier enregistré, nous exécuterons la commande suivante pour appliquer les modifications en SSH :

 sudo systemctl redémarrer sshd

4. Vérification de la connexion SSH

Étape 1
Une fois ceci configuré, il sera temps de valider l'accès via SSH et de vérifier que seuls les transferts de fichiers seront possibles. Pour cela, nous passons à la connexion via SSH qui dans ce cas sera.

 accès [email protected]
Une fois les identifiants d'accès saisis, le message suivant s'affichera :

Étape 2
Avec cela, nous avons vérifié que la connexion sera fermée via SSH. Nous allons maintenant essayer la connexion en utilisant le protocole sftp :

 accès [email protected]
En entrant le mot de passe, nous verrons que la connexion est réussie et nous pourrons transférer des fichiers :

Étape 3
Là, nous pouvons utiliser la commande ls pour lister les répertoires disponibles et nous verrons le dossier de téléchargement que nous avons créé :

Étape 4
Là on peut déplacer des informations mais si on essaie de retourner dans un répertoire au dessus en utilisant cd… on n'aura pas d'erreur mais on voit qu'aucun répertoire ne peut être listé :

C'est aussi simple que nous pouvons restreindre l'accès grâce à sftp.

wave wave wave wave wave