[TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Vous venez de déballer votre Raspberry Pi et vous vous posez des questions ? C'est ici que ça se passe !

Modérateur : Francois

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par Artemus24 » dim. 1 oct. 2017 19:21

Salut maxty01.
maxty01 a écrit :Bien que mon calcul soit effectivement faux, le message reste le même : Bonne chance.
Vous avez raison, c'est le dénombrement des possibilités qui est important et peu importe le calcul.
maxty01 a écrit :Dernier point : Il est plus facile de mettre les mêmes port (src et dst) dans un DNAT pour une personne lambda..
Je connais le NAT (Network Address Translation) et le PAT (Port Adresse Translation) dans un routeur.
Qu'est-ce que le DNAT ? Peut-être "D" pour dynamic ?
maxty01 a écrit :Avec pagent, filezilla pourra se connecter, en sftp, sur le RPI sans avoir besoin du password.
L'intérêt de filezilla repose sur son interface graphique.
Pour livrer une nouvelle version de mon site consacré à WampServer, j'utilise pscp.exe dans un batch windows.
Et vu que c'est toujours la même manipulation que je fais, j'ai toujours recours au même batch sans me poser de question.
maxty01 a écrit :L'utilisation de l'IPv6 est une bonne idée, mais malheureusement et je le déplore, l'usage de l'IPv6 est encore faible par rapport à l'IPv4.
Entièrement d'accord avec vous.
Si vous utilisez toujours le même ordinateur, vous pouvez mettre votre adresse IPv6 dans le fichier hosts en l'associant à un nom mnémonique.
Cela évite de retaper l'adresse IPv6 à chaque fois et se souvenir de 32 digits demande un gros effort de mémoire.

Bon travail ! Et merci de nous avoir détaillé la procédure pour sécuriser son SSH.

Cordialement.
@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

maxty01
Modérateur
Messages : 790
Enregistré le : dim. 16 nov. 2014 20:53
Localisation : Charleroi - Belgique

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par maxty01 » dim. 1 oct. 2017 23:52

Bonsoir,

Le NAT (Network Address Translation) se compose principalement de deux techniques, certainement les plus utilisées :

Le DNAT :
Destination Network Address Translation.
Cette technique permet à un firewall de transmettre une liaison TCP ou UDP sur un port et/ou une IP donnés en entrée vers un autre port et une autre IP en sortie vers un autre périphérique.
C'est ce qu'on appel généralement le NAT, le PAT ou le "transfert de ports" sur une box.

Le SNAT :
Source Network Address Translation.
Cette technique permet à un firewall de transmettre une liaison TCP ou UDP vers un port et/ou une IP donnés en entrée en modifiant l'adresse d'émission.
C'est ce qui est utilisé sur toute les box, pour transmettre un paquet sur le net avec l'adresse IP publique de votre box.

En bref :
Ce sont ces deux techniques qui font qu'il est possible de naviguer sur internet depuis une box ou un firewall configuré.
On appel ces deux techniques combinées et activées par défaut sur tout les routeurs : le masquerading.
Sans ces techniques, les adresses IP Privées n'auraient aucun intérêt.

Bonne soirée,
Il n'y a pas de question stupide, il n'y a que des imbéciles qui ne posent pas de question !
RaspBerry Pi : 1 x B+ Raspbian 1 x RPI2 MiniBian
Mieux me connaître ? Regarder mon LinkedIn

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par Artemus24 » lun. 2 oct. 2017 10:45

Salut Maxty01.

Merci pour les explications ! :D
Bonne journée à vous aussi.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Nono25
Messages : 13
Enregistré le : lun. 2 oct. 2017 10:01

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par Nono25 » jeu. 5 oct. 2017 11:15

Bonjour à tous,

Merci à maxty01 pour ce tuto, et aux autres contributeurs.
Je suis en cours d'instllation d'un serveur web pour une petite association, donc ces conseils me sont très utiles pour sécuriser mon serveur. Je n'ai que très très peu d'expérience Linux et donc toute aide est la bienvenue.
Je vois bien l'utilité de modifier le password de l'utilisateur 'pi', mais je me pose une question au sujet de l'utilisateur 'root' : y-a-t'il un intérêt à changer le mot de passe de root?

Merci d'avance de vos réponses.

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par Artemus24 » jeu. 5 oct. 2017 13:32

Salut Nono25.

Il ne faut pas changer que le mot de passe du compte "root", mais aussi son nom. Pourquoi ?
Quand on ignore le nom d'un compte que l'on veut pirater, il est alors bien plus difficile de l'identifier, voire même impossible.
D'autant que vous devez franchir trois étapes :
--> trouver le nom du compte
--> trouver le mot de passe
--> attendre que le compte se débloque après une mauvaise saisie du mot de passe.

Vous pouvez nommer votre compte avec quelque chose de plus parlant, comme "supervisor", ou encore "administrator".
Il est conseillé de ne pas rendre ce compte accessible depuis internet, mais uniquement en local.
On a tendance à prendre la sécurité un peu trop à la légère, jusqu'au jour où vous perdez tout.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

domi
Administrateur
Messages : 3230
Enregistré le : mer. 17 sept. 2014 18:12
Localisation : Seine et Marne

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par domi » jeu. 5 oct. 2017 13:51

Changer le login root !!!!!
Première fois que j'entend parler de ça !!
Changer le mot de passe c'est impératif, mais le login ?

C'est juste qu'il faut lui interdire l'accès depuis l'extérieur, c'est tout.
Obliger à se connecter via un compte USER, puis ensuite effectuer un "su".
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.

Nono25
Messages : 13
Enregistré le : lun. 2 oct. 2017 10:01

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par Nono25 » jeu. 5 oct. 2017 14:38

Merci pour vos réponses rapides.

(Petite parenthèse : j'ai déjà rencontré Artemus24 sur le forum wampserver, et j'apprécie beaucoup des interventions pour la plupart pertinentes - pour la pllupart car je n'ai pas lu tous ses posts ...)

C'est vrai que renommer le compte root c'est radical. Mais à ce moment là pourquoi pas renommer également l'utilisateur pi?
Ne connaissant que très peu Rapsbian je ne me risquerait pas à faire de telles manips, ne sachant pas si ces nom ne sont pas donnés quelquepart en dur dans une commande ou autre.
Pourtant il faut protéger les accès, et rendre plus difficle la connexion root me semble une bonne idée. Alors je reprécise ma question : peut-on modifier le mot de passe de root, sans risques?

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par Artemus24 » jeu. 5 oct. 2017 18:12

Salut à tous.

@ Domi : à vrai dire, je n'ai jamais essayé de renommer le compte "root" de ma Raspberry.
Je sais que le UID de "root" est 0. Rien n'empêche de renommer "root" en autre chose. L'important, c'est le UID à 0.

Si vous désirez modifier le nom du compte "root" d'un point de vue académique, voici comment procéder :
1) créez sous "root" un autre compte administrateur de nom "test".
2) sortir de "root" et se connecter à ce nouveau compte administrateur "test".
3) vous tapez : "usermod --login supervisor root".
4) vous quittez le nouveau compte administrateur "test" et vous vous connectez à "supervisor" en mettant le même mot de passe que "root".
5) vous détruisez le compte "test".

