Chapitre 6. Configuration de l'authentification par carte à puce avec des certificats locaux
Ce chapitre décrit un scénario dans lequel
- L'hôte n'est pas connecté à un domaine.
- Vous souhaitez vous authentifier avec une carte à puce sur cet hôte.
- Vous souhaitez configurer l'accès SSH en utilisant l'authentification par carte à puce.
-
Vous voulez configurer la carte à puce avec
authselect.
Utilisez la configuration suivante pour réaliser ce scénario :
Obtenez un certificat d'utilisateur pour l'utilisateur qui souhaite s'authentifier à l'aide d'une carte à puce. Le certificat doit être généré par une autorité de certification fiable utilisée dans le domaine.
Si vous ne pouvez pas obtenir le certificat, vous pouvez générer un certificat utilisateur signé par une autorité de certification locale à des fins de test,
- Stockez le certificat et la clé privée dans une carte à puce.
- Configurer l'authentification par carte à puce pour l'accès SSH.
Si un hôte peut faire partie du domaine, ajoutez-le au domaine et utilisez les certificats générés par Active Directory ou l'autorité de certification de la gestion des identités.
Pour plus d'informations sur la création de certificats IdM pour une carte à puce, voir Configuration de la gestion des identités pour l'authentification par carte à puce.
Conditions préalables
Authselect installé
L'outil authselect configure l'authentification des utilisateurs sur les hôtes Linux et vous pouvez l'utiliser pour configurer les paramètres d'authentification par carte à puce. Pour plus d'informations sur authselect, voir Explication de authselect.
Carte à puce ou périphériques USB pris en charge par RHEL 9
Pour plus de détails, voir la prise en charge des cartes à puce dans RHEL9.
6.1. Création de certificats locaux Copier lienLien copié sur presse-papiers!
Cette section décrit comment effectuer ces tâches :
- Générer l'autorité de certification OpenSSL
- Créer une demande de signature de certificat
Les étapes suivantes sont destinées à des fins de test uniquement. Les certificats générés par une autorité de certification locale auto-signée ne sont pas aussi sûrs qu'une autorité de certification AD, IdM ou RHCS. Vous devez utiliser un certificat généré par l'autorité de certification de votre entreprise, même si l'hôte ne fait pas partie du domaine.
Procédure
Créez un répertoire où vous pourrez générer le certificat, par exemple :
mkdir /tmp/ca cd /tmp/ca
# mkdir /tmp/ca # cd /tmp/caCopy to Clipboard Copied! Toggle word wrap Toggle overflow Mettre en place le certificat (copier ce texte sur votre ligne de commande dans le répertoire
ca) :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez les répertoires suivants :
mkdir certs crl newcerts
# mkdir certs crl newcertsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez les fichiers suivants :
touch index.txt crlnumber index.txt.attr
# touch index.txt crlnumber index.txt.attrCopy to Clipboard Copied! Toggle word wrap Toggle overflow Inscrivez le numéro 01 dans le fichier série :
echo 01 > serial
# echo 01 > serialCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cette commande écrit un numéro 01 dans le fichier de série. Il s'agit du numéro de série du certificat. Ce numéro augmente d'une unité à chaque nouveau certificat délivré par l'autorité de certification.
Créer une clé d'autorité de certification racine OpenSSL :
openssl genrsa -out rootCA.key 2048
# openssl genrsa -out rootCA.key 2048Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un certificat d'autorité de certification racine auto-signé :
openssl req -batch -config ca.cnf \ -x509 -new -nodes -key rootCA.key -sha256 -days 10000 \ -set_serial 0 -extensions v3_ca -out rootCA.crt# openssl req -batch -config ca.cnf \ -x509 -new -nodes -key rootCA.key -sha256 -days 10000 \ -set_serial 0 -extensions v3_ca -out rootCA.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez la clé de votre nom d'utilisateur :
openssl genrsa -out example.user.key 2048
# openssl genrsa -out example.user.key 2048Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette clé est générée dans le système local, qui n'est pas sécurisé. Il faut donc retirer la clé du système lorsqu'elle est stockée dans la carte.
Vous pouvez également créer une clé directement dans la carte à puce. Pour ce faire, suivez les instructions du fabricant de votre carte à puce.
Créez le fichier de configuration de la demande de signature de certificat (copiez ce texte sur votre ligne de commande dans le répertoire ca) :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une demande de signature de certificat pour votre certificat example.user :
openssl req -new -nodes -key example.user.key \ -reqexts req_exts -config req.cnf -out example.user.csr# openssl req -new -nodes -key example.user.key \ -reqexts req_exts -config req.cnf -out example.user.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow Configurez le nouveau certificat. La période d'expiration est fixée à 1 an :
openssl ca -config ca.cnf -batch -notext \ -keyfile rootCA.key -in example.user.csr -days 365 \ -extensions usr_cert -out example.user.crt# openssl ca -config ca.cnf -batch -notext \ -keyfile rootCA.key -in example.user.csr -days 365 \ -extensions usr_cert -out example.user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
À ce stade, l'autorité de certification et les certificats sont générés avec succès et préparés pour l'importation dans une carte à puce.