Installation du serveur OpenVPN

Précédent / Suivant
OpenVPN est le serveur de VPN retenu sur le site. Un serveur de VPN est installé dans chaque laboratoire. C'est un VPN SSL, c'est-à-dire qu'il utilise un cryptage SSL sur une connexion UDP pour fonctionner. Cette approche permet de passer les pare-feux sans utiliser les protocoles AHP et ESP nécessaires aux tunnels IPSec1.

Principe de fonctionnement

Pour accepter une connexion, OpenVPN passe par ces étapes :
  1. Le serveur doit recevoir la clé partagée
  2. Il envoie son certificat électronique, qui est vérifié par le client
  3. Le client envoie son compte/mot de passe ou son certificat
  4. Le serveur vérifie le compte/mot de passe auprès du serveur Radius, ou il vérifie le certificat de manière autonome.
  5. Si la connexion est établie, une adresse IP est fournie au client et elle est routée par le tunnel.

Protection du serveur

La clé partagée demandée à l'étape 1 permet de protéger OpenVPN des scanners essayant de trouver les serveurs vulnérables. En effet, il ne répondra que si la clé est fournie. Il est nécessaire au client de connaître cette clé pour pouvoir se connecter à un serveur de VPN. Cette clé est créée en lançant le programme openvpn avec des arguments.

Vérification du serveur

Il faut demander un certificat électronique pour le serveur auprès de l'autorité d'enregistrement. Ce certificat est présenté par le serveur pour prouver au client qu'il se connecte bien sur le serveur désiré. En effet, si un pirate arrive à corrompre les DNS, il ne pourra pas présenter le certificat du serveur et la transaction échouera.

Authentification de l'utilisateur

Le client va ensuite s'authentifier soit par compte/mot de passe, soit par certificat électronique. Il est possible d'avoir les deux méthodes d'authentification en simultané ou une seule des deux. Il a été décidé sur le site CNRS d'authentifier l'utilisateur par son certificat uniquement. Cette façon de faire est très facile à gérer, mais on ne passe pas par l'authentification centralisée auprès du serveur Radius.

Vérification du certificat utilisateur

Pour pouvoir mettre en oeuvre la vérification de l'authentification par certificat, il faut récupérer sur le serveur les certificats de l'autorité de certification. Ceux-ci permettent de vérifier si le certificat client est correct. Cette étape franchie, le serveur vérifie si le certificat fait partie des certificats révoqués. Ceci est fait en parcourant le fichier CRL (Certificate Revocation List), fourni par l'autorité de certification. Ce fichier est mis à jour tous les jours automatiquement. Le serveur va ensuite vérifier si l'utilisateur a le droit de se connecter. Pour cela, on regarde si le numéro de laboratoire (disponible dans le certificat) est autorisé à se connecter. Cette étape se fait par un script qui est lancé par le serveur. Par mesure de sécurité, le serveur de VPN est placé dans une "prison" (chroot). On change la racine système au niveau du répertoire /etc/openvpn. De cette façon, même si le serveur est corrompu, le pirate ne pourra pas aller consulter les autres parties de la machine. Cette façon impose de mettre, en même temps que le script de vérification, les librairies nécessaires au fonctionnement.

Activation du routage

Une fois l'authentification terminée, le serveur passe au client une adresse IP et les routes additionnelles. La route par défaut est envoyée, ce qui veut dire que toute communication initiée par le client est envoyée vers le serveur de VPN, qui se charge alors de transmettre les paquets vers leur correspondant. Cette façon de faire permet aux utilisateurs d'avoir accès aux informations "comme si" ils se trouvaient à l'intérieur du laboratoire. Ils peuvent par exemple avoir accès aux bibliographies qui se trouvent sur Internet, puisque celles-ci se basent sur l'adresse IP.

Configuration