Pourquoi faire cette démarche ? On ne peut pas modifier un compte quand on est connecté dessus.

Au pratique non académique.
6) vous bidouillez dans le fichier "/etc/passwd" en remplaçant "root" par "supervisor".
7) vous quittez le compte "root" et vous vous connectez avec "supervisor".

Je déconseille cette pratique, car une fausse manœuvre et vous n'avez plus aucun accès à votre raspberry.
Domi a écrit :Première fois que j'entends parler de ça !!
C'est une pratique courante dans les bases de données de changer le compte administrateur.

Sous windows, mon compte de nom "administrateur" est désactivé. J'ai créé un autre compte administrateur, auquel j'accède comme je veux.
Domi a écrit :C'est juste qu'il faut lui interdire l'accès depuis l'extérieur, c'est tout.
En effet, c'est le plus simple, mais je parlais d'un point de vue général et non en particulier de la raspberry.
Dans les entreprises, il est courant de renommer le compte "root" de debian qui est accessible par n'importe quel utilisateur.
De ce fait, ne connaissant ni le nom du compte administrateur et encore moins le mot de passe, il est difficile de s'y connecter.
Domi a écrit :Obliger à se connecter via un compte USER, puis ensuite effectuer un "su".
Là, par contre, je ne suis pas d'accord car en principe, le "su" n'est pas autorisé pour un compte utilisateur.
Pourquoi ? Parce qu'un simple utilisateur ne fait pas de l'administration !
Nono25 a écrit :j'ai déjà rencontré Artemus24 sur le forum wampserver, et j'apprécie beaucoup des interventions pour la plupart pertinentes
En effet, je suis bien présent dans le forum "wampserver" mais aussi dans "developpez" dans les forums mysql, firebird, et perl.
Nono25 a écrit :C'est vrai que renommer le compte root c'est radical. Mais à ce moment là pourquoi pas renommer également l'utilisateur pi?
Oui, pourquoi pas.
Nono25 a écrit :peut-on modifier le mot de passe de root, sans risque?
Sans risque, cela n'existe pas. C'est la première chose à faire pour sécuriser votre raspberry, mettre un mot de passe à votre compte "root".

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

destroyedlolo
Raspinaute
Messages : 1583
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par destroyedlolo » jeu. 5 oct. 2017 20:48

Salut,
Nono25 a écrit :C'est vrai que renommer le compte root c'est radical.
Renommer root peut poser de pb avec certaines applies / voir distrib mal conçues. D'autres OS comme NetBSD le font d'office.
Une autre solution tout aussi radicale, s'est d'interdire le login sous root, que ce soit de l’extérieur comme le propose Domi, mais aussi en local.
Nono25 a écrit :Mais à ce moment là pourquoi pas renommer également l'utilisateur pi?
Si, ainsi qu’interdire le login sur tous les comptes "classiques" (www, postgres, ...).

Utiliser des ports non standard permet aussi de ralentir les attaques.

Maintenant, du moment qu'il y a des ports ouverts, a plus ou moins long terme qq'un qui veut vraiment entrer y arrivera ... (mais faut-il qu'il le veuille vraiment)
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Sécuriser son SSH pour un accès depuis l'extérieur

Message par Artemus24 » sam. 7 oct. 2017 10:55

Salut DestroyedLolo
destroyedlolo a écrit :Maintenant, du moment qu'il y a des ports ouverts, a plus ou moins long terme qq'un qui veut vraiment entrer y arrivera ... (mais faut-il qu'il le veuille vraiment)
Vous pouvez vérifier si vous avez des ports ouvert en les testant : https://www.grc.com/x/ne.dll?bh0bkyd2
Vous cliquez sur le bouton "proceed" et ensuite sur le bouton "all service ports". Vous aurez le résultat sur les 1.000 premiers ports !
Comment les fermer ? En configurant votre routeur ainsi que votre pare-feu pour empêcher ces intrusions non désirées !

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Répondre

Retourner vers « Débutants »