Port cognant est une technique astucieuse de contrôle de l’accès à un port en n’autorisant que les utilisateurs légitimes à accéder au service exécuté sur un serveur. Cela fonctionne de telle manière que lorsque la bonne séquence de tentatives de connexion est effectuée, le pare-feu ouvre volontiers le port qui a été fermé.

La logique derrière le port knocking est de protégez votre système Linux des scanners de ports automatisés qui rôdent pour les ports ouverts. Dans ce guide, nous examinons comment vous pouvez installer le port knocking et comment vous pouvez le configurer pour service SSH sécurisé. A des fins de démonstration, nous utiliserons Ubuntu 18.04.

Étape 1 : Installer et configurer knockd

Pour commencer, connectez-vous à votre système Linux et installez le cogné démon comme indiqué.

$ sudo apt install knockd

Une fois installé, ouvrez le knockd.conf configuration avec votre éditeur de texte préféré. Ici, nous utilisons le éditeur de texte en ligne de commande vim.

$ sudo vim /etc/knockd.conf

Le fichier de configuration par défaut apparaît comme suit.

Fichier de configuration knockd
Fichier de configuration knockd

Sous le [openSSH] section, nous devons changer la séquence de frappe par défaut – 7000,8000,9000 – à autre chose. En effet, ces valeurs sont déjà connues et peuvent compromettre la sécurité de votre système.

À des fins de test, nous avons défini les valeurs sur 10005, 10006, 10007. C’est la séquence qui sera utilisée pour ouvrir le port SSH à partir d’un système client.

Dans la troisième ligne – en commençant par commander, monnaie -A à -I juste après le /sbin/iptables commande et avant INPUT.

Et enfin, sous le [closeSSH] section, encore une fois, remplacez la séquence par défaut par votre choix préféré. C’est la séquence qui sera utilisée pour fermer la connexion SSH une fois que l’utilisateur a terminé et se déconnecte du serveur.

Voici notre configuration complète.

Paramètres de configuration
Paramètres de configuration

Une fois que vous avez terminé, enregistrez les modifications et quittez.

Une autre configuration que nous devons modifier est la /etc/default/knockd. Encore une fois, ouvrez-le à l’aide de votre éditeur de texte.

$ sudo vim /etc/default/knockd
Paramètres de configuration knockd par défaut
Paramètres de configuration knockd par défaut

Localisez la ligne START_KNOCKD=0. Décommentez-le et définissez la valeur sur 1.

Ensuite, dirigez-vous vers la ligne KNOCKD_OPTS=”-i eth1” Décommentez-le et remplacez la valeur par défaut eth1 valeur avec l’interface réseau active de votre système. Pour vérifier votre interface réseau, exécutez simplement le adresse ip ou la commande ifconfig.

Pour notre système, enp0s3 est la carte réseau active.

Interface réseau active
Interface réseau active

La configuration complète est comme indiqué.

Knockd Configurations Valeurs
Knockd Configurations Valeurs

Enregistrez les modifications et quittez.

Puis démarrez et activez cogné démon comme indiqué.

$ sudo systemctl start knockd
$ sudo systemctl enable knockd

Pour vérifier l’état de cogné démon, exécutez la commande :

$ sudo systemctl status knockd
Vérifier le statut knockd
Vérifier le statut knockd

Étape 2 : Fermez le port SSH 22 sur le pare-feu

Étant donné que l’objectif de la cogné service est d’accorder ou de refuser l’accès au service ssh, nous allons fermer le port ssh sur le pare-feu. Mais d’abord, vérifions l’état de la Pare-feu UFW.

$ sudo ufw status numbered
Vérifier l'état de l'UFW
Vérifier l’état de l’UFW

De la sortie, nous pouvons clairement voir que SSH Port 22 est ouvert sur les deux IPv4 et IPv6 protocoles numérotés 5 et 9 respectivement.

Nous devons supprimer ces deux règles comme indiqué, en commençant par la valeur la plus élevée – qui est 9.

$ sudo ufw delete 9
$ sudo ufw delete 5
Supprimer les règles UFW
Supprimer les règles UFW

Maintenant, si vous essayez de vous connecter à distance au serveur, vous obtiendrez une erreur de délai de connexion, comme indiqué.

Délai d'expiration de la connexion SSH
Délai d’expiration de la connexion SSH

Étape 3 : Configurer un client knock pour se connecter au serveur SSH

Dans la dernière étape, nous allons configurer un client et tenter de nous connecter en envoyant d’abord la séquence de frappe que nous avons configurée sur le serveur.

Mais d’abord, installez cogné démon comme vous l’avez fait sur le serveur.

$ sudo apt install knockd

Une fois l’installation terminée, envoyez la séquence de frappe en utilisant la syntaxe indiquée

$ knock -v server_ip knock_sequence

Dans notre cas, cela se traduit par :

$ knock -v 192.168.2.105 10005 10006 10007

Vous devriez obtenir une sortie similaire à celle que nous avons, en fonction de votre séquence. Cela montre que les tentatives de frappe ont réussi.

Séquence de frappe
Séquence de frappe

À ce stade, vous devriez être en mesure de vous connecter avec succès au serveur à l’aide de SSH.

Se connecter au serveur à l'aide de Knockd
Se connecter au serveur à l’aide de Knockd

Une fois que vous avez terminé votre travail sur le serveur distant, fermez le port SSH en envoyant la séquence de fermeture.

$ knock -v 192.168.2.105 10007 10006 10005

Toute tentative de connexion au serveur échouera comme indiqué.

Fermer les ports SSH
Fermer les ports SSH
Pensées de clôture

Ceci conclut ce guide sur la façon d’exploiter le port knocking pour sécuriser le service SSH sur votre serveur. Une approche meilleure et plus simple serait de configurer l’authentification SSH par mot de passe en utilisant des paires de clés SSH. Cela garantit que seul l’utilisateur disposant de la clé privée peut s’authentifier auprès du serveur sur lequel la clé publique est stockée.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT pour tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café ( ou 2 ) en guise de remerciement.

Soutenez-nous

Nous sommes reconnaissants pour votre soutien sans fin.

.

Leave a Reply