Bonjour à tous,
je me penche sur le port knocking. Pour les cas simples c'est facile, il suffit de quelques règles iptables ou d'un petit démon et le tour est joué. On peu déverrouiller des ports avec de simples ping ou netcat, telnet, etc.
Par contre, dès qu'on souhaite quelque chose d'un peu évolué (plusieurs utilisateurs avec accès différents, mot de passe, etc), il faut un client spécifique. Le client en question est capable d'envoyer les bons paquets aux bons endroits, avec le bon contenu. Sur le serveur il y a une liste de "codes" avec les actions correspondantes.
Si on veut quelque chose de cryptographiquement solide, les délais de transmission deviennent gênants.
Je trouve que c'est bien compliqué. Quitte à avoir un client, autant que le client soit simplement capable d'envoyer un paquet sur un port déterminé, et que ce paquet contienne le bon mot de passe. Pas la peine d'envoyer 36 paquets sur 36 ports différents.
Pour plus de sécurité, la cible peut répondre avec un sel, et le client devrait envoyer de nouveau un mot de passe (pas le même) chiffré avec une pincée de sel. On a ainsi un premier mot de passe rejouable (commun à tous les utilisateurs éventuellement), et un second non rejouable.
Donc je ne saisi pas bien pourquoi on complique le port knocking jusqu'à produire quelque chose de pas bien efficace. J'ai raté quelque chose ?
# simplement parce que ...
Posté par NeoX . Évalué à 1.
dans le cas simple :
1 paquet vers le port A => ca ouvre le port B
dans le cas complexe
1 paquet sur le port A => reponse qui es tu
1 paquet sur le port A, je suis X => reponse bien, dis moi ton mot de passe
1 paquet sur le port A, mon passe est => bien examinons ton identification
# port knocking vs authentification par clef
Posté par gaaaaaAab . Évalué à 2.
L'idée du port knocking est que le port 22 soit fermé par défaut, et que seule une combinaison de ping sur des ports dans un ordre déterminé l'ouvre pendant quelques minutes.
Ensuite, c'est une connexion ssh classique avec authentification classique.
Au bout d'un certain temps (configuré quelque part), le port 22 se referme.
Pour tout attaquant scannant les ports en dehors de cette plage de quelque minutes, la probabilité qu'il scan les ports dans le bon ordre étant faible, le service ssh n'est pas accessible (donc pas troutable)
ce que tu décris (grosso modo, l'envoi d'un challenge), c'est finalement l'authentification par clefs . Ca existe aussi, mais c'est pas du port knocking.
[^] # Re: port knocking vs authentification par clef
Posté par gaaaaaAab . Évalué à 1.
cf http://linuxfr.org/comments/1091331.html#1091331
# fwknop
Posté par Kerro . Évalué à 2.
Ca fait (presque) exactement ce que tu indiques. C'est beaucoup plus rapide que du port knocking si tu cherches des choses sécurisées. Et ça reste simple.
# Rien a voir mais ça marche aussi
Posté par Mr Kapouik (site web personnel) . Évalué à 3.
authpf c'est un deamon qui attend qu'un utilisateur se connecte sur ssh. Une fois logué, il ouvre les ports, redirige le trafique ou tout ce que tu veux faire dans ton firewall. Pour arrêter il suffit de fermer la connexion ssh. Personnellement j'utilise ça dans mon réseau wifi personnel avec succés et j'ai même fait un petit client windows tout simple avec putty et un .bat.
Voici un exemple concret des possibilités d'authpf dans le cadre d'un réseau wifi :
http://wiki.openbsd-france.org/documentations/reseau/monter_(...)
[^] # Re: Rien a voir mais ça marche aussi
Posté par gremous . Évalué à 1.
Et même un troisième démon ssh qui tourne sur le port 22. Toute saisie d'un identifiant sur ce port entraîne un bannissement de l'ip source jusqu'au redémarrage de la machine.
putty et un .bat ?
Ca te permet d'exécuter des commandes ?
Dans la doc je vois l'option -m. C'est ce que tu utilises ?
Je viens de voir que authpf est disponible sur Debian Lenny :)
Je regarde ça, merci !
[^] # Re: Rien a voir mais ça marche aussi
Posté par Mr Kapouik (site web personnel) . Évalué à 2.
Sinon je ne vois pas comment authpf peut être dans debian lenny vu que ça se base sur PF qui est le firewall des BSD et qui ne peut en aucun cas fonctionner sur un linux.
Sinon google me dit de regarder nufw qui ferait quelque chose dans le genre mais vu que je trouve la syntaxe d'iptables vraiment à chier comparé à PF je n'irai pas plus loin.
Pour ne pas paraitre trop poilu sur ma dernière phrase voilà mon exemple préféré pour démontrer la simplicité de PF par le même auteur : http://wiki.openbsd-france.org/documentations/reseau/introdu(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.