Page d'accueil » comment » Comment accéder à votre réseau (DD-WRT)

    Comment accéder à votre réseau (DD-WRT)

    Avez-vous déjà rêvé d'avoir ce «coup de dortoir» spécial avec votre routeur, pour ne le laisser «qu'ouvrir la porte» lorsque le coup secret a été reconnu? How-To Geek explique comment installer le démon Knock sur DD-WRT.

    Image de Bfick et Aviad Raviv

    Si vous ne l'avez pas déjà fait, vérifiez bien les articles précédents de la série:

    • Transformez votre routeur domestique en un routeur super-alimenté avec DD-WRT
    • Comment installer des logiciels supplémentaires sur votre routeur domestique (DD-WRT)
    • Comment supprimer des publicités avec Pixelserv sur DD-WRT

    En supposant que vous connaissez ces sujets, continuez à lire. N'oubliez pas que ce guide est un peu plus technique et que les débutants doivent faire attention lorsqu'ils modifient leur routeur..

    Vue d'ensemble

    Traditionnellement, pour pouvoir communiquer avec un appareil / service, il faudrait initier une plein connexion réseau avec elle. Quoi qu'il en soit, cela expose, ce qu'on appelle à l'ère de la sécurité, une surface d'attaque. Le démon Knock est une sorte de renifleur réseau qui peut réagir lorsqu'une séquence préconfigurée est observée. Comme il n'est pas nécessaire d'établir une connexion pour que le démon knock puisse reconnaître une séquence configurée, la surface d'attaque est réduite tout en conservant la fonctionnalité souhaitée. En un sens, nous allons pré-conditionner le routeur avec un voulu Réponse «deux bits» (contrairement au pauvre Roger…).

    Dans cet article nous allons:

    • Montrez comment utiliser Knockd pour que le routeur réveille un ordinateur sur votre réseau local.
    • Montrer comment déclencher la séquence Knock à partir d'une application Android, ainsi que d'un ordinateur.

    Remarque: Bien que les instructions d'installation ne soient plus pertinentes, vous pouvez visionner la série de films que j'ai créée «Way back when» pour voir le récapitulatif complet de la configuration de la frappe. (Juste excuser la présentation brute).

    Implications pour la sécurité

    La discussion sur le degré de sécurité de Knockd est longue et remonte à plusieurs millénaires (en années Internet), mais voici l'essentiel:

    Knock est une couche de sécurité obscure, qui ne devrait être utilisée que pour améliorer d'autres moyens, comme le cryptage, ne doivent pas être utilisés seuls, mais être une mesure de sécurité.

    Prérequis, hypothèses et recommandations

    • Il est supposé que vous avez un routeur DD-WRT activé pour Opkg.
    • Un peu de patience car cela peut prendre «un peu de temps» pour installer.
    • Il est fortement recommandé d’obtenir un compte DDNS pour votre adresse IP externe (généralement dynamique)..

    Permet de craquer

    Installation et configuration de base

    Installez le démon Knock en ouvrant un terminal au routeur et en émettant:

    mise à jour opkg; opkg installer knockd

    Maintenant que Knockd est installé, nous devons configurer les séquences de déclenchement et les commandes qui seront exécutées une fois qu’elles sont déclenchées. Pour ce faire, ouvrez le fichier «knockd.conf» dans un éditeur de texte. Sur le routeur, ce serait:

    vi /opt/etc/knockd.conf

    Rendre son contenu ressemblant à:

    [options]
    fichier journal = /var/log/knockd.log
    UseSyslog

    [wakelaptop]
    séquence = 56,56,56,43,43,43,1443,1443,1443
    seq_timeout = 30
    commande = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram get lan_ipaddr | cut -d. -f 1,2,3) .255
    tcpflags = sync

    Permet d'expliquer ce qui précède:

    • Le segment «options» permet de configurer les paramètres globaux du démon. Dans cet exemple, nous avons demandé au démon de conserver un journal à la fois dans le journal système et dans un fichier. Bien que l’utilisation conjointe des deux options ne présente aucun risque, vous devriez envisager de n'en conserver qu'une seule..
    • Le segment «wakelaptop» est un exemple de séquence qui déclenchera la commande WOL sur votre réseau local pour un ordinateur dont l'adresse MAC est aa: bb: cc: dd: ee: 22..
      Remarque: La commande ci-dessus suppose le comportement par défaut d'un sous-réseau de classe C.. 

    Pour ajouter d'autres séquences, copiez et collez simplement le segment «wakelaptop» et ajustez-le avec les nouveaux paramètres et / ou commandes à exécuter par le routeur..

    Commencez

    Pour que le routeur appelle le démon au démarrage, ajoutez ce qui suit au script «geek-init» du guide OPKG:

    knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"

    Cela lancera le démon Knock sur l'interface «WAN» de votre routeur, afin qu'il écoute les paquets provenant d'Internet..

    Frappez depuis Android

    À l'ère de la portabilité, il est presque impératif de "disposer d'une application pour cela" ... alors StavFX en a créé une pour la tâche :)
    Cette application exécute les séquences de frappe directement à partir de votre appareil Android et prend en charge la création de widgets sur vos écrans d'accueil..

    • Installez l'application Knocker à partir du marché Android (soyez également gentil et donnez-lui une bonne note).
    • Une fois installé sur votre appareil, lancez-le. Vous devriez être accueilli par quelque chose comme:
    • Vous pouvez appuyer longuement sur l’exemple d’icône pour le modifier ou cliquer sur «menu» pour ajouter une nouvelle entrée. Une nouvelle entrée ressemblerait à ceci:
    • Ajoutez des lignes et remplissez les informations requises pour votre Knocking. Pour l'exemple de configuration WOL ci-dessus, ceci serait:
    • Changer éventuellement l'icône en appuyant longuement sur l'icône à côté du nom de Knock.
    • Sauver le coup.
    • Appuyez une fois sur le nouveau Knock dans l'écran principal pour l'activer.
    • Créez éventuellement un widget pour celui-ci sur un écran d'accueil.

    Gardez à l'esprit que, bien que nous ayons configuré l'exemple de fichier de configuration avec des groupes de 3 pour chaque port (en raison de la section Telnet ci-dessous), cette application n'impose aucune restriction quant au nombre de répétitions (le cas échéant) d'un port..
    Amusez-vous en utilisant l'application que StavFX a donné :-)

    Frapper à partir de Windows / Linux

    Bien qu'il soit possible d'exécuter Knocking avec le plus simple des utilitaires réseau a.k.a «Telnet», Microsoft a décidé que Telnet constituait un «risque de sécurité» et ne l'installait plus par défaut par la suite sur les fenêtres modernes. Si vous me demandez: «Ceux qui peuvent renoncer à la liberté essentielle pour obtenir un peu de sécurité temporaire ne méritent ni la liberté ni la sécurité. ~ Benjamin Franklin ”mais je m'éloigne du sujet.

    La raison pour laquelle nous avons défini l'exemple de séquence sur des groupes de 3 pour chaque port est que si Telnet ne parvient pas à se connecter au port souhaité, il réessayera automatiquement 2 autres fois. Cela signifie que telnet frappera effectivement 3 fois avant d'abandonner. Il suffit donc d'exécuter la commande telnet une fois pour chaque port du groupe de ports. C'est également la raison pour laquelle un délai d'expiration de 30 secondes a été sélectionné, car nous devons attendre le délai d'expiration de telnet pour chaque port jusqu'à l'exécution du prochain groupe de ports. Il est recommandé d’automatiser cette procédure à l’issue de la phase de test à l’aide d’un simple script Batch / Bash..

    En utilisant notre exemple de séquence, cela ressemblerait à:

    • Si vous êtes sous Windows, suivez les instructions MS pour installer Telnet..
    • Passez à une ligne de commande et lancez:
      telnet geek.dyndns-at-home.com 56
      telnet geek.dyndns-at-home.com 43
      telnet geek.dyndns-at-home.com 1443

    Si tout va bien, ça devrait être ça.

    Dépannage

    Si votre routeur ne réagit pas aux séquences, voici quelques étapes de dépannage que vous pouvez suivre:

    • Afficher le journal - Knockd tiendra un journal que vous pourrez visualiser en temps réel pour voir si les séquences de frappe ont été envoyées au démon et si la commande a été exécutée correctement..
      En supposant que vous utilisiez au moins le fichier journal comme dans l'exemple ci-dessus, pour le voir en temps réel, émettez dans un terminal:

      tail -f /var/log/knockd.log

    • Attention aux pare-feu - Parfois, votre FAI, votre lieu de travail ou votre cybercafé se permet de bloquer la communication pour vous. Dans un tel cas, pendant que votre routeur est à l’écoute, les chocs sur les ports bloqués par n’importe quelle partie de la chaîne n’atteindront pas le routeur et il aura du mal à réagir. C'est pourquoi il est recommandé d'essayer des combinaisons utilisant les ports bien connus tels que 80, 443, 3389 et ainsi de suite avant d'essayer des ports plus aléatoires. Encore une fois, vous pouvez consulter le journal pour voir quels ports atteignent l'interface WAN du routeur..
    • Essayez les séquences en interne - Avant d’impliquer la complexité ci-dessus que d’autres parties de la chaîne peuvent présenter, il est recommandé d’essayer d’exécuter les séquences en interne pour vérifier qu’elles A. frappent le routeur comme vous pensez qu'elles devraient B. exécutez la commande / s comme prévu. Pour ce faire, vous pouvez démarrer Knockd en étant connecté à votre interface LAN avec:

      knockd -d -i "$ (nvram get lan_ifnameq)" -c /opt/etc/knockd.conf

      Une fois que ce qui précède est exécuté, vous pouvez diriger le client Knocking vers l’adresse IP interne du routeur au lieu de celle externe..
      Conseil: Knockd étant à l’écoute au niveau «interface» et non au niveau IP, vous souhaiterez peut-être qu’une instance de KnockD soit toujours exécutée sur l’interface LAN. Comme «Knocker» a été mis à jour pour prendre en charge deux hôtes, cela simplifiera et consolidera vos profils de frappe..

    • N'oubliez pas de quel côté vous êtes - Il n'est pas possible de déconnecter l'interface WAN de l'interface LAN dans la configuration ci-dessus. Si vous souhaitez pouvoir frapper n'importe quel côté, vous pouvez simplement exécuter le démon deux fois, une fois lié au réseau étendu (WAN) comme dans l'article et une fois lié au réseau local (LAN) comme lors de l'étape de débogage d'en haut. Il n'y a aucun problème à exécuter les deux en même temps en ajoutant simplement la commande d'en haut au même script geek-init.

    Remarques

    Bien que l'exemple ci-dessus puisse être réalisé par diverses autres méthodes, nous espérons que vous pourrez vous en servir pour apprendre à accomplir des tâches plus avancées. La deuxième partie de cet article cache le service VPN après un coup, alors restez branchés..

    Grâce à Knocking, vous pourrez: ouvrir des ports de manière dynamique, désactiver / activer des services, des ordinateurs WOL à distance, etc.