Comment accéder à votre réseau, partie 2: Protégez votre VPN (DD-WRT)

Table des matières:

Comment accéder à votre réseau, partie 2: Protégez votre VPN (DD-WRT)
Comment accéder à votre réseau, partie 2: Protégez votre VPN (DD-WRT)

Vidéo: Comment accéder à votre réseau, partie 2: Protégez votre VPN (DD-WRT)

Vidéo: Comment accéder à votre réseau, partie 2: Protégez votre VPN (DD-WRT)
Vidéo: Comment créer un site Wordpress (2023) - Tutoriel en 20 étapes FACILES - YouTube 2024, Avril
Anonim
Nous vous avons montré comment déclencher WOL à distance en «Port Knocking» sur votre routeur. Dans cet article, nous montrerons comment l'utiliser pour protéger un service VPN.
Nous vous avons montré comment déclencher WOL à distance en «Port Knocking» sur votre routeur. Dans cet article, nous montrerons comment l'utiliser pour protéger un service VPN.

Image par Aviad Raviv & bfick.

Préface

Si vous avez utilisé la fonctionnalité intégrée de DD-WRT pour VPN ou si vous avez un autre serveur VPN sur votre réseau, vous apprécierez peut-être la possibilité de le protéger des attaques par force brutale en le cachant derrière une séquence de frappes. En faisant cela, vous allez filtrer les scripts pour enfants qui essaient d'accéder à votre réseau. Cela dit, comme indiqué dans l'article précédent, le port frappant ne remplace pas un bon mot de passe et / ou une stratégie de sécurité. Rappelez-vous qu’avec suffisamment de patience, un attaquant peut découvrir la séquence et effectuer une attaque par rejeu. N'oubliez pas non plus que l'inconvénient de cette implémentation est que lorsqu'un client VPN souhaite se connecter, il doit déclencher la séquence de coups.préalablement et que s’ils ne peuvent pas terminer la séquence pour quelque raison que ce soit, ils ne pourront pas du tout utiliser le VPN.

Vue d'ensemble

Afin de protéger * le service VPN, nous allons tout d'abord désactiver toutes les communications possibles en bloquant le port d'instanciation de 1723. Pour atteindre cet objectif, nous allons utiliser iptables. En effet, c’est ainsi que la communication est filtrée sur la plupart des distributions Linux / GNU modernes en général et sur DD-WRT en particulier. Si vous souhaitez plus d’informations sur iptables, consultez son entrée wiki et consultez notre précédent article sur le sujet. Une fois le service protégé, nous allons créer une séquence d'accès qui ouvrira temporairement le port d'instanciation VPN et le fermera automatiquement après un laps de temps configuré, tout en maintenant la session VPN déjà établie connectée.

Remarque: Dans ce guide, nous utilisons le service VPN PPTP à titre d'exemple. Cela dit, la même méthode peut être utilisée pour d’autres types de VPN, il vous suffira de changer le type de port et / ou de communication bloqué.

Prérequis, hypothèses et recommandations

  • Il est supposé / requis que vous avez un routeur DD-WRT activé pour Opkg.
  • Il est supposé / requis que vous avez déjà effectué les étapes du guide «Comment accéder à votre réseau (DD-WRT)».
  • Une certaine connaissance en réseau est supposée.

Permet de craquer.

Défaut Règle «Bloquer les nouveaux VPN» sur DD-WRT

Bien que l'extrait de code ci-dessous fonctionne probablement avec chaque distribution iptables utilisant Linux / GNU qui se respecte, car il existe de nombreuses variantes, nous ne montrerons comment l'utiliser que sur DD-WRT. Si vous le souhaitez, rien ne vous empêche de l'implémenter directement sur le boîtier VPN. Cependant, la façon de le faire dépasse le cadre de ce guide.

Parce que nous voulons augmenter le pare-feu du routeur, il n’est que logique d’ajouter au script «Pare-feu». De cette manière, la commande iptables serait exécutée chaque fois que le pare-feu est actualisé, ce qui permet de conserver notre augmentation en place.

Depuis l’interface graphique Web de DD-WRT:

  • Allez dans "Administration" -> "Commandes".

    Image
    Image
  • Entrez le "code" ci-dessous dans la zone de texte:

    inline='$( iptables -L INPUT -n | grep -n 'state RELATED,ESTABLISHED' | awk -F: {'print $1'} )'; inline=$(($inline-2+1)); iptables -I INPUT '$inline' -p tcp --dport 1723 -j DROP

  • Cliquez sur «Enregistrer le pare-feu».
  • Terminé.

