Port knocking et spa:Port knocking

From aldeid
Jump to: navigation, search

Port Knocking : Knockd

Description

Knockd est un serveur de séquence de ports. Il écoute le trafic sur une interface particulière, à la recherche d’une séquence de ports (en TCP ou UDP) préalablement définie dans le fichier de configuration. Lorsque cette séquence est détectée, knockd modifie les règles du firewall afin d’autoriser l’accès au client originaire de la séquence.

Installation et paramétrage de knockd

L’installation de knockd s’effectue par la commande suivante :

# apt-get install knockd

Modification du fichier /etc/default/knockd

Il est maintenant nécessaire de modifier le fichier /etc/defautl/knockd afin que knockd puisse démarrer :

# vi /etc/default/knockd

Modifier le ficher comme suit :

################################################
#
# knockd's default file, for generic sys config
#
################################################

# control if we start knockd at init or not
# 1 = start
# anything else = don't start
START_KNOCKD=1

# command line options
KNOCKD_OPTS="-i eth0"

Remarque :
Modifier éventuellement l’interface en fonction de vos besoins.

Modification du fichier /etc/knockd.conf

Modifions maintenant le fichier de configuration :

# vi /etc/knockd.conf

Modifier le ficher comme suit :

[options]
  Logfile   = /var/log/knockd.log

[openSSH]
  sequence    = 7000,8000,9000
  seq_timeout = 5
  command     = /sbin/iptables -I 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

Par ce moyen, la séquence d'ouverture du port SSH sera : 7000:tcp, 8000:tcp, 9000:tcp, mais il faudra penser à fermer le port une fois la connexion SSH fermée, par la séquence inverse : 9000:tcp, 8000:tcp, 7000:tcp.
Le fichier suivant est une alternative intéressante dans la mesure où la fermeture des ports s’effectue automatiquement :

[options]
  logfile = /var/log/knockd.log

[openSSH]
  sequence      = 7000:tcp,8000:udp,9000:tcp
  tcpflags      = syn
  seq_timeout   = 5
  start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 –j ACCEPT
  cmd_timeout   = 5
  stop_command  = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

Forcer knockd à se comporter comme démon

Utiliser la commande suivante pour que knockd se comporte comme un démon :

# knockd –d

Redémarrer knockd (seulement si installé en tant que démon)
Si knockd est installé en tant que démon, vous pouvez le redémarrer par la commande suivante :

# /etc/init.d/knockd restart

Suppression de knockd

Pour supprimer knockd, utiliser les commandes suivantes :

# apt-get remove knock
# update-rc.d –f knockd remove
# rm /etc/init.d/knockd
# rm /etc/knockd.conf




Préambule
[Sommaire]
Fwknop