danielcrisap.ansible_pritunl_vpn

Rôle Ansible pour Pritunl VPN

Statut de Build

Ce rôle va installer le VPN Pritunl.

**

Qu'est-ce que Pritunl ?

Pritunl est un serveur VPN open source et un panneau de gestion. Il permet à l'utilisateur de disposer de la puissance du protocole OpenVPN tout en utilisant une interface web intuitive.

Exigences

Ajout de nouvelles exigences

Cette application doit être exécutée sur un serveur Linux, qui peut être sous CentOS, Amazon Linux, Debian ou Ubuntu.

Pritunl utilise MongoDB comme base de données, donc vous devez avoir un serveur MongoDB.

Configuration de la base de données

Lors du premier démarrage de Pritunl, une invite de configuration de base de données apparaîtra sur le serveur web fonctionnant sur le port 443. L'invite de configuration demandera une clé de configuration et une URI MongoDB. Pour obtenir la clé de configuration, connectez-vous sur le serveur et exécutez la commande sudo pritunl setup-key, cela renverra la clé de configuration. Par défaut, l'URI MongoDB sera rempli avec l'URI pour le serveur MongoDB sur localhost. Cela doit rester tel quel lorsque le serveur MongoDB fonctionne sur le même serveur que l'instance Pritunl. Pour des clusters d'entreprise, consultez la documentation MongoDB pour Format de l'URI de chaîne de connexion. Alternativement, cela peut être défini directement dans le fichier /etc/pritunl.conf ou en utilisant la commande CLI. Plus d'informations sur la commande CLI sont disponibles dans la section Commandes. Certains serveurs MongoDB s'authentifient sur la base de données admin et nécessitent l'option authSource=admin dans l'URI.

À propos des Abonnements

Les abonnements peuvent être achetés sur la page d'accueil ou à partir de la console web d'un serveur Pritunl en cours d'exécution. Les informations de carte de crédit sont envoyées de manière sécurisée depuis le navigateur web directement à Stripe et ne sont jamais stockées ou transférées sur d'autres serveurs. Un serveur Pritunl peut être mis à niveau à tout moment et n'a pas besoin d'être reconfiguré lors du passage à un abonnement.

Clé de licence

Après avoir créé un abonnement, une clé de licence sera envoyée par e-mail à l'adresse électronique utilisée lors de l'achat. La clé de licence n'a pas besoin d'être utilisée sur le même serveur que celui utilisé pour créer l'abonnement. Les abonnements premium peuvent être utilisés pour un seul serveur et les licences d'entreprise peuvent être utilisées pour un seul cluster. Un cluster est un groupe de serveurs Pritunl connectés à la même base de données MongoDB. Pour permettre les tests, les clés de licence peuvent être utilisées plusieurs fois mais continuer à utiliser les clés de licence sur plusieurs serveurs entraînera l'annulation de l'abonnement.

Facture et Abonnements Long Terme

Certaines entreprises exigent des factures complètes et des abonnements annuels. Cela n'est disponible qu'avec des abonnements d'entreprise et il n'y a pas de remise pour les abonnements annuels. Pour demander une facture annuelle pour un abonnement d'entreprise, envoyez les informations de facturation à contact@pritunl.com, en incluant une adresse e-mail pour recevoir la facture et une adresse e-mail pour recevoir la clé de licence.

Remise Éducative

Une remise de 50 % est disponibles pour les écoles publiques. Cela peut être appliqué à un abonnement mensuel existant ou à un abonnement annuel. Pour obtenir une remise sur les abonnements mensuels, commencez par un essai, puis envoyez l'adresse e-mail utilisée pour créer l'abonnement à contact@pritunl.com, pour un abonnement annuel, suivez les instructions ci-dessus.

**

AUTHENTIFICATION

**