Voici les fichiers de configuration de OpenVPN :
ca-bundle Voir / Cacher / Télécharger
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=FR, O=CNRS, CN=CNRS
        Validity
            Not Before: Apr 27 05:46:49 2001 GMT
            Not After : Apr 25 05:46:49 2011 GMT
        Subject: C=FR, O=CNRS, CN=CNRS-Standard
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    00:dc:e1:1e:21:3d:06:8b:ea:bd:5e:b4:88:db:0f:
                    93:97:b4:6d:07:3d:86:62:00:2d:ca:ff:b5:4a:8e:
                    e7:56:a4:8f:61:2c:f1:a0:2a:ab:f6:2a:dd:7c:2c:
                    bf:ef:75:55:0b:ac:09:4e:e7:4e:61:c0:e7:0c:f0:
                    90:15:45:12:02:c2:8c:eb:c3:12:64:e2:63:10:18:
                    2e:cb:07:31:d9:81:e5:dc:29:82:9b:31:56:e2:81:
                    1e:8a:6f:a7:e8:a9:58:11:44:56:83:5d:b3:4e:78:
                    70:2d:df:b6:fd:72:81:45:d5:f1:ee:4d:ce:ef:be:
                    d5:3d:0c:90:20:45:9a:09:80:af:0f:4c:da:20:0e:
                    80:bf:3a:b3:eb:27:80:c0:b9:0f:c0:a1:4e:40:dc:
                    3a:fd:6a:2a:bf:40:d5:2c:71:80:f9:f8:ba:6b:e4:
                    ea:2a:00:ab:2f:be:9a:f0:a7:76:6d:98:29:9c:0f:
                    2f:f0:42:f2:18:97:5b:c9:f6:cc:19:5f:ba:c2:be:
                    12:d2:5c:b0:90:94:c0:b7:cb:06:04:ef:8f:30:ed:
                    32:2d:7a:4a:f7:93:bb:a0:09:a4:b4:ee:33:cb:d0:
                    83:9b:b5:b5:b3:90:de:8e:90:1e:59:9c:20:d5:4b:
                    1e:ed:d7:4c:4f:86:fa:1c:3a:2a:a1:e9:ac:05:a0:
                    9d:bf
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:TRUE
            X509v3 Subject Key Identifier: 
                67:59:A5:E5:07:74:49:03:EF:05:CF:CC:2E:A4:18:D5:10:C8:9E:3C
            X509v3 Authority Key Identifier: 
                keyid:56:EB:68:B9:D2:5C:7E:98:B5:A5:53:C3:91:6F:63:58:C4:F9:6B:B7
                DirName:/C=FR/O=CNRS/CN=CNRS
                serial:00

            X509v3 Key Usage: 
                Certificate Sign, CRL Sign
    Signature Algorithm: md5WithRSAEncryption
        06:03:47:83:72:45:90:c2:4e:e1:21:d7:ab:17:a9:01:55:06:
        ca:40:6d:55:a2:1d:5e:eb:e2:14:23:59:e4:09:e2:90:f6:3c:
        8d:36:06:0f:4b:a7:26:23:65:c2:ea:06:9a:72:bb:b8:8c:cb:
        8a:5f:ef:79:36:25:7e:00:d7:f3:06:94:fb:83:44:29:26:37:
        c7:ee:e9:87:ce:6c:86:80:1b:71:3d:d2:62:af:f6:cd:62:6c:
        53:0f:e6:7a:93:00:8c:7b:2e:33:e0:41:1d:aa:be:65:98:76:
        f1:95:07:74:b3:e6:3f:53:75:d5:4b:06:36:4b:29:c4:f6:dc:
        8e:13:80:40:10:73:82:ad:15:7b:04:71:50:b5:37:33:f2:c8:
        64:bb:a1:10:7e:36:c6:ad:af:6f:70:52:a6:d1:ae:cc:cc:ba:
        b0:e8:59:12:8f:62:0d:ad:03:dd:4b:2a:e8:89:39:88:51:2f:
        ed:61:e8:b7:30:87:db:27:55:6d:66:87:a3:51:09:80:61:71:
        51:05:be:13:1d:d9:41:30:fc:75:5f:0a:96:9b:18:ff:be:90:
        81:b4:13:c0:72:11:08:fd:6a:9a:6a:07:bd:f4:83:2c:b4:60:
        36:64:07:fa:3d:6a:a7:b0:90:04:76:83:dd:33:cb:34:e2:17:
        98:04:0b:a1
-----BEGIN CERTIFICATE-----
MIIDbTCCAlWgAwIBAgIBAjANBgkqhkiG9w0BAQQFADArMQswCQYDVQQGEwJGUjEN
MAsGA1UEChMEQ05SUzENMAsGA1UEAxMEQ05SUzAeFw0wMTA0MjcwNTQ2NDlaFw0x
MTA0MjUwNTQ2NDlaMDQxCzAJBgNVBAYTAkZSMQ0wCwYDVQQKEwRDTlJTMRYwFAYD
VQQDEw1DTlJTLVN0YW5kYXJkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA3OEeIT0Gi+q9XrSI2w+Tl7RtBz2GYgAtyv+1So7nVqSPYSzxoCqr9irdfCy/
73VVC6wJTudOYcDnDPCQFUUSAsKM68MSZOJjEBguywcx2YHl3CmCmzFW4oEeim+n
6KlYEURWg12zTnhwLd+2/XKBRdXx7k3O777VPQyQIEWaCYCvD0zaIA6Avzqz6yeA
wLkPwKFOQNw6/Woqv0DVLHGA+fi6a+TqKgCrL76a8Kd2bZgpnA8v8ELyGJdbyfbM
GV+6wr4S0lywkJTAt8sGBO+PMO0yLXpK95O7oAmktO4zy9CDm7W1s5DejpAeWZwg
1Use7ddMT4b6HDoqoemsBaCdvwIDAQABo4GSMIGPMAwGA1UdEwQFMAMBAf8wHQYD
VR0OBBYEFGdZpeUHdEkD7wXPzC6kGNUQyJ48MFMGA1UdIwRMMEqAFFbraLnSXH6Y
taVTw5FvY1jE+Wu3oS+kLTArMQswCQYDVQQGEwJGUjENMAsGA1UEChMEQ05SUzEN
MAsGA1UEAxMEQ05SU4IBADALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEEBQADggEB
AAYDR4NyRZDCTuEh16sXqQFVBspAbVWiHV7r4hQjWeQJ4pD2PI02Bg9LpyYjZcLq
Bppyu7iMy4pf73k2JX4A1/MGlPuDRCkmN8fu6YfObIaAG3E90mKv9s1ibFMP5nqT
AIx7LjPgQR2qvmWYdvGVB3Sz5j9TddVLBjZLKcT23I4TgEAQc4KtFXsEcVC1NzPy
yGS7oRB+Nsatr29wUqbRrszMurDoWRKPYg2tA91LKuiJOYhRL+1h6Lcwh9snVW1m
h6NRCYBhcVEFvhMd2UEw/HVfCpabGP++kIG0E8ByEQj9appqB730gyy0YDZkB/o9
aqewkAR2g90zyzTiF5gEC6E=
-----END CERTIFICATE-----
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 0 (0x0)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=FR, O=CNRS, CN=CNRS
        Validity
            Not Before: Apr 27 05:44:36 2001 GMT
            Not After : Apr 22 05:44:36 2021 GMT
        Subject: C=FR, O=CNRS, CN=CNRS
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    00:dd:77:ab:f1:ea:fc:78:b5:14:a1:dc:77:62:56:
                    97:8c:2f:b7:54:c2:4c:54:a6:d4:7d:22:47:7b:74:
                    a9:f7:e3:ad:7c:55:b2:14:f0:48:5d:98:8f:02:bd:
                    92:11:b6:88:4f:c4:15:f5:6f:58:5b:f7:89:b5:27:
                    ea:af:a0:fc:a0:8e:88:86:8f:9f:24:b6:90:4e:24:
                    dc:67:d0:4f:8f:7e:56:2d:1b:28:07:72:b1:17:67:
                    a0:0e:db:42:4e:c3:7c:b4:25:a2:f8:8c:04:b1:a9:
                    82:5d:8c:8f:d4:83:7b:ee:aa:9f:d7:d2:db:f6:5b:
                    6e:c2:81:10:d6:9a:ab:5d:88:1c:36:ca:05:64:68:
                    4b:8b:9e:c0:50:94:23:fd:b6:28:b5:af:5d:a4:dd:
                    a6:c5:d3:d8:57:2b:3e:f8:b5:ba:c4:d8:ff:12:22:
                    5f:24:69:07:62:e4:34:4a:08:77:ca:30:bb:ec:d3:
                    ed:75:90:68:a2:8c:71:72:27:de:15:26:2c:25:21:
                    84:2a:9e:57:18:81:72:23:bd:66:1f:0f:e3:b7:bd:
                    17:da:12:ba:19:54:f4:1c:2d:8f:71:52:33:b1:b6:
                    28:b6:7a:68:cb:9a:4d:52:38:fa:48:8c:c1:4b:89:
                    96:8f:c6:17:5b:cb:b9:0e:0e:81:5c:1a:c7:34:39:
                    57:bd
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:TRUE
            X509v3 Subject Key Identifier: 
                56:EB:68:B9:D2:5C:7E:98:B5:A5:53:C3:91:6F:63:58:C4:F9:6B:B7
            X509v3 Authority Key Identifier: 
                keyid:56:EB:68:B9:D2:5C:7E:98:B5:A5:53:C3:91:6F:63:58:C4:F9:6B:B7
                DirName:/C=FR/O=CNRS/CN=CNRS
                serial:00

            X509v3 Key Usage: 
                Certificate Sign, CRL Sign
    Signature Algorithm: md5WithRSAEncryption
        38:d7:c3:29:bc:7a:77:a2:5e:16:47:49:86:5e:d0:19:38:6a:
        de:81:08:02:b9:a7:a0:02:a6:88:b8:0d:e2:49:35:ce:e6:aa:
        a2:34:d2:f9:a3:84:37:9a:15:e9:59:2b:b7:bd:cc:11:ae:29:
        21:8f:8f:91:39:fa:9d:77:e2:e8:39:ea:ec:2e:d6:ca:48:47:
        22:4c:65:b1:d3:b6:6f:58:1b:34:2e:8a:10:9d:12:84:74:a4:
        79:52:57:00:53:14:c8:98:de:81:6e:c5:0b:75:a7:5a:e7:d3:
        35:08:45:88:f5:84:50:98:f0:07:3e:c5:86:3e:2e:09:5a:a2:
        dc:b6:a0:6b:7b:37:ab:9f:03:70:6e:dd:f5:9c:c0:0e:05:ec:
        b5:84:5b:23:b4:89:21:10:88:ad:fb:2d:08:e4:00:13:1c:55:
        b3:8f:77:be:20:ac:dc:01:1c:79:7c:67:0c:5a:5f:4f:b9:94:
        89:be:ab:9a:2c:12:b1:a8:63:c6:62:80:03:fd:4c:70:95:bd:
        c6:e8:05:da:cb:be:09:a6:1f:e9:6d:d2:85:2e:43:d3:1f:1a:
        5c:76:fe:13:76:61:60:f9:64:d4:58:78:bf:7f:ef:e5:73:a3:
        43:da:2a:7f:77:db:34:79:72:d9:8e:e5:a5:ed:52:d0:c4:46:
        4c:5f:1b:aa
