Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

Comment personnaliser les paramètres SSH pour une sécurité maximale

Le fichier de configuration SSH sur votre système Unix contrôle le fonctionnement du shell sécurisé. Il peut être utilisé pour faciliter l’utilisation de la commande ssh, configurer des fonctions spécifiques souhaitées par l’utilisateur ou renforcer la sécurité contre les attaques potentielles. Alors que des actions relativement simples, comme changer le port ssh sur vos appareils, peuvent souvent éliminer un grand nombre d' »appels à froid » ssh sur votre machine, le fichier de configuration ssh peut faire bien plus que cela.

Contenu

Où est le fichier de configuration SSH ?

Sur les systèmes Linux, vous pouvez trouver votre fichier de configuration ssh à l’échelle du système dans « /etc/ssh/ssh_config ».

Sur les systèmes macOS, le même fichier se trouve dans « /private/etc/ssh/ssh_config », qui est lié symboliquement à « /etc/ssh/ssh_config » pour la compatibilité.

Un deuxième fichier ssh_config spécifique à l’utilisateur peut être situé dans « ~/.ssh/ssh_config » (le symbole « ~ » représente le répertoire personnel). Ce fichier remplace le fichier de configuration à l’échelle du système, vous permettant de définir des options spécifiques à l’utilisateur sans modifier la configuration du système. Les systèmes ne sont pas toujours livrés avec un fichier « ~/.ssh/ssh_config », mais il peut être créé facilement.

À l’avenir, nous appellerons ce fichier de configuration « ssh_config » pour plus de clarté et de simplicité.

Modification du fichier ssh_config

Pour modifier le fichier ssh_config, ouvrez une fenêtre Terminal et modifiez le fichier avec votre éditeur de texte préféré. Nous utiliserons nano dans cette démo, mais vi ou emacs peuvent être utilisés à la place.

Cela ouvrira un fichier avec des dizaines de lignes commentées expliquant ce que fait le fichier, mais ce n’est pas une explication complète.

edit-ssh-config-file-edit-ssh-config-in-terminal

Qu’est-ce que le fichier ssh_config et que fait ssh_config ?

Le fichier ssh_config est utilisé pour contrôler le fonctionnement du shell sécurisé, mieux connu sous le nom de commande de terminal ssh, sur votre système. Le fichier ssh_config est organisé par hôtes. Chaque hôte contient des paramètres spécifiques pour cet hôte. Des caractères génériques comme * peuvent être utilisés pour faire correspondre plusieurs noms d’hôtes avec une seule déclaration.

Les options sont déclarées à l’aide d’une paire clé/définition. De nombreuses clés sont disponibles. Une explication détaillée de la fonctionnalité de chaque clé peut être trouvée sur la page de manuel ssh_config.

Renforcement de votre configuration SSH

Verrouillage des fichiers : avant de modifier le fichier, assurez-vous que le propriétaire et l’utilisateur des fichiers ssh_config et sshd_config sont définis sur root. Dans la plupart des cas, vous souhaiterez également interdire les autorisations à quiconque sauf à root.

Confirmer le protocole SSH 2

Assurez-vous d’utiliser le protocole 2 plus récent et moderne au lieu du protocole 1. L’ancien protocole fonctionne avec un contrôle d’intégrité plus faible et est généralement moins sécurisé.

Pour définir explicitement le protocole, utilisez ce qui suit dans votre ssh_config :

Vous pouvez également définir implicitement votre protocole en utilisant Ciphers, qui définira automatiquement Protocol sur 2 pour utiliser les Ciphers modernes.

Interdire le mot de passe vide

Assurez-vous que chaque compte SSH utilise un mot de passe lors de la connexion en bloquant les mots de passe vides.

Interdire la connexion root

La racine devrait rarement être utilisée pour la plupart des utilisations Linux. Empêcher la connexion root vous permettra de verrouiller les comptes spécifiquement pour ce qui est nécessaire et de ne pas autoriser une utilisation à l’échelle du système. C’est aussi un compte qui est ciblé dans les attaques. Les options pour PermitRootLogin incluent « oui », « sans mot de passe », « commandes forcées uniquement » ou « non ». La valeur par défaut est « oui ». Pour arrêter complètement la connexion root, utilisez la ligne ci-dessous.

Changer le numéro de port

Vous pouvez modifier le numéro de port de 22 (par défaut) afin de limiter les accès directs à votre serveur sur ce port. Cela limitera la plupart des personnes qui utilisent un script pour ce port, ou qui attaquent ce port manuellement. Cependant, cela ne limitera pas ceux qui recherchent les ports ouverts et attaquent tout ce qui est ouvert. En plus de cela, vous devrez vous assurer que toute personne qui accède via ce port est au courant du nouveau numéro et que ce nouveau numéro de port est utilisé par tout client ou logiciel.

