Sam travaille comme analyste de réseau pour une société de trading algorithmique. Il a obtenu son baccalauréat en technologie de l’information de l’UMKC.
SSH, également connu sous le nom de shell sécurisé, fournit une méthode efficace pour accéder à distance à un routeur pfSense. Le principal avantage de l’utilisation de SSH au lieu d’un autre protocole tel que telnet est la sécurité. Le trafic SSH est entièrement crypté, ce qui empêche les autres utilisateurs de voir le trafic via des renifleurs ou des attaques de type man-in-the-middle.
SSH peut également fournir plus qu’un simple shell distant ; vous pouvez également transférer des fichiers en toute sécurité et transférer des ports vers le réseau distant.
Comment activer le service SSH
Par défaut, le service SSH est désactivé pour des raisons de sécurité. Pour activer le service, connectez-vous à l’interface Web du routeur pfSense.
- Accédez à la page des paramètres avancés dans le menu système.
- Cochez la case « Activer Secure Shell »
- Modifiez le port par défaut en saisissant un nouveau numéro de port dans la case « Port SSH ». Cette étape est facultative mais recommandée.
- Cliquez sur Enregistrer en bas de la page pour appliquer les modifications et démarrer le service.
Je recommande fortement de changer le port par défaut pour le service. Il existe des milliers de robots sur Internet qui recherchent des serveurs SSH actifs et tentent de forcer brutalement le mot de passe root. Vous pouvez éviter d’être une cible facile en sélectionnant un numéro de port aléatoire supérieur à 1024.
Une autre méthode pour ajouter une sécurité supplémentaire contre les attaques par force brute consiste à configurer le service Denyhosts.
Tester le service localement
À ce stade, le service devrait être en cours d’exécution. Pour le tester, vous pouvez essayer de vous connecter avec un client tel que Putty.
Putty est un client SSH très populaire (et gratuit) qui est simple à utiliser. Le programme se compose uniquement d’un seul fichier, Putty.exe.
Après avoir exécuté Putty, entrez l’adresse IP LAN ou le nom d’hôte du routeur pfSense dans la zone hôte en haut. Si vous avez configuré le service pour qu’il s’exécute sur un port différent, remplacez le port par celui que vous avez entré dans les paramètres.
Cliquez sur « Ouvrir » en bas du programme pour vous connecter au serveur.
Le menu de la console
Si la connexion a réussi, vous serez invité à entrer un nom d’utilisateur, entrez root. Le serveur vous demandera également un mot de passe. Le mot de passe sera le même que celui que vous utilisez pour accéder à l’interface Web en tant qu’utilisateur administrateur.
Pour accéder au shell, sélectionnez l’option numéro 8.
Faites défiler pour continuer
Modification du mot de passe administrateur/racine
Pour modifier le mot de passe root du système, ouvrez le gestionnaire d’utilisateurs dans le menu système. Cliquez sur le bouton Modifier à côté de l’utilisateur admin pour attribuer un nouveau mot de passe.
Si vous le souhaitez, vous pouvez également configurer ici des comptes d’utilisateurs supplémentaires.
Activation de l’accès depuis Internet
Pour accéder au service SSH depuis l’extérieur du réseau local, vous devez créer une règle de pare-feu pour autoriser le passage du trafic. Sans une règle de pare-feu pour autoriser le trafic, les paquets seraient simplement rejetés par le pare-feu.
Pour autoriser le trafic, cliquez sur « Règles » dans le menu du pare-feu.
Création d’une règle de pare-feu
Créez une nouvelle règle de pare-feu en cliquant sur le symbole plus en bas à droite de la page des règles de pare-feu. Cela ouvrira la page de l’éditeur de règles de pare-feu.
L’action par défaut pour une nouvelle règle est « passer », ce qui autorise le trafic.
- Définissez l’interface sur WAN.
- Assurez-vous que le protocole est défini sur TCP, qui est le protocole sur lequel SSH s’exécute.
- Dans les paramètres de destination, sélectionnez un type d' »adresse WAN ».
- Dans la plage de ports de destination, entrez 22, ou le port sur lequel vous avez configuré SSH pour qu’il s’exécute, dans la zone de. Vous pouvez laisser le port ‘to’ vide.
- Saisissez une description pour la règle, telle que « Autoriser SSH vers WAN ».
- Cliquez sur enregistrer pour terminer la création de la règle de pare-feu.
Appliquer les modifications
La nouvelle règle de pare-feu ne sera pas activée tant que les modifications n’auront pas été appliquées. Cliquez sur le bouton « Appliquer les modifications » pour activer la nouvelle règle dans le système.
Après avoir appliqué la nouvelle règle, vous devriez pouvoir accéder au service SSH en pointant le client vers l’adresse IP WAN de la box pfSense. J’aime configurer un DNS dynamique au lieu d’avoir à suivre les adresses IP.
Configuration de l’authentification basée sur une clé
Même si vous avez modifié le port d’écoute pour SSH, le service peut toujours être découvert en scannant les ports. Une fois découverts, les bots peuvent lancer des attaques par force brute contre le serveur pour essayer de trouver des comptes avec des mots de passe faibles.
Pour rendre le service beaucoup plus sécurisé, vous pouvez activer l’authentification par clé. Lorsque l’authentification par clé est activée, les pirates peuvent tenter de deviner les mots de passe toute la journée, mais sans la clé privée, ils n’auront jamais accès.
Pour désactiver l’authentification par mot de passe et exiger une clé RSA sécurisée, cochez la case « Désactiver la connexion par mot de passe pour le shell sécurisé ». Vous pouvez trouver ce paramètre sur la page des paramètres système avancés dans la section shell sécurisé.
Génération d’une paire de clés publique/privée
Pour tirer parti des connexions basées sur des clés, nous devons créer une paire de clés. La clé publique sera saisie dans pfSense et la clé privée sera stockée sur le client.
Le moyen le plus simple de générer une paire de clés consiste à utiliser le programme Puttygen. Cliquez sur le bouton générer puis déplacez la souris pour créer un caractère aléatoire pour la clé.
Ajout de la clé publique au serveur
Après avoir généré la paire de clés, la clé publique doit être ajoutée au compte utilisateur sur pfSense.
- Ouvrez le gestionnaire d’utilisateurs dans le menu système.
- Cliquez sur le bouton « E » à côté de l’utilisateur pour lequel vous souhaitez ajouter la clé. L’utilisateur root est appelé admin dans le gestionnaire d’utilisateurs.
- Cliquez sur la case à cocher dans la section des clés autorisées intitulée « cliquez pour coller une clé autorisée ».
- Collez la clé publique qui a été générée à partir de Puttygen dans la boîte.
- Cliquez sur enregistrer.
Sauvegarde de la clé privée
La dernière étape consiste à enregistrer la clé privée correspondante et à configurer le client Putty pour l’utiliser. Pour encore plus de sécurité, je recommande de définir une phrase secrète pour la clé privée.
Sans phrase de passe, toute personne disposant d’une copie du fichier de clé privée peut se connecter au serveur. En ajoutant une phrase de passe, la clé ne peut pas être utilisée sans d’abord savoir quelle est la phrase.
Pour stocker la clé privée sur l’ordinateur local, cliquez sur le bouton Enregistrer la clé privée dans Puttygen.
Pour charger la clé dans Putty, accédez à la page des paramètres d’authentification située sous Connection\SSH. Cliquez sur le bouton Parcourir et localisez où vous avez enregistré le fichier de clé privée.
Tester la clé
Une fois la clé chargée dans le client, vous pouvez tenter de vous connecter au serveur SSH. Vous devriez voir un message comme celui de la capture d’écran ci-dessous indiquant que la clé publique est utilisée pour l’authentification.
Si vous avez attribué une phrase de passe pour la clé privée, vous serez invité à la saisir à ce moment.
Transfert de fichiers via SSH avec WinSCP
SSH peut également être utilisé pour transférer des fichiers vers ou depuis pfSense à l’aide de SCP (protocole de copie sécurisée). Avec SCP, vous pouvez transférer des fichiers en toute sécurité vers ou depuis le système distant tout en utilisant le système d’authentification SSH existant.
Pour les utilisateurs de Windows, il existe un excellent client SCP appelé WinSCP. Le programme WinSCP fournit une interface facile à utiliser pour transférer des fichiers via SSH.
Lorsque WinSCP démarre, l’écran de connexion s’affiche ; entrez l’adresse IP de la boîte pfSense dans le champ du nom d’hôte. Si vous n’exécutez pas SSH sur le port par défaut (22), modifiez le numéro de port en conséquence.
Connectez-vous en utilisant les mêmes informations d’identification que vous utilisez lors de la connexion avec SSH.
Une fois la connexion établie, une liste directe du système distant s’affichera sur le côté droit. Le côté gauche de l’écran affiche le système de fichiers local.
L’interface WinSCP est essentiellement identique à l’Explorateur Windows ; vous pouvez faire glisser et déposer des fichiers et des répertoires entre l’ordinateur distant et l’ordinateur local.
Les nombreuses utilisations de SSH
Comme vous pouvez le voir, SSH est incroyablement polyvalent ! Il y a beaucoup plus de choses que vous pouvez faire avec le protocole pour faciliter l’administration du système. Vous pouvez même configurer des scripts pour exécuter des commandes sur des systèmes distants à des moments prédéterminés. Mieux encore, tout ce qui se fait via SSH est entièrement sécurisé, grâce au cryptage qu’il utilise.
Si vous connaissez d’autres utilisations intéressantes du shell sécurisé, veuillez laisser un commentaire ci-dessous.
Cet article est exact et fidèle au meilleur de la connaissance de l’auteur. Le contenu est uniquement à des fins d’information ou de divertissement et ne remplace pas un conseil personnel ou un conseil professionnel en matière commerciale, financière, juridique ou technique.
© 2012 Sam Kear
Faraz Mansour le 16 novembre 2018 :
Vidéo extrêmement informative, veuillez charger des vidéos sur les tests de débit via le tunnel SSH car il existe des vidéos très moins informatives à leur sujet.
Léonard Pinheiro le 12 octobre 2017 :
Je viens d’acheter un Vault chez Protectli et d’y installer le pare-feu pfSense.
Tu m’as beaucoup aidé avec ton tuto.
Merci beaucoup.