-----BEGIN CERTIFICATE-----
MIIDZDCCAkygAwIBAgIBADANBgkqhkiG9w0BAQQFADArMQswCQYDVQQGEwJGUjEN
MAsGA1UEChMEQ05SUzENMAsGA1UEAxMEQ05SUzAeFw0wMTA0MjcwNTQ0MzZaFw0y
MTA0MjIwNTQ0MzZaMCsxCzAJBgNVBAYTAkZSMQ0wCwYDVQQKEwRDTlJTMQ0wCwYD
VQQDEwRDTlJTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3Xer8er8
eLUUodx3YlaXjC+3VMJMVKbUfSJHe3Sp9+OtfFWyFPBIXZiPAr2SEbaIT8QV9W9Y
W/eJtSfqr6D8oI6Iho+fJLaQTiTcZ9BPj35WLRsoB3KxF2egDttCTsN8tCWi+IwE
samCXYyP1IN77qqf19Lb9ltuwoEQ1pqrXYgcNsoFZGhLi57AUJQj/bYota9dpN2m
xdPYVys++LW6xNj/EiJfJGkHYuQ0Sgh3yjC77NPtdZBoooxxcifeFSYsJSGEKp5X
GIFyI71mHw/jt70X2hK6GVT0HC2PcVIzsbYotnpoy5pNUjj6SIzBS4mWj8YXW8u5
Dg6BXBrHNDlXvQIDAQABo4GSMIGPMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFFbr
aLnSXH6YtaVTw5FvY1jE+Wu3MFMGA1UdIwRMMEqAFFbraLnSXH6YtaVTw5FvY1jE
+Wu3oS+kLTArMQswCQYDVQQGEwJGUjENMAsGA1UEChMEQ05SUzENMAsGA1UEAxME
Q05SU4IBADALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEEBQADggEBADjXwym8enei
XhZHSYZe0Bk4at6BCAK5p6ACpoi4DeJJNc7mqqI00vmjhDeaFelZK7e9zBGuKSGP
j5E5+p134ug56uwu1spIRyJMZbHTtm9YGzQuihCdEoR0pHlSVwBTFMiY3oFuxQt1
p1rn0zUIRYj1hFCY8Ac+xYY+Lglaoty2oGt7N6ufA3Bu3fWcwA4F7LWEWyO0iSEQ
iK37LQjkABMcVbOPd74grNwBHHl8ZwxaX0+5lIm+q5osErGoY8ZigAP9THCVvcbo
BdrLvgmmH+lt0oUuQ9MfGlx2/hN2YWD5ZNRYeL9/7+Vzo0PaKn932zR5ctmO5aXt
UtDERkxfG6o=
-----END CERTIFICATE-----

