Aller au contenu

Recommended Posts

Mise en place d'un « port-knocking »

 

 

1. La notion de « port-knocking »

 

Dans un souci de sécurité permanant, le « port-knocking » vient renforcer votre défense face aux intrusions indésirables. Son fonctionnement permet d'ouvrir et de fermer dynamiquement le port souhaité grâce à  une séquence bien précise de signaux sur des ports définis (ce principe est appelé « toc toc toc ») pour éviter qu'un pirate informatique le repère par un scan des ports de la machine et qu'il puisse en prendre le contrôle total.

 

PORTK01-550x366.png

Principe de fonctionnement du « port-knocking ». © IT-Connect.fr

 

 

2. Paramétrage du serveur

 

Le serveur doit disposer d'un firewall bien configurer pour que le service knockd puisse gérer dynamiquement les ports de votre serveur. Ce service est donc en écoute d'une suite de ports associés a un protocole TCP ou UDP.

 

Sa configuration est relativement simple et se fait par le fichier "/etc/knockd.conf".

 

Deux approches vont être présentées :

  • la première est destinée aux connexions qui ne nécessitent pas d'être maintenues (comme HTTP) ;
  • la seconde méthode à  celles qui doivent l'être (comme SSH et IRC).
 

2.1. Connexions non maintenues (no keep-alive)

 

Dans l'exemple ci-dessous, l'utilisateur entrant la séquence de signaux sur les ports 7000, 8000 et 9000 exécutera la commande définie dans "command" permettant ainsi l'ouverture du port 80. Pour que ce port soit refermer, l'utilisateur doit entrer la séquence inverse ou une autre séquence qui sera à  définir dans [closeHTTP].

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

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

2.2. Connexions maintenues (keep-alive)

 

Dans l'exemple de configuration ci-dessous, l'utilisateur entrant la séquence de signaux sur les ports 7000, 8000 et 9000 a 10 secondes pour se connecter au serveur via SSH, après quoi le port se refermera automatiquement mais ne fermera pas les connexions actives.

[SSH]
      sequence    = 7000,8000,9000
      seq_timeout = 5
      command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
      tcpflags    = syn
      cmd_timeout   = 10
      stop_command  = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

3. Accès côté client

 

L'utilisateur doit donc entrer la suite de ports qu'il a défini dans le fichier de configuration du daemon « knockd » avec la commande suivante :

knock <server_adress> <port_1> <port_2> <port_3>
Modifié par Soulalex
Lien vers le commentaire
Partager sur d’autres sites

  • Soulalex featured et unfeatured this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Vous avez collé du contenu avec mise en forme.   Supprimer la mise en forme

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Chargement
 Share

×
×
  • Créer...