Listes de révocation des certificats
Un certificat émis par une autorité de certification reste généralement valide jusqu’à sa date d’expiration. Toutefois, dans certaines circonstances, l’autorité de certification peut révoquer le certificat émis avant la date d’expiration. Par exemple, lorsque la clé privée d’un propriétaire est compromise, le nom d’une entreprise ou d’un individu change, ou l’association entre le sujet et l’autorité de certification change.
Une liste de certificats révoqués (CRL) identifie les certificats non valides par numéro de série et émetteur.
Les autorités de certification émettent régulièrement des CRL. Vous pouvez configurer l’appliance NetScaler pour qu’elle utilise une CRL afin de bloquer les demandes des clients qui présentent des certificats non valides.
Si vous possédez déjà un fichier CRL provenant d’une autorité de certification, ajoutez-le à l’appliance NetScaler. Vous pouvez configurer les options d’actualisation. Vous pouvez également configurer NetScaler pour synchroniser automatiquement le fichier CRL à un intervalle spécifié, à partir d’un emplacement Web ou d’un emplacement LDAP. L’appliance prend en charge les CRL au format de fichier PEM ou DER. Assurez-vous de spécifier le format de fichier du fichier CRL ajouté à l’appliance NetScaler.
Si vous avez utilisé l’ADC en tant que CA pour créer des certificats utilisés dans des déploiements SSL, vous pouvez également créer une CRL pour révoquer un certificat particulier. Cette fonctionnalité peut être utilisée, par exemple, pour garantir que les certificats autosignés créés sur NetScaler ne sont utilisés ni dans un environnement de production ni au-delà d’une date donnée.
Remarque :
Par défaut, les CRL sont stockées dans le répertoire /var/netscaler/ssl de l’appliance NetScaler.
Création d’une CRL sur l’appliance ADC
Comme vous pouvez utiliser l’appliance ADC pour agir en tant qu’autorité de certification et créer des certificats autosignés, vous pouvez également révoquer les certificats suivants :
- Les certificats que vous avez créés.
- Certificats dont vous êtes propriétaire du certificat CA.
L’appliance doit révoquer les certificats non valides avant de créer une CRL pour ces certificats. L’appliance stocke les numéros de série des certificats révoqués dans un fichier d’index et met à jour le fichier chaque fois qu’elle révoque un certificat. Le fichier d’index est automatiquement créé la première fois qu’un certificat est révoqué.
Révoquer un certificat ou créer une CRL à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez la commande suivante :
create ssl crl <CAcertFile> <CAkeyFile> <indexFile> (-revoke <input_filename> | -genCRL <output_filename>)
<!--NeedCopy-->
Exemple :
create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -revoke Invalid-1
create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -genCRL CRL-1
<!--NeedCopy-->
Révoquer un certificat ou créer une CRL à l’aide de l’interface graphique
- Accédez à Gestion du trafic > SSL et, dans le groupe Mise en route, sélectionnez Gestion des CRL.
- Entrez les détails du certificat et, dans la liste Choisir une opération, sélectionnez Révoquer le certificatou Générer une CRL.
Ajouter une CRL existante à l’ADC
Avant de configurer la CRL sur l’appliance NetScaler, assurez-vous que le fichier CRL est stocké localement sur l’appliance NetScaler. Dans une configuration HA, le fichier CRL doit être présent sur les deux appliances ADC et le chemin du répertoire vers le fichier doit être le même sur les deux appliances.
Ajouter une CRL sur NetScaler à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez les commandes suivantes pour ajouter une CRL sur NetScaler et vérifier la configuration :
add ssl crl <crlName> <crlPath> [-inform (DER | PEM)]
show ssl crl [<crlName>]
<!--NeedCopy-->
Exemple :
> add ssl crl crl-one /var/netscaler/ssl/CRL-one -inform PEM
Done
> show ssl crl crl-one
Name: crl-one Status: Valid, Days to expiration: 29
CRL Path: /var/netscaler/ssl/CRL-one
Format: PEM CAcert: samplecertkey
Refresh: DISABLED
Version: 1
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US,ST=California,L=Santa Clara,O=NetScaler Inc.,OU=SSL Acceleration,CN=www.ns.com/emailAddress=support@NetScaler appliance.com
Last_update:Jun 15 10:53:53 2010 GMT
Next_update:Jul 15 10:53:53 2010 GMT
1) Serial Number: 00
Revocation Date:Jun 15 10:51:16 2010 GMT
Done
<!--NeedCopy-->
Ajouter une CRL sur NetScaler à l’aide de l’interface graphique
Accédez à Gestion du trafic > SSL > CRLet ajoutez une CRL.
Configurer les paramètres d’actualisation de la CRL
Une CRL est générée et publiée par une autorité de certification périodiquement ou, parfois, immédiatement après la révocation d’un certificat particulier. Citrix vous recommande de mettre régulièrement à jour les CRL sur l’appliance NetScaler, afin de vous protéger contre les clients qui tentent de se connecter avec des certificats non valides.
L’appliance NetScaler peut actualiser les CRL à partir d’un emplacement Web ou d’un annuaire LDAP. Lorsque vous spécifiez des paramètres d’actualisation et un emplacement Web ou un serveur LDAP, il n’est pas nécessaire que la CRL soit présente sur le disque dur local au moment de l’exécution de la commande. La première actualisation stocke une copie sur le disque dur local, dans le chemin spécifié par le paramètre Fichier CRL. Le chemin d’accès par défaut pour le stockage de la CRL est /var/netscaler/ssl.
Remarque : Dans les versions 10.0 et ultérieures, la méthode d’actualisation d’une CRL n’est pas incluse par défaut. Spécifiez une méthode HTTP ou LDAP. Si vous effectuez une mise à niveau d’une version antérieure vers la version 10.0 ou ultérieure, vous devez ajouter une méthode et exécuter à nouveau la commande.
Configurer l’actualisation automatique de la CRL à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez les commandes suivantes pour configurer l’actualisation automatique de la CRL et vérifier la configuration :
set ssl crl <crlName> [-refresh ( ENABLED | DISABLED )] [-CAcert <string>] [-server <ip_addr|ipv6_addr|*> | -url <URL>] [-method ( HTTP | LDAP )] [-port <port>] [-baseDN <string>] [-scope ( Base | One )] [-interval <interval>] [-day <positive_integer>] [-time <HH:MM>][-bindDN <string>] {-password } [-binary ( YES | NO )]
show ssl crl [<crlName>]
<!--NeedCopy-->
Exemple :
set CRL crl1 -refresh enabled -method ldap -inform DER -CAcert ca1 -server 10.102.192.192 -port 389 -scope base -baseDN "cn=clnt_rsa4_multicert_der,ou=eng,o=ns,c=in" -time 00:01
set ssl crl crl1 -refresh enabled -method http -cacert ca1 -port 80 -time 00:10 -url http://10.102.192.192/crl/ca1.crl
> sh crl
1) Name: crl1 Status: Valid, Days to expiration: 355
CRL Path: /var/netscaler/ssl/crl1
Format: PEM CAcert: ca1
Refresh: ENABLED Method: HTTP
URL: http://10.102.192.192/crl/ca1.crl Port:80
Refresh Time: 00:10
Last Update: Successful, Date:Tue Jul 6 14:38:13 2010
Done
<!--NeedCopy-->
Configurer l’actualisation automatique des CRL à l’aide de LDAP ou HTTP à l’aide de l’interface graphique
- Accédez à Gestion du trafic > SSL > CRL.
- Ouvrez une CRL et sélectionnez Activer l’actualisation automatique de la CRL.
Remarque
Si la nouvelle CRL a été actualisée dans le référentiel externe avant son heure de mise à jour réelle, telle que spécifiée par le champ Heure de la dernière mise à jour de la CRL, vous devez procéder comme suit : Actualisez
immédiatement la CRL sur l’appliance NetScaler.
Pour afficher l’heure de la dernière mise à jour, sélectionnez la CRL, puis cliquez sur Détails.
Synchroniser les CRL
L’appliance NetScaler utilise la dernière CRL distribuée pour empêcher les clients dont les certificats ont été révoqués d’accéder à des ressources sécurisées.
Si les CRL sont régulièrement mises à jour, l’appliance NetScaler a besoin d’un mécanisme automatique pour récupérer les dernières CRL du référentiel. Vous pouvez configurer l’appliance pour qu’elle mette à jour automatiquement les CRL à un intervalle d’actualisation spécifié.
L’appliance gère une liste interne des CRL qui doivent être mises à jour à intervalles réguliers. À ces intervalles spécifiés, l’appliance analyse la liste pour détecter les CRL qui doivent être mises à jour. Il se connecte ensuite au serveur LDAP ou HTTP distant, récupère les dernières CRL, puis met à jour la liste de CRL locale avec les nouvelles CRL.
Remarque :
Si la vérification de la CRL est définie comme obligatoire lorsque le certificat de l’autorité de certification est lié au serveur virtuel et que l’actualisation initiale de la CRL échoue, l’action suivante est prise pour les connexions :
toutes les connexions d’authentification client avec le même émetteur que la CRL sont rejetées car RÉVOQUÉES jusqu’à ce que la CRL soit correctement actualisée.
Vous pouvez spécifier l’intervalle auquel l’actualisation de la CRL doit être effectuée. Vous pouvez également spécifier l’heure exacte.
Synchroniser l’actualisation automatique des CRL à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez la commande suivante :
set ssl crl <crlName> [-interval <interval>] [-day <integer>] [-time <HH:MM>]
<!--NeedCopy-->
Exemple :
set ssl crl CRL-1 -refresh ENABLE -interval MONTHLY -days 10 -time 12:00
<!--NeedCopy-->
Synchroniser l’actualisation des CRL à l’aide de l’interface graphique
- Accédez à Gestion du trafic > SSL > CRL.
- Ouvrez une CRL, sélectionnez Activer l’actualisation automatique de la CRLet spécifiez l’intervalle.
Procéder à l’authentification du client à l’aide d’une liste de révocation de certificats
Si une liste de révocation de certificats (CRL) est présente sur une appliance NetScaler, une vérification de la CRL est effectuée, que l’exécution de la vérification de la CRL soit définie comme obligatoire ou facultative.
Le succès ou l’échec d’une poignée de mains dépend de la combinaison des facteurs suivants :
- Règle de vérification de la CRL
- Règle de vérification des certificats clients
- État de la CRL configurée pour le certificat CA
Pour configurer la vérification CRL à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez la commande suivante :
bind ssl vserver <vServerName> -certkeyName <string> [(-CA -crlCheck ( Mandatory | Optional ))]
sh ssl vserver
<!--NeedCopy-->
Exemple :
bind ssl vs v1 -certkeyName ca -CA -crlCheck mandatory
> sh ssl vs v1
Advanced SSL configuration for VServer v1:
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: ENABLED Client Cert Required: Mandatory
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: ca CA Certificate CRLCheck: Mandatory CA_Name Sent
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->
Configurer la vérification CRL à l’aide de l’interface graphique
- Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels, puis ouvrez un serveur virtuel SSL.
- Cliquez dans la section Certificats .
- Sélectionnez un certificat et, dans la liste de contrôle OCSP et CRL, sélectionnez CRLobligatoire.
Résultat d’une prise de contact avec un certificat révoqué ou valide
Règle de vérification de la CRL | Règle de vérification des certificats clients | État de la CRL configurée pour le certificat CA | Résultat d’une poignée de main avec un certificat révoqué | Résultat d’une poignée de main avec un certificat valide |
---|---|---|---|---|
Obligatoire | Mandatory | Présent | Échec | Réussite |
Mandatory | Obligatoire | Expiré | Échec | Échec |
Obligatoire | Mandatory | Manquant | Échec | Échec |
Obligatoire | Obligatoire | Indéfini | Échec | Échec |
Facultatif | Mandatory | Présent | Échec | Réussite |
Facultatif | Obligatoire | Expiré | Réussite | Réussite |
Facultatif | Obligatoire | Manquant | Réussite | Réussite |
Facultatif | Obligatoire | Indéfini | Réussite | Réussite |
Obligatoire | Facultatif | Présent | Réussite | Réussite |
Obligatoire | Facultatif | Expiré | Réussite | Réussite |
Obligatoire | Facultatif | Manquant | Réussite | Réussite |
Obligatoire | Facultatif | Indéfini | Réussite | Réussite |
Facultatif | Facultatif | Présent | Réussite | Réussite |
Facultatif | Facultatif | Expiré | Réussite | Réussite |
Facultatif | Facultatif | Manquant | Réussite | Réussite |
Facultatif | Facultatif | Indéfini | Réussite | Réussite |
Remarque :
La vérification de la CRL est facultative par défaut. Pour passer de facultatif à obligatoire ou inversement, vous devez d’abord dissocier le certificat du serveur virtuel SSL, puis le lier à nouveau après avoir modifié l’option.
Dans la sortie de la commande
sh ssl vserver
, OCSP check : optional implique qu’une vérification CRL est également facultative. Les paramètres de contrôle CRL s’affichent dans la sortie de lash ssl vserver
commande uniquement si le contrôle CRL est défini sur obligatoire. Si la vérification CRL est définie comme facultative, les détails de la vérification CRL n’apparaissent pas.
Dans cet article
- Création d’une CRL sur l’appliance ADC
- Ajouter une CRL existante à l’ADC
- Configurer les paramètres d’actualisation de la CRL
- Synchroniser les CRL
- Procéder à l’authentification du client à l’aide d’une liste de révocation de certificats
- Résultat d’une prise de contact avec un certificat révoqué ou valide