Transfert des listes de révocation de certificats vers les points de distribution de la liste de révocation à l'aide de SSH Secure Copy (SCP) avec authentification par clé publique (Windows Server 2019)

Si les serveurs qui fournissent les points de distribution des listes de blocage se trouvent par exemple dans une zone démilitarisée (DMZ) ou si, pour d'autres raisons, le transfert de données via Server Message Block (SMB) n'est pas possible, les listes de blocage peuvent être transférées sur les points de distribution à l'aide de SSH Secure Copy (SCP). Depuis Windows Server 2019, il existe les paquets serveur et client OpenSSH. L'installation avec authentification par clé publique (Public Key Authentication) au lieu de mots de passe est décrite ci-dessous à titre d'exemple

Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.

En option : se procurer des supports d'installation

Si les systèmes sur lesquels le serveur SSH ou le client SSH doit être installé peuvent communiquer avec Internet (ce qui n'est évidemment pas recommandé), on peut passer directement à l'étape suivante.

Toutefois, s'ils n'ont pas accès à Internet, les fichiers ISO Featured On Demand pour Windows 10 et pour Windows Server 2019 sont nécessaires.

Le contenu du fichier ISO Features On Demand pour Windows Server 2019 est copié intégralement dans un dossier local (par exemple : C:\LabFiles\Install\OpenSSH).

A partir du fichier ISO Features on Demand, les deux fichiers suivants sont copiés dans le dossier créé précédemment :

  • OpenSSH-Client-Package~31bf3856ad364e35~amd64~~.cab
  • OpenSSH-Server-Package~31bf3856ad364e35~amd64~~.cab

Préparer le client

Sur le système qui doit déclencher le processus de copie, le client SSH est installé à l'aide de la commande PowerShell suivante, à condition que le système puisse communiquer avec Internet.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

S'il ne peut pas communiquer avec Internet, l'argument -Source est indiqué avec le chemin vers les fichiers d'installation.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 -source C:\LabFiles\Install\OpenSSH

Les identités SSH sont gérées par le service ssh-agent, qui doit être configuré et lancé pour démarrer automatiquement.

Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent

Ensuite, une paire de clés SSH peut être créée sous l'identité du compte d'utilisateur qui doit effectuer le processus de copie. Pour ce faire, il faut exécuter la commande suivante :

ssh-keygen

Pour les tâches automatiques, il est préférable de les exécuter avec l'identité du compte de l'ordinateur (NT-AUTORITÄT\SYSTEM), car celui-ci dispose de tous les droits nécessaires et change automatiquement son mot de passe. Ainsi, il n'est pas nécessaire d'avoir un compte local ou de domaine et il n'est pas nécessaire de changer régulièrement le mot de passe manuellement.

Cela est également possible en exécutant la commande ssh-keygen sous cette identité. Cela peut se faire par exemple avec psexec se fait.

psexec -s -i cmd.exe

La paire de clés SSH est enregistrée dans un sous-dossier .ssh au sein du profil de l'utilisateur.

Pour le compte SYSTEM, il s'agit de C:\Windows\System32\config\systemprofile\.ssh.

  • Le fichier id_rsa contient la clé privée, celle-ci ne doit pas être divulguée.
  • Le fichier id_rsa.pub contient la clé publique qui est déposée sur les systèmes cibles.

Préparer le serveur

Sur le système sur lequel les fichiers doivent être copiés, le serveur SSH est installé à l'aide de la commande PowerShell suivante, à condition que le système puisse communiquer avec Internet.

Add-WindowsCapability -online -name OpenSSH.Server~~~~0.0.1.0

S'il ne peut pas communiquer avec Internet, l'argument -Source est indiqué avec le chemin vers les fichiers d'installation.

Add-WindowsCapability -online -name OpenSSH.Server~~~~0.0.1.0 -source C:\LabFiles\INSTALL\OpenSSH

Les services sshd et ssh-agent doivent être configurés et démarrés pour un démarrage automatique.

Set-Service sshd -StartupType Automatic
Start-Service sshd
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent

En option : configurer le pare-feu Windows

Avec l'installation du serveur OpenSSH, une règle de pare-feu entrante est automatiquement créée pour SSH. Vous pouvez la laisser telle quelle.

En option, il est possible de limiter les adresses IP sources qui peuvent communiquer avec le système via SSH.

Créer un utilisateur pour la tâche de copie

Un utilisateur non privilégié doit être créé sur le système cible, sous l'identité duquel les listes de blocage seront copiées.

Attention : l'utilisateur ne doit pas être membre du groupe Administrateurs, car une autre procédure est alors nécessaire pour le dépôt des clés publiques.

Il est conseillé de choisir un mot de passe très fort pour ce compte d'utilisateur.

L'utilisateur doit se connecter une fois au système pour qu'un profil d'utilisateur soit créé.

Déposer une identité SSH

Un sous-dossier .ssh doit être créé dans le profil utilisateur du compte de copie. L'explorateur Windows refusera de le faire, mais en ligne de commande, cela ne pose aucun problème.

mkdir .ssh

Le fichier id_rsa.pub est maintenant copié dans ce dossier et renommé authorized_keys.

Si plusieurs clés doivent être déposées, elles peuvent être saisies dans le fichier authorized_keys à l'aide d'un éditeur de texte.

Attribuer des droits d'écriture

Comme l'utilisateur n'est pas privilégié, il a encore besoin de droits d'écriture sur le dossier cible.

Établir une connexion

Une connexion SSH peut maintenant être établie entre le système émetteur et le système cible.

Tout d'abord, il convient d'établir une connexion shell pour faire connaître la clé de serveur du système cible. La syntaxe est la suivante

ssh {Benutzername}@{Zielserver}

En cas de succès, on dispose maintenant d'une connexion shell sur le système cible.

On peut s'en déconnecter avec la commande exit.

Le processus de copie peut maintenant être effectué. La syntaxe est la suivante

scp {Quell-Ordner}\*.crl {Benutzername}@{Zielsystem}:{Zielpfad}

Les commentaires sont fermés.

fr_FRFrançais