User Tools

Site Tools


tuto:1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tuto:1 [2016/11/10 11:08] – ajout de la sécurisation ssm2017tuto:1 [2022/02/07 12:32] (current) – external edit 127.0.0.1
Line 336: Line 336:
  
 Sous windows (dans putty), il est possible de créer plusieurs "sessions" et les enregistrer puis les rappeller. Sous windows (dans putty), il est possible de créer plusieurs "sessions" et les enregistrer puis les rappeller.
 +
 +===== sftp =====
 +
 +Sftp est tres pratique car il permet de transferer des fichiers ou monter un dossier distant sans avoir à installer un serveur ftp tout en utilisant une connexion sécurisée.
 +
 +Par défaut, sftp est déjà actif.
 +
 +Voir la partie "Installation" pour voir comment le mettre en place.
 +
 +==== Se connecter par sftp ====
 +
 +=== Client ftp ===
 +
 +Utiliser son client ftp préféré supportant sftp (comme filezilla bien qu'il soit relou concernant les clef ssh mais ça fonctionne quand même).
 +
 +=== Navigateur de fichiers ===
 +
 +Beaucoup de navigateurs de fichiers sous linux ou mac permettent la connexion sftp donc entrer l'adresse sftp dans la barre d'adresse (souvent accessible par ctrl+l).
 +
 +La ligne de connexion est souvent : sftp://utilisateur@serveur
 +
 +Bien sûr si vous utilisez le fichiers de config des aliases, le boulot est facilité avec : sftp://toto
 +
 +==== Monter un volume sftp ====
 +
 +Il existe sous linux un programme nommé "sshfs" qui permet de monter un volume sftp dans un répertoire local.
 +
 +Voir https://doc.ubuntu-fr.org/sshfs
  
 ===== Les tunnels ===== ===== Les tunnels =====
Line 380: Line 408:
 </sxh> </sxh>
  
-editer le fichier /etc/ssh/sshd_config +Le fichier de configuration est /etc/ssh/sshd_config
-<sxh bash> +
-sudo nano /etc/ssh/sshd_config +
-</sxh>+
  
 si besoin, relancer ssh avec : si besoin, relancer ssh avec :
Line 389: Line 414:
 sudo service ssh restart sudo service ssh restart
 </sxh> </sxh>
 +
 +Le fichier de logs des connexions est : /var/log/auth.log
  
 ==== Sécuriser un serveur ssh ==== ==== Sécuriser un serveur ssh ====
Line 462: Line 489:
 </sxh> </sxh>
   * Relancer fail2ban avec : service fail2ban restart   * Relancer fail2ban avec : service fail2ban restart
 +
 +==== sftp ====
 +
 +Voir plus haut la partie "sftp" pour voir ce que c'est.
 +
 +Par défaut, sftp est activé donc nous allons voir comment le configurer pour enfermer un utilisateur dans un dossier précis.
 +
 +=== Chroot sftp ===
 +
 +Parfois, nous avons besoin de permettre la connection d'un utilisateur sur un serveur afin qu'il puisse modifier certains fichiers (comme sur un serveur web par exemple) sauf qu'on veut surtout pas qu'il matte les dossiers de ses petits camarades ou qu'il se balade sur la bécane...
 +
 +Pour verrouiller un utilisateur dans un dossier, il y a deux solutions :
 +
 +  * soit on met en place un chroot au niveau du système (lourd à mettre en place et maintenir)
 +  * soit on fait un chroot en sftp (par contre l'utilisateur n'aura plus acces à ssh mais seulement à sftp)
 +
 +Voici la procédure (en prenant l'utilisateur "toto") :
 +
 +== Configurer l'utilisateur ==
 +
 +  * Créer un groupe qui contiendra les utilisateurs concernés : addgroup sftpusers
 +  * Ajouter les utilisateurs concernés dans ce groupe : addgroup toto sftpusers
 +  * Changer le propriétaire de leur dossier "home" : chown root:root /home/toto
 +  * Créer le dossier dans lequel ils seront enfermés : mkdir /home/toto/sftp
 +  * Changer le propriétaire du dossier concerné : chown root:root /home/toto/sftp
 +  * Créer un dossier dans lequel il pourra écrire : mkdir /home/toto/sftp/htdocs
 +  * Attribuer la propriété du fichier à l'utilisateur : chown toto:toto /home/toto/sftp/htdocs
 +
 +<callout type="info" icon="true">Note : Si le dossier se trouve autre part sur le système, utiliser ensuite un "mount bind" au besoin...</callout>
 +
 +== Configurer le serveur ssh ==
 +
 +  * Editer le fichier de config de ssh qui est : /etc/ssh/sshd_config
 +  * Aller tout à la fin
 +  * Remplacer "Subsystem sftp /usr/lib/openssh/sftp-server" par "Subsystem sftp internal-sftp"
 +  * Ajouter les paramètres suivants :
 +<sxh>
 +Match Group sftpusers
 +        ChrootDirectory /home/%u/sftp
 +        ForceCommand internal-sftp
 +        AllowTCPForwarding no
 +        X11Forwarding no
 +        PasswordAuthentication yes
 +</sxh>
 +
 +<callout type="info" icon="true">Note : les lignes "AllowTCPForwarding", "X11Forwarding" et "PasswordAuthentication" sont optionnelles.</callout>
 +  * Relancer ssh
 +
 +<callout type="info" icon="true">Note : si il y a un probleme de connexion, regarder les logs lors de la connexion avec : "tail -f /var/log/auth.log"</callout>
 +
 ===== notes ===== ===== notes =====
  
 http://www.woueb.net/2011/09/13/authentification-ssh-cle-publique-windows/ http://www.woueb.net/2011/09/13/authentification-ssh-cle-publique-windows/
  
tuto/1.1478772532.txt.gz · Last modified: (external edit)