Comment sécuriser davantage SSH avec une séquence de suppression de port sur Ubuntu 18.04

introduction

En plus de changer le port par défaut pour SSH et d'utiliser une paire de clés pour l'authentification, le détournement de port peut être utilisé pour sécuriser davantage (ou plus précisément, obscurcir) votre serveur SSH. Il fonctionne en refusant les connexions à votre port réseau SSH. Cela masque essentiellement le fait que vous exécutez un serveur SSH jusqu'à ce qu'une séquence de tentatives de connexion soit effectuée sur des ports prédéfinis. Très sécurisé et simple à mettre en œuvre, le détournement de port est l'un des meilleurs moyens de protéger votre serveur contre les tentatives de connexion SSH malveillantes.

Conditions préalables

  • Un serveur Vultr exécutant Ubuntu 18.04.
  • Accès Sudo.

Avant de suivre les étapes ci-dessous, si vous n'êtes pas connecté en tant qu'utilisateur root, veuillez obtenir un shell root temporaire en exécutant sudo -iet en entrant votre mot de passe. Alternativement, vous pouvez ajouter sudoles commandes présentées dans cet article.

Étape 1: installation de Knockd

Knockd est le package utilisé en combinaison avec iptables pour implémenter le port knocking sur votre serveur. Le iptables-persistentpackage ' ' est également requis.

apt update
apt install -y knockd iptables-persistent

Étape 2: règles iptables

Exécutez les commandes suivantes dans l'ordre:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables-save > /etc/iptables/rules.v4

Ces commandes feront respectivement ce qui suit:

  • Demandez à iptables de maintenir en vie les connexions existantes.
  • Demandez à iptables de supprimer toute connexion au port tcp / 22 (si votre démon SSH écoute sur un port autre que 22, vous devez modifier la commande ci-dessus en conséquence.)
  • Enregistrez ces deux règles afin qu'elles persistent après un redémarrage.

Étape 3: configuration de Knockd

À l'aide d'un éditeur de texte de votre choix, ouvrez le fichier /etc/knockd.conf.

Vous verrez ce qui suit:

[openSSH]
sequence    = 7000,8000,9000
seq_timeout = 5
command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags    = syn

Vous devez modifier la séquence des ports (choisissez les numéros de port ci 1024- dessus et inutilisés par d'autres services) et stockez-les en toute sécurité. Cette combinaison doit être traitée comme un mot de passe. En cas d'oubli, vous perdrez l'accès à SSH. Nous ferons référence à cette nouvelle séquence comme x,y,z.

la seq-timeoutligne est le nombre de secondes pendant lesquelles Knockd attendra que le client termine la séquence de détournement de port. Ce serait une bonne idée de changer cela en quelque chose de plus grand, surtout si le port-knocking sera fait manuellement. Cependant, une valeur de délai d'attente plus petite est plus sûre. Il 15est recommandé de le changer car nous allons frapper manuellement dans ce tutoriel.

Modifiez la séquence d'ouverture pour les ports que vous avez choisis:

[openSSH]
sequence    = x,y,z

Modifiez la valeur de la commande comme suit:

command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Modifiez maintenant la séquence de fermeture en conséquence:

[closeSSH]
sequence    = z,y,x

Enregistrez vos modifications et quittez, puis ouvrez le fichier /etc/default/knockd:

  • Remplacez START_KNOCKD=0par START_KNOCKD=1.
  • Ajoutez la ligne suivante à la fin du fichier: KNOCKD_OPTS="-i ens3"(remplacez ens3par le nom de votre interface réseau publique s'il diffère.)
  • Sauvegarder et quitter.

Lancez maintenant Knockd:

systemctl start knockd

Si vous vous déconnectez maintenant de votre serveur, vous devrez frapper sur les ports x, yet zde vous connecter à nouveau.

Étape 4: test

Vous ne pourrez plus vous connecter à votre serveur SSH.

Vous pouvez tester le détournement de port avec un client Telnet.

Les utilisateurs de Windows peuvent lancer telnet à partir de l'invite de commande. Si telnet n'est pas installé, accédez à la section "Programmes" du Panneau de configuration, puis recherchez "Activer ou désactiver les fonctionnalités Windows". Dans le panneau des fonctionnalités, localisez «Client Telnet» et activez-le.

Dans votre terminal / invite de commande, tapez ce qui suit:

telnet youripaddress x
telnet youripaddress y
telnet youripaddress z

Faites tout cela en quinze secondes, car c'est la limite imposée dans la configuration. Maintenant, essayez de vous connecter à votre serveur via SSH. Il sera accessible.

Pour fermer l'accès au serveur SSH, exécutez les commandes dans l'ordre inverse.

telnet youripaddress z
telnet youripaddress y
telnet youripaddress z

Conclusion

La meilleure partie de l'utilisation du port knocking est que s'il est configuré en même temps que l'authentification par clé privée, il n'y a pratiquement aucune chance que quelqu'un d'autre puisse entrer à moins que quelqu'un ne connaisse votre séquence de port knocking et ait votre clé privée.



Leave a Comment

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Installation de McMyAdmin sur Ubuntu 14.10

Installation de McMyAdmin sur Ubuntu 14.10

McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai

Configurer un serveur TeamTalk sous Linux

Configurer un serveur TeamTalk sous Linux

TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer phpBB avec Apache sur Ubuntu 16.04

Installer phpBB avec Apache sur Ubuntu 16.04

PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment

Comment configurer loptimisation TCP sous Linux

Comment configurer loptimisation TCP sous Linux

Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201

Comment installer Pip sur Linux

Comment installer Pip sur Linux

Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t

Comment déployer Google BBR sur CentOS 7

Comment déployer Google BBR sur CentOS 7

BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Comment activer TLS 1.3 dans Apache sur Fedora 30

Comment activer TLS 1.3 dans Apache sur Fedora 30

Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446

Configurer un Chroot sur Debian

Configurer un Chroot sur Debian

Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu

Comment installer PiVPN sur Debian

Comment installer PiVPN sur Debian

Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t

Configurer Nginx-RTMP sur CentOS 7

Configurer Nginx-RTMP sur CentOS 7

Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.