Les guerres d'un Responsable Informatique

Vous êtes passionnés comme moi de machines basse-consommation, ARM, Atom : rendez visite à mon partenaire !

VPN IPsec avec OpenBSD

mardi 15 juin 2010 à 09:00 | Sécu
securite OpenBSDLe système d'exploitation OpenBSD intègre de base tous les outils nécessaires pour réaliser un petit VPN IPsec entre amis, quelque soit le nombre de vlan sur les réseaux de part et d'autre. ipsec with OpenBSD

Première étape pour réaliser un vpn avec OpenBSD : démarrer le démon sur le Site A. Pour cela dans le fichier /etc/rc.conf mettre la valeur ipsec=YES.

Pour configurer le vpn ipsec proprement dit, il faut créer le fichier de configuration /etc/ipsec.conf.

ike active esp from { \ 192.168.0.0/24 \ 192.168.1.0/24 \ 192.168.2.0/24 \ 172.1.0.0/16 \ } \ to { \ 192.168.10.0/24 \ 10.0.0.0/8 \ } \ peer w.x.y.z \ main auth hmac-sha1 enc aes-256 group modp1024 \ quick auth hmac-sha1 enc aes-256 group modp1024 \ psk "the preshare key"

Pour visualiser l'établissement du vpn IPsec la commande suivante fera le nécessaire : ipsecctl -sa

En pratique, le VPN maintiendra la connexion entre les 2 passerelles Internet de façon permanente. Pour le redémarrer la commande suivante fera ce qu'il faut : ipsecctl -F -d;ps aux|grep isakmp|grep monitor|awk "{print \$2}" | xargs kill; sleep 4; isakmpd -K; ipsecctl -vvf /etc/ipsec.conf Pour contrôler l'état des connexions du VPN la commande suivante fera l'affaire : ipsecctl -sa

OpenBSD implémente l'ensemble des recommandations IPsec. Il peut donc se connecter à l'ensemble des produits ou OS respectant la norme. Pour ma part je l'ai fait fonctionner sans problème avec :

  • Zyxel Prestige 652HW
  • Zyxel Prestige 662HW
  • SonicWall
  • NetScreen
  • CISCO PIX

Au niveau d'OpenBSD on prendra soin de configurer convenablement le firewall pf, pour laisser passer les flux IPsec (proto esp).

A propos de Vincent RABAH

Directeur des systemes d'information

Je suis DSI depuis 10 ans. Spécialiste en systèmes d'information et réseaux.
Expert en management, GreenIT et virtualisation de serveurs. Vous pouvez consulter l'ensemble de mon parcours.

I do speak English even if my blog is written in French ... Feel free to leave comments, I'll answer you !


Partagez cet article :



Fil des commentaires de cet article

11 commentaire(s) Commentaires »

  1. si j'ai bien compris, lorsque la couche ipsec reçoit les données,la première étape consiste à consulter la spd pour determiner comment traiter les donnee cad si elle doivent être sécurisée ou pas.Comment on fait pour configurer la spd? est ce qu'il ya possibilté de classer les données à traiter en plusiuers niveau de securité cad haute moyenne faible?

  2. Bonjour Hajar, je ne comprends pas bien la question, qu'entendez-vous par niveau de sécurité ? S'agit-il de limité l'accès à certaines ressources, de contrôler les utilisateurs ?

  3. Bonjour Vincent,
    Merci pour le tuto clair et precis.
    Petite question, comment peut on gérer le niveau de sécurité de ipsec sous openbsd. merci

  4. Ben, tu as raison, mais ça signifie que nous faisons trop confiance aux équipes en charge des projets ...

  5. @Vincent RABAH, il a quand même fallut 3ans pour trouver la faille OpenSSH de Debian.
    Alors une faille (bien) camouflée par des expert dans leur domaine et ce dans un protocole de crypto aussi complexe, ça m’étonnerai pas plus que ça qu'on soit passé à coté pendant 10 ans.
    Il se pourrait même qu’après un audit complet on ne trouve toujours rien.
    AMHA par souci de sécurité il faudrait rependre IPSEC de zéro, car il faut savoir que ce même code est repris dans beaucoup d'aplis de sécurité encore aujourd'hui.

  6. Salut Ramos,
    J'ai un peu de mal à croire ce troll sur OpenBSD. Le code est public ! Par contre, que certaines implémentations s'inspirant de la pile ipsec d'OpenBSD, aient été modifiées : OUI, c'est possible.
    En outre, beaucoup de piles ipsec, s'appuyant sur celle d'OpenBSD, je pense qu'un BD aurait été identifié avant et exploité par des pirates et scriptkidy en tous genres ?

  7. Portes cachées par le FBI dans OpenBSD IPSEC

    lire ici => http://www.zataz.com/news/20877/Portes-cachees-par-le-FBI-dans-OpenBSD-IPSEC.html

  8. William,

    Il faut bien commencer un jour :)
    1- Il faut créer au moins 2 VM OpenBSD avec VMware (clonage de VM pour aller plus vite)
    2- Il faut créer une 3ème VM avec un OS qui aura 2 cartes réseaux faisant office de routeur (là encore un OpenBSD peut faire l'affaire ... Encore un clone)
    3- déclarer comme default gateway, sur chacune des 2 premières VM une des interfaces réseaux de la machine qui fait office de routeur
    4- activer le routage sur cette 3ème machine
    5- lancer le vpn ... Et hop :)



    ________ _______________ __________
    | | | | | |
    |OpenBSD|-----------|OpenBSD routeur|------------| OpenBSD |
    -------- ----------------- ------------
    10.0.0.1 10.255.255.254 172.18.255.254 172.18.0.1


    Si ça n'est pas clair, posez vos questions j'y répondrai avec plaisir !
    A+

  9. Salut
    Je m'excuse pour mon comportement amateur, mais j'aimerai sérieusement recevoir un coup de main de pro sur un mini projet de liaison site à site via Vpn sur openBSD. Tout ce là en simulation sur Vmware. Utilise pour ce projet la version Openbsd 4.5.
    Je serai ravis de connaitre déjà les personnes ayant travailler sur ce type d'infrastructure qui n'est différent de celui ci dessus.
    Après réponse de ceux qui voudront bien m'aider je commencerai la publication des différents étapes que j'ai dejà accomplis jusqu'ici.
    Merci d'avance.

    Je suis en phase d'initiation sur OpenBSD

  10. J'ai effectivement oublié de parler des fichiers /etc/hostname.enc0 et /etc/sysctl.conf ...
    Merci Jérome pour cette excellente remarque ;)

    A très bientôt ?!

  11. Good ! tres bon. Je peux temoigner : j'utilise pour 3 clients des OpenBSD en mode Firewall + VPN Ipsec avec des tunnels. Aucun probleme de fonctionnement.
    Les tunnels vpn sont nickel avec du Sonicwall et du cisco (en regle general).
    La seule chose importante qu'il faut faire attention au niveau de PF qu'il permet de laisser le passage du prototolce IPSEC
    Autre point : controler le fichier
    cat /etc/hostname.enc0
    qu'il contient bien la valeur "up"

    Modifier aussi le fichier /etc/sysctl.conf et modifier les champs
    net.inet.esp.enable=1 # 0=Disable the ESP IPsec protocol
    net.inet.ah.enable=1 # 0=Disable the AH IPsec protocol

    Quand une configuration vpn (fichier /etc/ipsec.conf) est ok, verifier par la commande ipsecctl -vf /etc/ipsec.conf

Laisser un Commentaire

Quelle est la première lettre du mot eqvobt ? :