====== KNOCKD ====== ===== Introduction ===== Le service "knockd" permet de déclencher l'éxécution d'une tâche à distance sur un serveur. Je m'en sert sur mes serveurs dédiés et VPS pour sécuriser l'accès SSH au serveur. Je vais présenter ici un exemple de mise en place de ce service sur un serveur VPS qui tourne sous Debian Jessie. ==== Installation des packages ==== Les packages knockd sont disponibles dans les dépôts Debian officiels. ==== MAJ du système ==== apt-get update apt-get upgrade apt-get install knockd ==== Les fichiers de config ==== Le fichier knockd.conf se présente par défaut comme ci-dessous : [options] UseSyslog [openSSH] sequence = 7000,8000,9000 seq_timeout = 5 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9000,8000,7000 seq_timeout = 5 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn Afin de comprendre comment configurer le service, nous allons analyser la section "openSSH" : * sequence : la liste des ports à attaquer pour déclencher un évenement * seq_timeout : l'interval de temps maximal pour que le serveur recoive la séquence * command : la commande éxécuter sur le serveur à réception de la séquence * tcpflags : le flag tcp attendu par le serveur ==== Démarrer le service ==== systemctl start knockd ==== Déclencher l'éxecution du script ==== Côté poste client, si l'on travaille sur le poste linux, on peut utiliser le client knock de la manière suivante : knock monvps.tld 7000,8000,9000 ou knock 12.34.56.78 7000,8000,9000 ==== Conclusion : Pourquoi utiliser le service knockd? ==== Grâce à ce système, nous pouvons fermer le port ssh sur le firewall de notre serveur et l'ouvrir à la demande. De ce fait, on se protège contre les tentatives d'accès au serveur par force brute car le port ssh est ouvert uniquement pour notre adresse IP source. J'utilise ce service uniquement pour cette raison, mais nous pouvons imaginer d'autres fonctionnalités comme le déclenchement d'un script "x.sh" en le précisant dans la section command. [[systemes:linux:start|Retour]]