dh1024.pem Voir / Cacher / Télécharger
-----BEGIN DH PARAMETERS-----
MIGHAoGBAPb+ZUhiDa05tFDjIJGEHwseDieco3pbJrIp3DAm+DlJaUZ9vhnmHVxL
pVzi0oOVUBtMIQfDFlFL8ZkYG67Xku+OSyAJFBrVFnWW9wz5onLpCq83z18m8Y4E
tOf4uLPbVwsbMkJx6mVf73mu4YkhgjlDWPIOXN+F0woQUHDevVn7AgEC
-----END DH PARAMETERS-----

listeFichiers Voir / Cacher / Télécharger
.
./bin
./bin/bash
./bin/sh
./CA
./CA/756f7968.0
./ca-bundle
./CA/cf4ba8c8.0
./CA/CNRS.crt
./CA/CNRS-Standard.crt
./CRL
./CRL/756f7968.r0
./CRL/cf4ba8c8.r0
./CRL/CNRS.crl
./CRL/CNRS-Standard.crl
./dh1024.pem
./etc
./etc/localtime
./lib
./lib/ld-linux.so.2
./lib/tls
./lib/tls/libcrypt.so.1
./lib/tls/libc.so.6
./lib/tls/libdl.so.2
./lib/tls/libm.so.6
./lib/tls/libpthread.so.0
./listeFichiers
./openvpn.conf-Certificat
./openvpn.conf-Radius
./ta.key
./usr
./usr/bin
./usr/bin/perl
./usr/lib
./verify-dn
./vpn.grenoble.cnrs.fr.crt
./vpn.grenoble.cnrs.fr.key

