You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

84 lines
2.5 KiB

# Server en tcp, port 443 en écoute en créant un tunnel
mode server
proto tcp
port 443
dev tun
## CLE, CERTIFICATS ET CONFIGURATION RÉSEAU ##
# Prouver l'identité
ca ca.crt
# Clé publique du serveur
cert server.crt
# Clé privée du serveur
key server.key
# Clé partagée (utilisé pour le chiffrement symétrique, hashage...)
dh dh1024.pem
# Augmente la sécurité (DDOS, port flooding...)
# Deuxième paramètre à 0 sur le serveur et 1 sur le client)
tls-auth ta.key 0
# Choix de la méthode de cryptographie
cipher AES-256-CBC
# Reseau
# Sous réseau, le serveur prendra l'adresse 10.8.0.1 et le reste sera disponible pour les clients
server 10.8.0.0 255.255.255.0
# Redirection du trafic via internet
push "redirect-gateway def1"
# Utilisation de DNS alternatifs (OpenDNS)
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
# (DNS de Google)
# push "dhcp-option DNS 8.8.8.8"
# push "dhcp-option DNS 8.8.4.4"
# Ping toutes les 10 secondes et si après 120 secondes le client ne répond toujours pas alors on déconnecte
keepalive 10 120
# Regenerer la clé du canal toutes les 5h (implique la déconnexion du client)
reneg-sec 18000
## SECURITE ##
# On abaisse les privilèges du démon
user nobody
group nogroup
# Rend les clés persistantes au démarrage
# Donc, plus besoin de relire les clés cryptographiques (dont on aurait pas eu les droits car on a abaissé les privilèges du démon)
persist-key
# Ne pas fermer et rouvrir le périphérique TUN/TAP
persist-tun
# Active la compression
comp-lzo
## LOG ##
# Quantité de log (choix entre 0 et 9)
# Choisir entre 3 et 4 pour une utilisation normale
verb 3
# Imprime au plus 20 messages de la même catégorie
mute 20
# Fichier où on liste les connexions des clients
status openvpn-status.log
# Fichier de log
log-append /var/log/openvpn.log
# Dossier de configuration des clients
client-config-dir ccd
## PASS ##
# Autoriser l'exécution de scripts externes en passant les mots de passe via les variables d'environnement
script-security 3 system
# Utiliser le pseudo d'authentification comme nom (au lieu du nom du certificat du client)
username-as-common-name
# Certificat du client non requis
client-cert-not-required
# Utiliser le script de connexion lorsqu'un client veut s'authentifier
auth-user-pass-verify scripts/login.sh via-env
# Nombre maximum de clients
max-clients 50
# Appeler ces scripts à la connexion et déconnexion du client
client-connect scripts/connect.sh
client-disconnect scripts/disconnect.sh