Quelle est cette commande "Voodoo"?

La commande «voodoo magic» ci-dessus a les effets suivants:

  • Trouve où se trouve la ligne iptable qui permet le passage d’une communication déjà établie. Nous le faisons, car A. sur les routeurs DD-WRT, si le service VPN est activé, il sera situé juste en dessous de cette ligne et B. Il est essentiel pour notre objectif de continuer à permettre aux sessions VPN déjà établies de survivre après la événement frappant.
  • Déduit deux (2) de la sortie de la commande de liste pour prendre en compte le décalage provoqué par les en-têtes de colonne d'information. Une fois cela fait, ajoutez un (1) au chiffre ci-dessus, de sorte que la règle que nous insérons viendra juste après la règle qui permet une communication déjà établie. J’ai laissé ici ce «problème mathématique» très simple, juste pour préciser la logique de «pourquoi il faut réduire un de la règle au lieu de l’ajouter».

Configuration KnockD

Nous devons créer une nouvelle séquence de déclenchement qui permettra de créer de nouvelles connexions VPN. Pour ce faire, éditez le fichier knockd.conf en émettant dans un terminal:

vi /opt/etc/knockd.conf

Ajouter à la configuration existante:

[enable-VPN] sequence = 02,02,02,01,01,01,2010,2010,2010 seq_timeout = 60 start_command = iptables -I INPUT 1 -s %IP% -p tcp --dport 1723 -j ACCEPT cmd_timeout = 20 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 1723 -j ACCEPT

Cette configuration va:

  • Définissez la fenêtre d’opportunité pour terminer la séquence, à 60 secondes. (Il est recommandé de garder cela aussi court que possible)
  • Écoutez une séquence de trois frappes sur les ports 2, 1 et 2010 (cet ordre est délibéré pour faire fuir les scanners de ports).
  • Une fois la séquence détectée, exécutez la “commande_départ”. Cette commande «iptables» placera un «accepter le trafic destiné au port 1723 d’où sont venus les coups» sur la partie supérieure des règles du pare-feu. (La directive% IP% est traitée spécialement par KnockD et est remplacée par l'adresse IP de l'origine de la frappe).
  • Attendez 20 secondes avant d’émettre “stop_command”.
  • Exécutez la “stop_command”. Où cette commande “iptables” fait l'inverse de ce qui précède et supprime la règle qui permet la communication.

C’est tout, votre service VPN devrait maintenant être connectable seulement après un «coup» réussi.

Auteur ‘Conseils

Bien que vous deviez être prêt, il me semble nécessaire de mentionner quelques points.

  • Dépannage. N'oubliez pas que si vous rencontrez des problèmes, le segment «dépannage» à la fin du premier article devrait être votre premier arrêt.
  • Si vous le souhaitez, vous pouvez faire en sorte que les directives «start / stop» exécutent plusieurs commandes en les séparant avec un semi-colen (;) ou même un script. Cela vous permettra de faire des choses intéressantes. Par exemple, j'ai knockd m'envoyer un * Email me disant qu'une séquence a été déclenchée et d'où.
  • N’oubliez pas qu’il existe «une application pour cela» et que même si ce n’est pas mentionné dans cet article, nous vous encourageons à utiliser le programme de heurtoirs Android de StavFX.
  • En ce qui concerne Android, n’oubliez pas qu’il existe un client VPN PPTP généralement intégré au système d’exploitation du fabricant.
  • La méthode consistant à bloquer quelque chose initialement puis à continuer à permettre des communications déjà établies peut être utilisée sur pratiquement toutes les communications basées sur TCP. En fait, dans les films Knockd on DD-WRT 1 ~ 6, je l’ai déjà fait lorsque j’utilisais le protocole RDP (Remote Desktop Protocol), qui utilise le port 3389 comme exemple.

Remarque: pour ce faire, vous aurez besoin de la fonctionnalité Email de votre routeur. Cette fonctionnalité n’existe pas actuellement car l’instantané SVN des paquets opkg d’OpenWRT est en désordre. C'est pourquoi je suggère d'utiliser knockd directement sur la boîte VPN, ce qui vous permet d'utiliser toutes les options d'envoi d'email disponibles sous Linux / GNU, telles que SSMTP et sendEmail, pour en mentionner quelques-unes.

Qui dérange mon sommeil?

Conseillé: