====== 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]]