openvpn.conf-Certificat Voir / Cacher / Télécharger
## CONFIGURATION OPENVPN ##
###########################

# Inserer ci-dessous l'adresse IP du serveur
# On est Oblige de mettre l'adresse locale sinon le serveur repond avec 
# l'adresse externe 147.173.246.1 et non pas 10.8.246.1...
local 10.8.246.1
port 1194
proto udp
dev tun

## LES CERTIFICATS ELECTRONIQUES ##
###################################
ca ca-bundle
# Inserer ci-dessous le nom du certificat du serveur
cert vpn.grenoble.cnrs.fr.crt
key vpn.grenoble.cnrs.fr.key
crl-verify CRL/CNRS-Standard.crl
dh dh1024.pem

## LE RESEAU ##
###############
# Inserer ci-dessous la plage reseau du VPN invite
server 147.173.251.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
push "dhcp-option DNS 147.173.1.26"
keepalive 10 120

## L'AUTHENTIFICATION ##
########################
tls-auth ta.key 0
tls-verify "/verify-dn"

## CONFIGURATION GENERALE ##
############################
comp-lzo
max-clients 100
user nobody
group nogroup
chroot /etc/openvpn
persist-key
persist-tun
verb 3

openvpn.conf-Radius Voir / Cacher / Télécharger
## CONFIGURATION OPENVPN ##
###########################

# Inserer ci-dessous l'adresse IP du serveur
# On est Oblige de mettre l'adresse locale sinon le serveur repond avec 
# l'adresse externe 147.173.246.1 et non pas 10.8.246.1. Ce qui bloque les ACL 
# puisqu'elles attendent une reponse depuis 10.8.246.1. 
local 10.8.246.1
port 1194
proto udp
dev tun3

# Activation du PAM pour le support de FreeRadius
#################################################
plugin /usr/lib/openvpn/openvpn-auth-pam.so openvpn
username-as-common-name
client-cert-not-required

## LES CERTIFICATS ELECTRONIQUES ##
###################################
ca ca-bundle
# Inserer ci-dessous le nom du certificat du serveur
cert vpn.grenoble.cnrs.fr.crt
key vpn.grenoble.cnrs.fr.key
#crl-verify CRL/CNRS-Standard.crl
dh dh1024.pem

## LE RESEAU ##
###############
# Inserer ci-dessous la plage reseau du VPN invite
server 147.173.251.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
push "dhcp-option DNS 147.173.1.26"
keepalive 10 120

## L'AUTHENTIFICATION ##
########################
tls-auth ta.key 0
tls-verify "/verify-dn"

## CONFIGURATION GENERALE ##
############################
comp-lzo
max-clients 100
user nobody
group nogroup
chroot /etc/openvpn
persist-key
persist-tun
verb 3

ta.key Voir / Cacher / Télécharger
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
00000000000000000000000000000000
0cee8f6fcbe9161d403a154d474212be
aded0be9c1b61c8e7bffdc0452220769
f053939a8e40dac13b95cd63aa2b0364
0cdfaba68994f2da3d02ce7fcf4567da
dfedb315514e32699573d28a7c86cf67
dc7837138140ffbab8abda5c1d6d3d41
594980d883fea1cd7a979ec1e1472192
148e0275aa48362e06c947ded9d5da08
04d4edacfb220fb2933a9f601df432e7
70ea375591ae6a204361a4bb1d5d7532
ab3145286bda62ff14bfb0829191e396
6b228929951d20ce7d55647aa2cdac40
18b6be35c8b168e3212491996e756be3
ac99935f2b28ce92476be55b75978138
00000000000000000000000000000000
-----END OpenVPN Static key V1-----

