Accueil Foire Aux Questions Trouver d'autres membres Rechercher Utilisez le vBpad pour stocker des notes personnelles Ici, vous pouvez voir les sujets auxquels vous avez souscris, vos messages privés; et modifier vos informations personnelles et préférences. Statistiques du forum Enregistrez vous gratuitement ! Se déconnecter  
Forum OXMO Forum OXMO > Section Technique > Réseaux / Sécurité > [LINUX] Implémentation d'un système de Port-knocking en n'utilisant QUE iptables


Aller au Forum:
Notez ce sujet :

  Sujet précédent   Sujet suivant
Auteur
Sujet Poster un nouveau sujet    Poster une réponse
 soul^keeper  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Administrateur

Connecté

Niveau : 5
N° de Membre : 1

Ancienneté : 100%
Participation : 19%
Inscription: 22 Feb 2002
Localisation: La Défense
Age: 48
Messages: 16623
Sujets Lancés : 2412

Lightbulb [LINUX] Implémentation d'un système de Port-knocking en n'utilisant QUE iptables

Un autre set de règles iptables sympa comme tout

Le but ici est de fermer son port SSH en permanence, mais qu'iptables l'ouvre temporairement (juste le temps d'établir la connexion) à votre machine en envoyant une séquence de connexions sur des ports bien spécifiques, je m'explique:

Vous êtes sur Internet... Vous avez besoin de vous logguer sur votre serveur... biensûr, le port SSH est fermé ! Alors voilà comment dire à votre serveur de l'ouvrir sur demande :
Vous lancez une connexion sur le port 100 de votre serveur, puis sur le port 200, puis sur le port 300, puis sur le port 400, et là Ô magie, votre port SSH s'ouvre automatiquement pendant 10 secondes (par exemple), le temps de vous laisser vous logguer en SSH, puis le port SSH se referme tout seul derrière vous...

C'est-y-pas génial ?

Il existe des outils conçus pour ça (ex: knockd) mais ici l'idée est de pouvoir le faire avec de bêtes iptables sans rien installer de spécial !

Alors voilà comment faire :

code:
# Netfilter/IPtables - example of multiple-port knocking # Note: Knock ports 100,200,300,400 to open SSH port for 10 seconds. # Nice thing to knock TCP with is `telnet' program: # $> alias k='telnet ip_address_or_hostname' # $> k 100 ; k 200 ; k 300 ; k 400 ; ssh ip_address_or_hostname # Then press Ctrl-C 4 times. That's all. Enjoy. HOST_IP="1.2.3.4" /sbin/iptables -N INTO-PHASE2 /sbin/iptables -A INTO-PHASE2 -m recent --name PHASE1 --remove /sbin/iptables -A INTO-PHASE2 -m recent --name PHASE2 --set /sbin/iptables -A INTO-PHASE2 -j LOG --log-prefix "INTO PHASE2: " /sbin/iptables -N INTO-PHASE3 /sbin/iptables -A INTO-PHASE3 -m recent --name PHASE2 --remove /sbin/iptables -A INTO-PHASE3 -m recent --name PHASE3 --set /sbin/iptables -A INTO-PHASE3 -j LOG --log-prefix "INTO PHASE3: " /sbin/iptables -N INTO-PHASE4 /sbin/iptables -A INTO-PHASE4 -m recent --name PHASE3 --remove /sbin/iptables -A INTO-PHASE4 -m recent --name PHASE4 --set /sbin/iptables -A INTO-PHASE4 -j LOG --log-prefix "INTO PHASE4: " /sbin/iptables -A INPUT -m recent --update --name PHASE1 /sbin/iptables -A INPUT -p tcp --dport 100 -m recent --set --name PHASE1 /sbin/iptables -A INPUT -p tcp --dport 200 -m recent --rcheck --name PHASE1 -j INTO-PHASE2 /sbin/iptables -A INPUT -p tcp --dport 300 -m recent --rcheck --name PHASE2 -j INTO-PHASE3 /sbin/iptables -A INPUT -p tcp --dport 400 -m recent --rcheck --name PHASE3 -j INTO-PHASE4 /sbin/iptables -A INPUT -p tcp -s $HOST_IP --dport 22 -m recent --rcheck --seconds 10 --name PHASE4 -j ACCEPT

<U>Remarque</u>: si vous précisez une IP fixe et l'utilisez dans la règle final (parties en rouge), c'est plus restrictif, mais vous pouvez tout aussi bien ne pas en définir (et donc virer les 2 parties rouges) et dans ce cas ça ouvre le SSH pendant 10 secondes à tout le monde (donc à votre IP où que vous soyiez) => à mon avis c'est plus souple, et pas moins sécurisé : faut pas exagérer: 10 sec d'ouverture, sachant de toute façon qu'il faut un mot de passe ou une clé pour se logguer en SSH, la sécurité reste excellente !

Qu'est ce que vous en pensez ?


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 92 Jours, 19 Heures, 50 Minutes, 16 Secondes en ligne

Old Post 07-12-2005 15:36
Cliquez ici pour voir le profil de soul^keeper Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de soul^keeper Ajouter soul^keeper à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 KeySoze  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Modérateur

Déconnecté

Niveau : 5
N° de Membre : 4449

Ancienneté : 98%
Participation : 8%
Inscription: 15 Sep 2002
Localisation: IDF
Age: 42
Messages: 6370
Sujets Lancés : 603

C'est vrai que bloquer la connexion avant même l'ouverture du port est loin d'être con. Pourquoi on n'y a pas pensé avant ?
ça fait une sorte de mot de passe (celui de se connecter sur les ports x,y et z) qu'il faut connaitre avant même qu'un port puisse s'ouvrir pour qu'on puisse s'y connecter dessus.

En effet, une connexion SSH est déjà bien sécurisée (si le mot de passe choisi est pas dans un dictionnaire), mais alors bloquer son accès de la façon que tu proposes ici, soul, tue intégralement son accès, ça revient, pour un éventuel hackeur, à tester tous les ports à la suite les uns des autres pour ensuite avoir accès à une éventuelle connexion SSH.

Bref, en gros pour un utilisateur lambda, ça ne fait que doubler une protection faible (mot de passe d'un dictionnaire et ports 100, 200, 300, facilement trouvables) et pour un utilisateur averti, ça le protège *très très* efficacement, c'est sûr.


__________________
OXMO : On est plus intelligent à plusieurs que tout seul...mais certains aident moins que d'autres


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 46 Jours, 18 Heures, 58 Minutes, 16 Secondes en ligne

Old Post 07-12-2005 15:54
Cliquez ici pour voir le profil de KeySoze Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de KeySoze Ajouter KeySoze à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 soul^keeper  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Administrateur

Connecté

Niveau : 5
N° de Membre : 1

Ancienneté : 100%
Participation : 19%
Inscription: 22 Feb 2002
Localisation: La Défense
Age: 48
Messages: 16623
Sujets Lancés : 2412

En fait si la connexion distante se fait depuis une IP fixe, on peut même faire encore mieux: ne faire matcher la séquence de "ping" de port qu'à cette seule IP fixe... dans ce cas, personne d'autre que toi ne peut faire ouvrir l'accès...

Quant aux hackers, à partir du moment où tu détectes les portscans, il n'a AUCUNE chance d'arriver à ses fins :
- soit le port ne s'ouvre pour ton IP fixe, donc ça lui sert à rien...
- soit tu ouvres à tout le monde, mais comme le portscan est détecté, son IP est blacklistée en 2 temps 3 mouvements et donc il ne fait jamais matcher les règles séquentielles...

Donc en fait, dans TOUS les cas de figure, c'est une protection paranoïaque qu'on peut considérer comme infaillible

Citation:
Message écrit par KeySoze, le 07-12-2005 à 15:54
Bref, en gros pour un utilisateur lambda, ça ne fait que doubler une protection faible (mot de passe d'un dictionnaire et ports 100, 200, 300, facilement trouvables) et pour un utilisateur averti, ça le protège *très très* efficacement, c'est sûr.


Pas d'accord: le port est fermé en permanence, c'est ça qui est fort. Pour l'utilisateur lambda, même en utilisant les ports 100/200/300/400 c'est sécurisé: déjà parce que le hacker ne peut pas savoir qu'un tel système est implémenté, mais aussi parce qu'il est obligé de "pinguer" tous les ports, et donc il se fait blacklister avant même d'arriver au 1er port de la séquence!

<i>NOTE: au fait, on parle de SSH depuis le départ, mais on peut utiliser cette technique pour n'importe quelle ouverture de port en fait (par ex une connexion PPTP, une appli spécifique, un serveur FTP, que sais je encore...</i>


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 92 Jours, 19 Heures, 50 Minutes, 16 Secondes en ligne

Old Post 07-12-2005 16:04
Cliquez ici pour voir le profil de soul^keeper Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de soul^keeper Ajouter soul^keeper à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 zevince  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Maitre

Déconnecté

Niveau : 4
N° de Membre : 10414

Ancienneté : 96%
Participation : 5%
Inscription: 08 Mar 2003
Localisation:
Age: 54
Messages: 3439
Sujets Lancés : 23


je savais pas que c'etait faisable, mais niveau securité, c'est fort !


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 11 Jours, 10 Heures, 42 Minutes, 24 Secondes en ligne

Old Post 07-12-2005 17:58
Cliquez ici pour voir le profil de zevince Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de zevince Ajouter zevince à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 shakes808080  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Guru

Déconnecté

Niveau : 5
N° de Membre : 517

Ancienneté : 100%
Participation : 11%
Inscription: 08 Mar 2002
Localisation:
Messages: 8978
Sujets Lancés : 354

Ce principe du port knocking est génial de simplicité et d'élégance (oui oui , l'élégance est un critère que j'applique aussi à l'informatique... ) Je ne connaissais pas, mais c'est vraiment le genre de truc qui parait tellement évident qu'on se demande comment on n'y a pas pensé plus tot.

Evidemment, on n'utilisera pas 100 200 300 400, mais n'importe quelle combinaison de 4 ports libres : 2300,756,234,98 par exemple... c'est comme la combinaison d'un coffre.

Une autre image me vient pour bien faire comprendre l'inviolabilité du truc : imaginez un digicode pour entrer dans un immeuble : on tape une combinaison pour pouvoir entrer. Sauf qu'au lieu d'avoir A-B-0-2-3-4-5-6-7-8-9-0 comme sur tous les digicodes, on aurait 65000 touches différentes ,correspondantes au 65000 ports disponibles. ( en théorie : 65536, mais il y en a qui servent vraiment et qu'il faudra éviter d'utiliser pour ça : voir les ports )

Par ailleurs, si on ouvre même temporairement à tout le monde, on peut toujours mettre rshd à l'écoute d'un autre port que le 22 et ouvrir cet autre port que le port 22...


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 45 Jours, 5 Heures, 55 Minutes, 7 Secondes en ligne

Old Post 07-12-2005 17:59
Cliquez ici pour voir le profil de shakes808080 Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de shakes808080 Ajouter shakes808080 à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 soul^keeper  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Administrateur

Connecté

Niveau : 5
N° de Membre : 1

Ancienneté : 100%
Participation : 19%
Inscription: 22 Feb 2002
Localisation: La Défense
Age: 48
Messages: 16623
Sujets Lancés : 2412

hehe shakes, je savais que ça te plairait

Ta métaphore avec le digicode est très juste

Ce serait un clavier de 65000 touches, la combinaison comprendrait le nombre de digits qu'on veut, et si on restreint l'ouverture à une IP (ou un range, ou une liste, peu importe) statiquement, c'est comme s'il y a avait en plus un vigile à l'entrée vérifiant tes papiers avant de te laisser saisir le code

J'ai vu ça, je me suis fait la même réflexion, c'est tout bonnement génial de simplicité

PS: il n'est pas nécessaire que les ports choisis soient forcément libres ou inutilisés... on pourrait tout aussi bien définir qu'il faille toquer 4x de suite sur le port 80 (où un serveur web tourne) pour que ça ouvre le SSH... c'est un peu tordu mais ça marcherait pareil..


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 92 Jours, 19 Heures, 50 Minutes, 16 Secondes en ligne

Old Post 07-12-2005 18:07
Cliquez ici pour voir le profil de soul^keeper Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de soul^keeper Ajouter soul^keeper à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 KeySoze  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Modérateur

Déconnecté

Niveau : 5
N° de Membre : 4449

Ancienneté : 98%
Participation : 8%
Inscription: 15 Sep 2002
Localisation: IDF
Age: 42
Messages: 6370
Sujets Lancés : 603

Citation:
Message écrit par soul^keeper, le 07-12-2005 à 16:04
Pas d'accord: le port est fermé en permanence, c'est ça qui est fort. Pour l'utilisateur lambda, même en utilisant les ports 100/200/300/400 c'est sécurisé: déjà parce que le hacker ne peut pas savoir qu'un tel système est implémenté, mais aussi parce qu'il est obligé de "pinguer" tous les ports, et donc il se fait blacklister avant même d'arriver au 1er port de la séquence!


C'est bien vu ça, alors les utilisateurs lambda ne se feront pas hacker, seuls les boulets qui n'instaurent pas ce bijoux le seront, bon éh bien je sais ce qu'il me reste à faire...


__________________
OXMO : On est plus intelligent à plusieurs que tout seul...mais certains aident moins que d'autres


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 46 Jours, 18 Heures, 58 Minutes, 16 Secondes en ligne

Old Post 07-12-2005 18:12
Cliquez ici pour voir le profil de KeySoze Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de KeySoze Ajouter KeySoze à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 shakes808080  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Guru

Déconnecté

Niveau : 5
N° de Membre : 517

Ancienneté : 100%
Participation : 11%
Inscription: 08 Mar 2002
Localisation:
Messages: 8978
Sujets Lancés : 354

oui, par contre, en y réfléchissant un peu, il me semble qu'il y a quand même une différence (enfin, je ne suis pas expert en lecture de paramétrage iptables non plus).

- sur un digicode, tu as un timeout sur la frappe de chaque chiffre de la combinaison, ce qui n'est pas le cas ici: je ne vois pas de regle basée sur un timeout qui fait repasser iptable en "phase 1" (la phase1 semble etre l'état dans lequel se trouve le PC quand il est en attente de début de combinaison).

- sur un digicode, si tu te trompes de touches, ça réinitialise la saisie de combinaison en cours : il faut reprendre au début.
Ici , un knocking sur un autre port que ceux acceptés pour le knocking ne réinitialise pas l'état à "phase1"...

Ou alors, c'est la ligne "iptables -A INPUT -m recent --update --name PHASE1" qui réalise ça ?

mais alors que se passe t'il sur un serveur qui reçoit des "hits" ? (cas d'un serveur web par exemple...) : la réception d'un hit sur le port 80 va aussi réinitialiser la séquence et remettre iptables en phase1 non ? {edit} par contre ton idée d'accepter le knocking sur le port 80+80+80+80 dans ce contexte ne marcherais pas du tout , enfin... marcherait trop bien : le port serait ouvert pendant 10 secondes tous les 4 hits sur le port 80, c'est à dire qu'il serait ouvert en permanence..


Une autre réflexion me vient concernant $HOST_IP : pourquoi autoriser le knoking de la part de tout le monde, si c'est pour n'autoriser le port 22 qu'à HOST_IP ?


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 45 Jours, 5 Heures, 55 Minutes, 7 Secondes en ligne

Old Post 07-12-2005 18:17
Cliquez ici pour voir le profil de shakes808080 Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de shakes808080 Ajouter shakes808080 à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 soul^keeper  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Administrateur

Connecté

Niveau : 5
N° de Membre : 1

Ancienneté : 100%
Participation : 19%
Inscription: 22 Feb 2002
Localisation: La Défense
Age: 48
Messages: 16623
Sujets Lancés : 2412

Ben en fait ça marche comme ça :
- un knocking n'importe où d'une IP inconnue ne fait rien.
- le knocking du port 1 met ton IP dans la liste PHASE1
- seul le knocking du port 2 dont l'IP est déjà dans PHASE1 la met en PHASE2 et la supprime de la PHASE1
- seul le knocking du port 3 dont l'IP est déjà dans PHASE2 la met en PHASE3 et la supprime de la PHASE2
- seul le knocking du port 4 dont l'IP est déjà dans PHASE3 la met en PHASE4, ajoute la chaine ouvrant le SSH, et supprime l'IP de la PHASE3
- toute tentative de connexion SSH d'une IP listée en PHASE4 est autorisée pendant 10 secondes (donc sinon t'es bon pour repartir à 0, bien que ton IP soit toujours listée en PHASE4)