L'authentification WireGuard dans Pritunl utilise des clés déjà présentes dans le profil client. Cela permet de passer à WireGuard sans demander aux utilisateurs de réimporter leur profil. De nombreux administrateurs ne configurent pas de certificat HTTPS valide et HTTPS n'est pas utilisé ou requis pour fournir une authentification sécurisée. L'authentification se fait avec trois clés fournissant plusieurs couches de chiffrement et d'autorisation.

  • Clé SHA512-HMAC du Client (Autorisation)
    Le client utilisera un secret SHA512-HMAC pour signer chaque demande de connexion. Le serveur utilisera également ce secret pour signer la réponse, permettant au client de vérifier la connexion. C'est le même système d'authentification utilisé pour autoriser la synchronisation de configuration client qui synchronise les changements de configuration de profil tels que les adresses hôtes et les modifications de port serveur (les clés privées ne sont jamais synchronisées).

  • Clé Asymétrique NaCl Client/Serveur (Autorisation + Chiffrement)
    Le client utilise une clé publique NaCl pour le serveur, qui est incluse dans le profil client. Cela permet le chiffrement asymétrique de la demande de connexion du client au serveur. Le serveur chiffrera la réponse avec la clé publique NaCl du client, fournissant le chiffrement de la réponse. Le client vérifiera également la réponse du serveur en utilisant la clé publique NaCl du serveur. C'est le même système d'authentification utilisé pour fournir une couche supplémentaire de chiffrement et d'autorisation disponible dans les connexions OpenVPN avec des mots de passe et des codes à deux facteurs.

  • Clé Asymétrique RSA-4096 du Client (Autorisation)
    Le certificat et la clé RSA du client sont utilisés pour signer chaque demande de connexion. Le serveur les utilisera pour vérifier la demande de connexion du client. C'est le même certificat utilisé pour vérifier les connexions OpenVPN.

Chaque connexion WireGuard utilise une nouvelle clé WireGuard. Cela se fait pour fournir le plus haut niveau de sécurité, mais cela retardera la connectivité réseau lorsque l'utilisateur reviendra sur un ordinateur qui a été en veille. La clé privée WireGuard est stockée dans la mémoire du service d'arrière-plan du client Pritunl et aussi dans le fichier de configuration WireGuard. WireGuard utilise un design sans connexion et cette clé privée pourrait être utilisée par un attaquant pour détourner la connexion même si l'authentification multi-facteurs est utilisée. Dans les environnements de haute sécurité, il est important de considérer que les connexions OpenVPN avec une authentification multi-facteurs n'auront pas ces faiblesses. Pour cette raison, le serveur révoquera rapidement les clés WireGuard des clients inactifs pour limiter cette possibilité. Le serveur validera également que les clés ne sont pas réutilisées.

Une fois que le client est connecté, il enverra une demande de ping au serveur toutes les 10 secondes. Cette demande permet au client de détecter rapidement un lien tombé et de basculer en environ 13 secondes. Si le serveur ne reçoit pas de demande de ping dans les 6 minutes, il déconnectera l'utilisateur et révoquera la clé publique.

Variables de Rôle

pritunl_mongodb_uri: 'mongodb://localhost:27017/pritunl?authSource=admin&ssl=true'

pritunl_mongodb_uri URI MongoDB pour que Pritunl se connecte à la base de données.

Exemple de Playbook

Inclure un exemple d'utilisation de votre rôle (par exemple, avec des variables passées en tant que paramètres) est toujours utile pour les utilisateurs également :

    - hosts: servers
      vars:
        pritunl_mongodb_uri: 'mongodb://localhost:27017/pritunl?authSource=admin&ssl=true'
      roles:
         - { role: danielcrisap.ansible-pritunl-vpn }

Licence

MIT ©

Informations sur l'Auteur

Cette collection a été créée en 2020 par Daniel Cristian.

À propos du projet

setup pritunl vpn

Installer
ansible-galaxy install danielcrisap.ansible_pritunl_vpn
Licence
Unknown
Téléchargements
81
Propriétaire
I'm a Site Reliability Engineer and I love what I do.