verify-dn Voir / Cacher / Télécharger
#!/usr/bin/perl
#envoie 0 si le DN du client correspond a un utilisateur du laboratoire, renvoie
# 1 dans le cas contraire
#
# Base sur le script /usr/share/openvpn/sample-scripts/verify-cn
#

die "usage: verify-dn certificate_depth X509_NAME_oneline" if (@ARGV != 2);

#use Date::Format;

# Parse out arguments:
#   depth -- The current certificate chain depth.  In a typical
#            bi-level chain, the root certificate will be at level
#            1 and the client certificate will be at level 0.
#            This script will be called separately for each level.
#   x509  -- the X509 subject string as extracted by OpenVPN from
#            the client's provided certificate.
($depth, $x509) = @ARGV;

open (LOG,">>verify-dn.log") || die ("Ouverture du fichier verify-dn.log impossible");
print LOG "[".localtime(time)."] Variables passee : ($depth, $x509)\n";
close(LOG);

if ($depth == 0) {
  # If depth is zero, we know that this is the final
  # certificate in the chain (i.e. the client certificate),
  # and the one we are interested in examining.
  # If so, parse out the common name substring in
  # the X509 subject string.

  # 
  # Accepte la connection pour : 
  # Institut Neel :
  if ($x509 =~ m|^/c=fr/o=cnrs/ou=UPR2940|oi) { exit 0; }

  # Authentication failed -- Either we could not parse
  # the X509 subject string, or the common dn in the
  # subject string didn't match ours
  open (LOG,">>verify-dn.log");
  print LOG "[".localtime(time)."] REJET du certificat : $x509)\n";
  close(LOG);
  exit 1;
}
exit 0;
# fin du verify-dn"

vpn.grenoble.cnrs.fr.crt Voir / Cacher / Télécharger
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 10923 (0x2aab)
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=FR, O=CNRS, CN=CNRS-Standard
        Validity
            Not Before: Nov 30 11:36:26 2005 GMT
            Not After : Nov 30 11:36:26 2007 GMT
        Subject: C=FR, O=CNRS, OU=UPR11, CN=vpn.grenoble.cnrs.fr/emailAddress=cric@grenoble.cnrs.fr
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:00:00:00:00:00:00:00:00
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            Netscape Cert Type: 
                SSL Client, SSL Server
            X509v3 Key Usage: critical
                Digital Signature, Non Repudiation, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            Netscape Comment: 
                Certificat serveur CNRS-Standard
            X509v3 Subject Key Identifier: 
                7D:F2:28:95:82:82:C9:21:51:53:FC:36:7B:24:0A:EF:7B:53:47:56
            X509v3 Authority Key Identifier: 
                keyid:67:59:A5:E5:07:74:49:03:EF:05:CF:CC:2E:A4:18:D5:10:C8:9E:3C
                DirName:/C=FR/O=CNRS/CN=CNRS
                serial:02

            X509v3 Subject Alternative Name: 
                DNS:vpn.grenoble.cnrs.fr
            X509v3 CRL Distribution Points: 
                URI:http://crls.services.cnrs.fr/CNRS-Standard/getder.crl

    Signature Algorithm: sha1WithRSAEncryption
        00:00:00:00
-----BEGIN CERTIFICATE-----
0000000000000000000000000000
-----END CERTIFICATE-----

vpn.grenoble.cnrs.fr.key Voir / Cacher / Télécharger
-----BEGIN RSA PRIVATE KEY-----
00000000000000000000000000000000000000000000000=
-----END RSA PRIVATE KEY-----

Vérification et validation

Il faut tester l'installation complète. On teste le VPN depuis l'extérieur avec les différentes étapes du tableau 5.

On teste ensuite le VPN depuis un réseau nomadisme (réseau 10.x.x.x disponibles sur la plaque entre les universités) tels que décrits tableau 6.


CNRS / Centre Réseau et Informatique Commun (CRIC) - Dernière modification : 26/06/2019.

Mail : CRIC @ grenoble.cnrs.fr (sans les espaces)