Psssssst :  Question : Quelle est la distribution Linux la plus légère ?

Pour ajuster le port, éditez le démon ssh principal dans « /etc/ssh/sshd_config ». Vous voudrez ajouter une nouvelle ligne spécifiant le port en suivant la syntaxe Port XXXXX.

edit-ssh-config-file-change-ssh-port

Accès restreint

Si plusieurs personnes accèdent à votre serveur, vous souhaiterez peut-être restreindre complètement l’utilisation de ssh. Pour ces instances, vous pouvez autoriser et refuser à la fois des utilisateurs et des groupes. Pour cela, vous devrez utiliser l’une des clés suivantes, suivie des valeurs que vous souhaitez autoriser ou refuser : DenyUsers, AllowUsers, DenyGroups et AllowGroups. Ceci est terminé dans cet ordre, donc même si vous autorisez un utilisateur s’il se trouve dans la section « denyusers », il sera refusé.

Mettre à jour le LoginGraceTime

Par défaut, le temps dont une personne dispose pour rester inactif sans se connecter est de deux minutes. Limiter cela aidera à empêcher les connexions non autorisées. Une suggestion typique dure une minute ou moins. Réglez l’heure à l’aide de LoginGraceTime.

Personnalisation des configurations SSH

Création d’alias

Les options de ligne de commande Ssh peuvent être spécifiées via des alias dans ssh_config. L’alias suivant permet à l’utilisateur de se connecter au serveur de développement avec les options spécifiées en tapant simplement ssh dev sur la ligne de commande.

Cela exécute la commande suivante lorsqu’elle est exécutée :

Notez que le port ssh a été changé en 22222 pour dissuader les appels à froid. Sinon, il s’agit d’une connexion ssh très simple, raccourcie de nombreux caractères pour plus de commodité.

Authentification avec des paires de clés sécurisées

ssh est plus sûr et plus pratique lorsqu’il est utilisé avec des paires de clés publiques/privées pour l’authentification, plutôt que des mots de passe. Le fichier ssh_config peut déclarer une clé spécifique pour un hôte spécifique à l’aide de la clé IdentityFile.

Comme dans les exemples précédents, cette commande ssh doit être exécutée avec ssh dev, en exécutant la commande équivalente à la ligne de commande suivante :

Définir d’autres options ssh

Les options ssh ci-dessous sont quelques-unes des clés les plus courantes trouvées dans les fichiers ssh_config.

Psssssst :  Qu'est-ce que le package standard Ubuntu ?

Compression : cette clé prend « oui » ou « non » comme arguments et est utilisée pour activer la désactivation de la compression pour un hôte. Ce n’est généralement pas nécessaire, sauf si la connexion est incroyablement lente.

LogLevel : définissez le niveau de détail dans les journaux côté client ssh. Du moins détaillé au plus détaillé, les options sont QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2 et DEBUG3.

StrictHostKeyChecking : définissez une préférence pour l’ajout d’hôtes au fichierknown_hosts. « oui » n’ajoutera jamais d’hôtes connus. « no » s’ajoutera toujours àknown_hosts. « Ask », qui est l’option par défaut, demandera à l’utilisateur avant d’ajouter au fichierknown_hosts. « oui » offre la plus grande sécurité contre les attaques de chevaux de Troie, mais cela peut être fastidieux avec un fichierknown_hosts mal géré. « non » est le moins sécurisé mais peut rendre la connexion à un grand nombre d’hôtes temporaires moins douloureuse.

UserKnownHostsFile : spécifiez le chemin d’accès d’un fichierknown_hosts spécifique à l’utilisateur.

Transfert de connexion

ssh est souvent utilisé pour transférer les connexions, permettant à une connexion locale de passer par une connexion distante. Les options suivantes peuvent être utilisées pour configurer le transfert de connexion.

LocalForward : définissez une connexion pour transférer le trafic d’un port local vers une machine distante. Cela tunnelise la connexion via le réseau distant.

RemoteForward : définissez un port distant à extraire d’un port local. C’est l’inverse de l’option ci-dessus.

DynamicForward : configurez un port local à utiliser avec un protocole de transfert dynamique.

Conclusion

La plupart des options ssh_config existent pour fournir des moyens plus pratiques d’effectuer des tâches spécifiques à l’aide de la commande ssh. C’est un moyen de configurer des alias et des raccourcis complexes qui contribuent à augmenter la sécurité en facilitant l’utilisation des parties les plus sécurisées de ssh.

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci