S
strike07

  • 9 janv.
  • Inscrit 29 oct. 2023
  • 1 meilleure réponse
  • Bonjour,

    Je reviens vers vous car je pense qu’il est utile de clôturer ce sujet qui a été résolu.

    Après avoir vérifié l’état de knockd.service comme suggéré par Nicosss, il s’avère bien qu’après le démarrage, le processus est mort. Il s’avère que si le réseau n’est pas bien actif, knockd ne démarre pas, j’ai donc changé la séquence After=network.target par After=network-online.target et plus de soucis.

    Aussi il semblerait que firewalld surveille les services et ouvre les ports uniquement quand le service en a besoin. Il est donc totalement inutile de les ouvrir manuellement, autant d’un point de vue pratique que de la sécurité (pour ce point je raconte peut-être n’importe quoi, en réalité je suis pas très bon en réseau, toujours est-il que chez moi ça fonctionne “out of the box” sur ce point).

    Pour répondre à nouvo09 : il va en effet de soit que je n’utilise pas des ports prévisibles, surtout qu’il va s’agir d’un serveur de “production” (hébergement d’un site vitrine) et pas d’un petit bricolage.

    En tout cas merci pour vos réponses 🙂

  • Bonjour,

    Je fais face à un problème étrange avec Fedora Server : j’essaye d’implémenter le port-knocking, la configuration suivante fonctionne :

    cat /etc/knockd.conf
    [options]
    interface = eno1
    logfile = /var/log/knockd.log
    [SSH]
    sequence = 7000,8000,9000
    seq_timeout = 20
    tcpflags = syn
    start_command = firewall-cmd --add-service=ssh --zone=FedoraServer
    cmd_timeout = 10
    stop_command = firewall-cmd --remove-service=ssh --zone=FedoraServer

    J’ai ouvert les ports 7000, 8000 et 9000 :

    sudo firewall-cmd --list-all --zone=FedoraServer
    FedoraServer (active)
      target: default
      icmp-block-inversion: no
      interfaces: eno1
      sources: 
      services: cockpit dhcpv6-client ssh
      ports: 7000/tcp 8000/tcp 9000/tcp
      protocols: 
      forward: yes
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules:

    le service systemctl est bien activé, et pourtant lors d’un redémarrage, un knock depuis une autre machine n’a aucun effet, par contre si je redémarre knockd.service, là il commence à fonctionner, à faire les bonnes actions quand la séquence est envoyée, je le vois dans ses logs :

    [2023-10-29 02:55] 192.168.1.22: SSH: Stage 1
    [2023-10-29 02:55] 192.168.1.22: SSH: Stage 2
    [2023-10-29 02:55] 192.168.1.22: SSH: Stage 3
    [2023-10-29 02:55] 192.168.1.22: SSH: OPEN SESAME
    [2023-10-29 02:55] SSH: running command: firewall-cmd --add-service=ssh --zone=FedoraServer
    [2023-10-29 02:55] 192.168.1.22: SSH: command timeout
    [2023-10-29 02:55] SSH: running command: firewall-cmd --remove-service=ssh --zone=FedoraServer

    J’ai l’impression que c’est un soucis avec firewalld, comme si knockd ne voyait pas que les ports étaient ouverts. Cependant je ne suis sûr de rien.

    Merci par avance pour vos réponses 🙂

    Edit Nicosss : Correction des balises Markdown -> Voir FAQ

    • Nicosss a répondu à ça.
      • Meilleure réponsesélectionnée par Nicosss

      Bonjour,

      Je reviens vers vous car je pense qu’il est utile de clôturer ce sujet qui a été résolu.

      Après avoir vérifié l’état de knockd.service comme suggéré par Nicosss, il s’avère bien qu’après le démarrage, le processus est mort. Il s’avère que si le réseau n’est pas bien actif, knockd ne démarre pas, j’ai donc changé la séquence After=network.target par After=network-online.target et plus de soucis.

      Aussi il semblerait que firewalld surveille les services et ouvre les ports uniquement quand le service en a besoin. Il est donc totalement inutile de les ouvrir manuellement, autant d’un point de vue pratique que de la sécurité (pour ce point je raconte peut-être n’importe quoi, en réalité je suis pas très bon en réseau, toujours est-il que chez moi ça fonctionne “out of the box” sur ce point).

      Pour répondre à nouvo09 : il va en effet de soit que je n’utilise pas des ports prévisibles, surtout qu’il va s’agir d’un serveur de “production” (hébergement d’un site vitrine) et pas d’un petit bricolage.

      En tout cas merci pour vos réponses 🙂