- dans tous les cas, toute activite d'une IP déjà en PHASE1 ne fait que la réinitialiser en PHASE1...
- si ton IP n'est plus en PHASE1, elle va de toute façon y repasser dès que tu reknock le port 1 (puisque c'est la première règle!), donc t'es reparti d'office pour la combinaison complète.
- par contre à priori, si tu knock les 2 premiers ports correctement et que tu te gourres sur le 3°, tu restes en PHASE2 => il te suffit donc de knocker le port 3 pour continuer la progression. On pourrait facilement forcer la suppression de l'IP de toutes les PHASE en insérant des règles allant en ce sens, par ex:

code:
/sbin/iptables -A INPUT -p tcp --dport 100 -m recent --set --name PHASE1 /sbin/iptables -A INPUT -p tcp --dport ! 200 -m recent --rcheck --name PHASE1 -j INTO-PHASERESET /sbin/iptables -A INPUT -p tcp --dport 200 -m recent --rcheck --name PHASE1 -j INTO-PHASE2 /sbin/iptables -A INPUT -p tcp --dport ! 300 -m recent --rcheck --name PHASE2 -j INTO-PHASERESET /sbin/iptables -A INPUT -p tcp --dport 300 -m recent --rcheck --name PHASE2 -j INTO-PHASE3 /sbin/iptables -A INPUT -p tcp --dport ! 400 -m recent --rcheck --name PHASE3 -j INTO-PHASERESET /sbin/iptables -A INPUT -p tcp --dport 400 -m recent --rcheck --name PHASE3 -j INTO-PHASE4


