Comment utiliser le coup de port pour sécuriser le service SSH dans Linux

Comment utiliser le coup de port pour sécuriser le service SSH dans Linux

Coup de port est une technique astucieuse de contrôler l'accès à un port en permettant uniquement aux utilisateurs légitimes d'accéder au service exécuté sur un serveur. Il fonctionne de telle manière que lorsque la bonne séquence de connexion tentative est faite, le pare-feu ouvre avec plaisir le port qui a été fermé.

La logique derrière le coup de port consiste à protéger votre système Linux à partir de scanners de port automatisés qui rôdent les ports ouverts. Dans ce guide, nous examinons comment vous pouvez installer le coup de port et comment vous pouvez le configurer pour sécuriser le service SSH. À des fins de démonstration, nous utiliserons Ubuntu 18.04.

Étape 1: Installer et configurer le coup

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

$ sudo apt install knockd 

Une fois installé, ouvrez le faire tomber.confli Configuration avec votre éditeur de texte préféré. Ici, nous utilisons l'éditeur de texte de ligne de commande VIM.

$ sudo vim / etc / knockd.confli 

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

Fichier de configuration de frappe

Sous le [OpenSSH] Section, nous devons modifier la séquence de coup 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 réglé 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 commande, changement -UN pour -je Juste après le / sbin / iptables commande et avant SAISIR.

Et enfin, sous le [CLOSSESSH] La section, encore une fois, modifie la séquence par défaut dans votre choix préféré. Il s'agit de la séquence qui sera utilisée pour fermer la connexion SSH une fois l'utilisateur terminé et se déconnecter du serveur.

Voici notre configuration complète.

paramètres de configuration de frappe

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

Une autre configuration que nous devons modifier est le / etc / par défaut / knockd. Encore une fois, ouvrez-le en utilisant votre éditeur de texte.

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

Localiser 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 l'addr IP ou la commande ifconfig.

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

Interface réseau active

La configuration complète est comme indiqué.

Valeurs de configurations frappées

Enregistrer les modifications et quitter.

Puis démarrer et activer faire tomber démon comme illustré.

$ sudo systemctl start knockd $ sudo systemctl activer knockd 

Pour vérifier l'état de faire tomber démon, exécutez la commande:

$ sudo systemctl status knockd 
Vérifiez le statut de knockd

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

Depuis l'objectif du faire tomber Le 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 du pare-feu UFW.

$ sudo ufw status numérotés 
Vérifier l'état 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 supprimer 9 $ sudo ufw supprimer 5 
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é.

Timeout de connexion SSH

Étape 3: Configurez un client Knock pour se connecter au serveur SSH

Dans la dernière étape, nous configurerons un client et tenterons de se connecter en envoyant d'abord la séquence de coups que nous avons configurée sur le serveur.

Mais d'abord, installez faire tomber 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 coups à l'aide de la syntaxe affiché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 à ce que nous avons, en fonction de votre séquence. Cela montre que les tentatives de coups ont réussi.

Séquence de coups

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

Connectez-vous 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 coups de fermeture.

$ knock -v 192.168.2.105 10007 10006 10005 

Toute tentative de se connecter au serveur échouera comme démontré.

Fermer les ports SSH
Réflexions de clôture

Cela conclut ce guide sur la façon de tirer parti du coup de port pour sécuriser le service SSH sur votre serveur. Une approche meilleure et plus facile serait de configurer l'authentification SSH du mot de passe à l'aide de paires de clés SSH. Cela garantit que seul l'utilisateur avec la clé privée peut s'authentifier avec le serveur sur lequel la clé publique est stockée.