Accès distant sécurisé en SSL par OpenVPN

Voici un article présentant la mise en place d’un accès à distance à l’aide d’un VPN SSL utilisant OpenVPN…

 

  • Installation du serveur (sur base d’un serveur Linux)
    • Installer OpenVPN à l’aide du gestionnaire de paquet intégré à la distribution (yum, urpmi, …)
    • Alternativement, compiler l’application à partir des sources disponible sur le site OpenVPN
  • Configuration du serveur
    • # cd /usr/share/openvpn/easy-rsa/2.0   <- ce dossier peut varier et peut être localisé avec « locate easy-rsa »
    • # vi vars
      • Changer la longueur de clés de 1024 à 2048
      • Mettre à jour les paramètres KEY_….
    • # . vars
    • # ./clean-all
    • # ./build-dh
    • # ./build-ca
    • # ./build-key-server server_name
    • # cd keys
    • # cp dh2048.pen ca.crt server_name.crt server_name.key /etc/openvpn
    • # cd /etc/openvpn
    • # openvpn –genkeys –secret ta.key
    • # vi server.conf
      • port 1194
      • proto udp
      • dev tun
      • ca ca.crt
      • cert server_name.crt
      • key server_name.key
      • dh dh2048.pem
      • server 10.8.0.0 255.255.255.0
      • ifconfig-pool-persist ipp.txt
      • push « route 192.16.0.0 255.255.255.0 » <- Exemple pour router un subnet local
      • tls-auth ta.key 0
      • cipher AES-128-CBC
      • comp-lzo
      • user openvpn
      • group openvpn
      • persist-key
      • persist-tun
      • status openvpn-status.log
  • Gestion du serveur
    • service openvpn {start|stop|restart}
    • cat /etc/openvpn/openvpn-status.log
  • Préparation du client
    • Sur le serveur
      • # cd /usr/share/openvpn/easy-rsa/2.0
      • . vars
      • ./build-key-pass client_name
    • Dans le répertoire ‘config’ du client openvpn
      • copier depuis /…/easy-rsa/2.0/keys : ca.crt   client_name.crt   client_name.key
      • copier depuis /etc/openvpn : ta.key
      • créer le fichier de connexion : server_name.conf
        • client
        • dev tun
        • proto udp
        • remote server_name_or_IP 1194
        • resolve-retry infinite
        • nobind
        • user openvpn <- Not for Windows
        • group openvpn <- Not for Windows
        • ca ca.crt
        • cert client_name.crt
        • key client_name:q.key
        • ns-cert-type server
        • tls-auth ta.key 1
        • cipher AES-128-CBC
        • comp-lzo
  • Connexion du client
    • Sous Linux
      • # openvpn server_name.conf
    • Sous Windows
      • utiliser le GUI OpenVPN, copier le fichier de configuration et les clés dans le répertoire ‘config’
      • ajouter OpenVPN GUI en démarrage automatique avec Windows
      • openvpn doit être exécuté en tant qu’administrateur (propriétés de openvpn.exe).
  • Changement du mot de passe de la clé privée
    • Ajouter ou modifier le mot de passe
      • # openssl rsa -in client_name.key -aes256 -out new_client_name.key
    • Supprimer le mot de passe (fortement déconseillé)
      • # openssl rsa -in client_name.key -out new_client_name.key
  • Révoquer un certificat
    • cd easy-rsa/2.0
    • . vars
    • ./revoke-full client_name
    • cp keys/crl.pem /etc/openvpn
    • vi /etc/openvpn/server.conf
      • crl-verify /etc/openvpn/crl.pem
    • service openvpn restart

En continuant à utiliser le site, vous acceptez l’utilisation des cookies. Plus d’informations

Les paramètres des cookies sur ce site sont définis sur « accepter les cookies » pour vous offrir la meilleure expérience de navigation possible. Si vous continuez à utiliser ce site sans changer vos paramètres de cookies ou si vous cliquez sur "Accepter" ci-dessous, vous consentez à cela.

Fermer