et en créant une chaine unique INTO-PHASERESET de la sorte:

code:
/sbin/iptables -N INTO-PHASERESET /sbin/iptables -A INTO-PHASERESET -m recent --name PHASE1 --remove /sbin/iptables -A INTO-PHASERESET -m recent --name PHASE2 --remove /sbin/iptables -A INTO-PHASERESET -m recent --name PHASE3 --remove /sbin/iptables -A INTO-PHASERESET -m recent --name PHASE4 --remove /sbin/iptables -A INTO-PHASERESET -j LOG --log-prefix "INTO PHASERESET (Aborting!): "


ou plus propre (mais plus complexe) autant de chaines INTO-PHASERESET1 INTO-PHASERESET2 INTO-PHASERESET3 et INTO-PHASERESET4 supprimant l'IP que de la dernière PHASE (puisqu'en toute logique elle est absente des autres!)

Là dans ce cas ça gère les erreurs de knock : il faut nécessairement faire un "4 à la suite" pour ouvrir la porte du Graal, sinon tu retombes à 0, comme dans Question pour un Champion


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 92 Jours, 19 Heures, 50 Minutes, 16 Secondes en ligne

Old Post 07-12-2005 19:08
Cliquez ici pour voir le profil de soul^keeper Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de soul^keeper Ajouter soul^keeper à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 shakes808080  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Guru

