[tuto] Sécuriser son accès ssh - Carmagnole

[tuto] Sécuriser son accès ssh

Rédigé par propositionjoe / 30 décembre 2016 / 2 commentaires

 
Configurer un accès SFTP pour préserver son serveur tout en partageant ses données
 
 
Prérequis:
Disposer d'un serveur NFS
Disposer d'un vm debian
 
Pourquoi utiliser sftp
 
J'utilise SFTP pour avoir accès à distance aux données présentes sur mon serveur, car il présente de nombreux avantages:
- Il est chiffré
- Il est installé d'orgine
- Il est facilement configurable
- Il est en mesure d'utiliser une clé SSH et une passphrase
- Il fonctionne sur n'importe quel port
Je n'ai pas essayé, mais il est possible de configurer une authentification avec deux facteurs par le biais d'authy (une alternative à google authenticator) > c'est en projet
 
Jusqu'à maintenant j'avais configuré ma box adsl pour qu'elle renvoie un port XXXX vers le port interne de mon serveur (proxmox). Un bon point je n'utilisais pas le port ssh standard, mais ouvrir mon serveur au 4 vents du net ne me convenait pas.
 
J'ai donc créé une vm debian de "partage" de 8go et lui ai fait subir le traitement suivant:
 
Création d'une clé ssh sur votre pc courant
Clé que vous pouvez réserver à cette connexion; c'est mieux.
 
~$ ssh-keygen -t rsa -b 4096

Vous avez la possibilité de renseigner une passphrase. Si vous le faite, il faudra la taper à chaque connexion; c'est plus sécurisé, mais la connexion n'est plus automatique.

 

Ajout de cette clé au répertoire des clés autorisées sur la vm de partage:

~$ ssh-copy-id -i ~/.ssh/id_rsa.pub utilisateur@ip_machine
Il est conseillé de ne pas mettre root en tant qu'utilisateur
 
 
Un tour sur la conf de sshd:
Attention, ces manipulations se font avec deux shells d'ouvert: un qui vous permet de faire les modifications, l'autre qui vous permet de vérifier que vous n'avez pas perdu / ou / retrouvé l'accès à votre vm
 
~$ nano /etc/ssh/sshd_config
 
Port 12345 #choississez le votre
PermitRootLogin no #interdire la connexion en root
AllowUsers votreutilisateur #ajouter votre utilisateur à sshd
PubkeyAuthentication yes #autoriser la connexion avec une clé ssh
PasswordAuthentication no #interdire la connexion avec un mot de passe
 
~$ /etc/init.d/ssh restart
 
Ajout du partage nfs local
J'utilise le partage nfs offert par zfs sur mon serveur proxmox (voir ici) qu'il me suffit de monter dans la vm. Ainsi j'ai accès à mes données, sans que cela n'occupe d'espace dans la vm, tout en préservant le serveur.
~$ nano /etc/fstab 
192.168.1.144:/rpool/nfs /home/utilisateur/nfs nfs defaults,user,auto,rw,noatime,rsize=16384,wsize=16384 0 0
~$ mkdir /home/utilisateur/nfs
~$ mount -a
 
 
 
Mon bonus pour les utilisateurs de freemobile
Il est possible en rédigeant un petit script d'être notifié par sms lors de toutes initialisation d'une connexion sftp ou ssh. Il suffit de rédiger un script et de renseigner sa localisation dans /etc/ssh/sshrc:
Pour activer cette fonction sur votre abonnement je vous renvoie à ce bon papier
 
~$ apt install curl
~$ nano /home/votreutilisateur/script.sms.sh
#!/bin/bash
curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=XXXXXXXXX&pass=XXXXXXXXXX&msg=Une connexion SSH sur XXXXXX vient d'être lancée"
~$ chmod +x /home/votreutilisateur/script.sms.sh
~$ nano /etc/ssh/sshrc
 
/home/votreutilisateur/script.sms.sh
 
 

2 commentaires

#1 vendredi 30 décembre 2016 @ 19:33 Andy a dit :

Salut l'ami !
Merci pour ce tuto, c'est super pratique en effet !
La possibilité d'ajout de la notif SMS est franchement propre !
Es-tu satisfait des débits offerts par le transfert de fichiers en SFTP ? C'est souvent pas énorme pour de gros fichiers.
A+
Andy

#2 vendredi 30 décembre 2016 @ 19:51 propositionjoe a dit :

La faiblesse du sftp est qu'il repose sur la puissance /et/ou/ les possibilités de chiffrement du processeur effectivement. Avec un xéon, la question ne me touche à priori pas... Mais j'ai fais le test.

Voici les résultats en condition locale:
- directement sur le serveur en nfs "seul" : 126 mo/s
- en sftp sur la vm donc en nfs indirectement: 80 mo/s

Je trouve ça acceptable, surtout que le sftp ne sera utilisé que de l'extérieur; mais ligne adsl faisant des pointes à 2.5 mo/s je ne risque pas de saturer.
A bientôt!

Écrire un commentaire

 Se rappeler de moi sur ce site

Capcha
Entrez le code de l'image :

Carmagnole

Soyez résolus de ne servir plus et vous voilà libres