Déconnecté

Niveau : 5
N° de Membre : 517

Ancienneté : 100%
Participation : 11%
Inscription: 08 Mar 2002
Localisation:
Messages: 8978
Sujets Lancés : 354

ha oui, mais tu fignoles là!!

En fait, j'ai réalisé en te relisant que j'avais perdu de vue l'instanciation du mécanisme des phases.

Pour reprendre l'image du digicode, quand plusieurs personnes veulent rentrer en même temps dans l'immeuble, on pourrait penser que ces personnes utilisent toutes en même temps le même digicode. (une seule instance pour tous)
On peut alors imaginer que si des centaines de personnes tapent en même temps sur le meme clavier, elles vont forcément finir par trouver la bonne combinaison, d'autant plus que la saisie d'un mauvais chiffre ne fait pas repartir le code à zéro (sur ce coup, au moins, j'avais raison... )

En fait, la réalité du fonctionnement d'iptable, c'est comme si chaque personne disposait d'un d'un digicode spécialement pour elle.( une instance par "personne".....une instance par adresse IP donc)
Et pas question de deviner le bon code en repérant les touches usées !!


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 45 Jours, 5 Heures, 55 Minutes, 7 Secondes en ligne

Old Post 07-12-2005 22:31
Cliquez ici pour voir le profil de shakes808080 Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de shakes808080 Ajouter shakes808080 à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 Schoubi  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Guru

Déconnecté

Niveau : 5
N° de Membre : 566

Ancienneté : 100%
Participation : 15%
Inscription: 10 Mar 2002
Localisation:
Age: 47
Messages: 12627
Sujets Lancés : 1428

Tout simplement excellent

Je bookmarke et j'y reviendrais


__________________



Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 48 Jours, 18 Heures, 48 Minutes, 8 Secondes en ligne

Old Post 09-12-2005 15:11
Cliquez ici pour voir le profil de Schoubi Cliquez ici pour lui envoyer un message privé  Visiter la Page Perso de Schoubi! Trouver plus de messages de Schoubi Ajouter Schoubi à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 kiM  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Débutant

Déconnecté

Niveau : 1
N° de Membre : 13748

Ancienneté : 84%
Participation : 1%
Inscription: 24 Feb 2006
Localisation: paris
Age: 51
Messages: 427
Sujets Lancés : 31

J'étais tombé par hasard sur un tutorial de ce type et je l'ai downloadé sur mon Dur pour "plus tard"... j'étais aussi tombé sous le charme. Pour une fois que je n'étais pas en retard.

Toutefois, corrigez moi si je me trompe, le port-knocking a pour principal but de "cacher le serveur SSH" lors d'un port-scan par exemple ?.
En effet, si un hacker suspecte l'utilisation de SSH et l'utilisation du port-knocking, ne peut -il pas 'sniffer' les connexions ... et bingo, il récupère la séquence de knocking dès que tu te connectes ?

Inutile donc de mettre des séquences de 20 knocks (que personne n'a suggéré), inutiles les 65536 ports possibles. Il en suffit de deux ou trois pour masquer le port SSH de façon sûre lors d'un port-scan. (Pour reprendre la métaphore du digicode, si le hacker regarde par dessus ton épaule quand tu tapes le code, il est inutile de mettre 30 chiffres à ton code de porte.)


__________________
kiM

Edité par kiM le 16-03-2006 à 13:22

Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 2 Jours, 5 Heures, 47 Minutes, 14 Secondes en ligne

Old Post 16-03-2006 12:49
Cliquez ici pour voir le profil de kiM Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de kiM Ajouter kiM à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 shakes808080  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Guru

Déconnecté

Niveau : 5
N° de Membre : 517

Ancienneté : 100%
Participation : 11%
Inscription: 08 Mar 2002
Localisation:
Messages: 8978
Sujets Lancés : 354

sniffer les ports revient à tester les ports un à un: envoyer une séquence à destination de la machine, et regarder si la machine répond, et si elle répond, ce qu'elle répond.
Dans le cas d'une machine protégée par port knocking, sauf à connaitre la bonne combinaison, la machine reste inerte.

Sniffer les connexions, c'était possible à l'époque ou les commutateurs (switch) ne remplaçaient pas encore les répétiteurs (hubs). ça date de l'époque 10Mb/s, cable coaxial,etc...

ça serait éventuellement possible dans une entreprise, à condition d'avoir le controle des commutateurs intelligents : on peut alors activer l'écho d'une activité d'un port (physique) d'un switch sur un autre port. (cas des Nortel BPS2000)

Sinon, la seule solution que j'imagine serait de se substituer à la machine cible (DNS poisonning ??) pour enregistrer la séquence de knocking et de la reproduire sur la vraie cible...Bref, quelque chose de relativement infaisable, amha.


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 45 Jours, 5 Heures, 55 Minutes, 7 Secondes en ligne

Old Post 17-03-2006 15:08
Cliquez ici pour voir le profil de shakes808080 Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de shakes808080 Ajouter shakes808080 à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 kiM  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Débutant

Déconnecté

Niveau : 1
N° de Membre : 13748

Ancienneté : 84%
Participation : 1%
Inscription: 24 Feb 2006
Localisation: paris
Age: 51
Messages: 427
Sujets Lancés : 31

Merci pour les infos.
Effectivement, je pensais au "connexion-sniffing" (que je connais très mal, tu t"en seras rendu compte).
A te lire je comprends tout l'intérêt du port knocking.


__________________
kiM


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 2 Jours, 5 Heures, 47 Minutes, 14 Secondes en ligne

Old Post 17-03-2006 23:21
Cliquez ici pour voir le profil de kiM Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de kiM Ajouter kiM à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
 wlad93  Rechercher tous les messages de ce membre Cliquez ici pour envoyer un message privé à cet utilisateur
Expert

Déconnecté

Niveau : 3
N° de Membre : 4328

Ancienneté : 98%
Participation : 3%
Inscription: 09 Sep 2002
Localisation: Utopia
Messages: 2596
Sujets Lancés : 163

Et concrètement, comment on knocke aux ports ? Avec un bête telnet ?

Edit : ah oui, j'avais pas vu...


Signaler ce message à un modérateur | IP: Logguée
Temps en ligne : 27 Jours, 9 Heures, 6 Minutes, 2 Secondes en ligne

Old Post 31-05-2006 17:33
Cliquez ici pour voir le profil de wlad93 Cliquez ici pour lui envoyer un message privé  Trouver plus de messages de wlad93 Ajouter wlad93 à votre liste d'amis Editer/Effacer le Message Citer le message dans la réponse
Il est actuellement 21:40 (GMT) Poster un nouveau sujet    Poster une réponse   
  Sujet précédent   Sujet suivant
Forum OXMO > Section Technique > Réseaux / Sécurité > [LINUX] Implémentation d'un système de Port-knocking en n'utilisant QUE iptables

Aller au Forum:
Notez ce sujet :


 Réponse Rapide
Titre: (Optionnel)
Message:

Convertir automatiquement les URLs Montrer la Signature
Afficher une version imprimable | Envoyer cette page par email | S'inscrire à ce sujet | Télécharger ce sujet
Règles du forum :
Créer de nouveaux sujets
Répondre aux messages
Attacher des fichiers
Editer vos messages
: not autorisé
: not autorisé
: not autorisé
: not autorisé
Le Code HTML est OFF
Le Code vB est ON
Les Smileys sont ONs
Le code [IMG] est ON
 
< Contactez-nous - Forum OXMO>

Uptime du serveur SQL : 2 jour(s) 21 heure(s) et 17 minute(s)
Page générée en 0.030844 secondes en exécutant 46 requêtes SQL.
Apache - Compression GZIP : Activée.