Projet

Général

Profil

Tâche #31474

Scénario #30987: faire un POC MINTM Amon 2.8.1

Propager le certificat

Ajouté par Benjamin Bohard il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
09/11/2020
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Demandes liées

Lié à eole-workstation - Scénario #31724: Proposer le déploiement d'un certificat MITM aux clients Windows et Linux via le client EOLE Terminé (Sprint) 26/04/2021 15/10/2021

Historique

#1 Mis à jour par Benjamin Bohard il y a plus de 3 ans

  • Statut changé de Nouveau à En cours

#2 Mis à jour par Benjamin Bohard il y a plus de 3 ans

La propagation du certificat utilisé par le squid met en jeu la communication entre les clients (postes Windows et GNU/Linux), le serveur Scribe (où réside le master salt auquel les clients sont associés) et le serveur Amon qui héberge le certificat (et potentiellement le créé). On peut distinguer deux solutions qui apportent chacune leurs difficultés

Transfert du certificat de l’Amon au Scribe (et vice et versa)

Actuellement, l’Amon n’est pas intégré à l’infrastructure salt du Scribe, ce qui, dans les deux sens de transfert, impose soit cette intégration, soit de sortir du système salt.

Création du certificat sur l’Amon

La création du certificat sur l’Amon permet de s’assurer de la cohérence du système avec une intégration aux procédures classiques type reconfigure.

On peut surveiller l’emplacement de ce certificat avec incron et déclencher soit un événement salt lorsqu’il est modifié (créé), soit envoyer le fichier via samba (l’Amon est logiquement intégré au domaine) ou ssh (nécessite l’initialisation de ce canal par un partage de clé, comme pour l’utilisation de salt).

Dans le cas d’un événement salt, le Scribe pourra y réagir et copier le certificat depuis l’Amon pour le rendre disponible aux clients.

Création du certificat sur le Scribe

La création du certificat sur le Scribe permet d’avoir ce fichier à disposition mais nécessite également le transfert de la clé privée et de s’assurer que le transfert des fichiers intervienne au bon moment et que les services les prennent bien en compte.

Transfert du certificat du Scribe aux clients

Selon le navigateur et le système d’exploitation, on dispose de différents moyens

Firefox

Firefox peut s’appuyer sur le contenu du fichier policies.json pour charger des certificats.
Les chemins peuvent être de type UNC.
https://github.com/mozilla/policy-templates/blob/master/README.md#certificates--install

{
  "policies": {
    "Certificates": {
      "Install": ["cert1.der", "/home/username/cert2.pem"]
    }
  }
}

Windows

Un module salt permet de manipuler le magasin de certificat utilisé, notamment, par edge.
https://docs.saltstack.com/en/3001/ref/modules/all/salt.modules.win_pki.html

#3 Mis à jour par Emmanuel GARETTE il y a plus de 3 ans

L'action salt est bugger, donc il n'est pas possible aujourd'hui de l'utiliser.

root@scribe:~# salt '*' win_pki.import_cert name='salt://signingCA.cer'
PC-477555.dompedago.etb1.lan:
    Passed invalid arguments to win_pki.import_cert: 'NoneType' object is not iterable
[..]

Le problème se trouve a priori sur cette ligne (ca renvoi None plutôt que des valeurs) :

        ret["dnsnames"] = [name["Unicode"] for name in item["DnsNameList"]]

Si je vais directement la ligne powershell généré par l'action salt ca fonctionne :

Import-Certificate -FilePath C:\chain.cer -CertStoreLocation 'Cert:\LocalMachine\AuthRoot'

#4 Mis à jour par Emmanuel GARETTE il y a plus de 3 ans

  • Statut changé de En cours à Résolu
  • Assigné à mis à Benjamin Bohard

#5 Mis à jour par Emmanuel GARETTE il y a plus de 3 ans

  • % réalisé changé de 0 à 100

Pour le poste pcprofs-linux :

Sur l'Amon :

scp /etc/squid/chain.pem root@10.1.2.52:/usr/local/share/ca-certificates/

Sur le client :

update-ca-certificates

Et créer le fichier /usr/lib/firefox/distribution/policies.json avec :

{
"policies": {
"Certificates": {
    "ImportEnterpriseRoots": true,
    "Install": [
               "/usr/local/share/ca-certificates/chain.pem" 
               ]
         }
    }
}

#6 Mis à jour par Fabrice Barconnière il y a plus de 3 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

#7 Mis à jour par Joël Cuissinat il y a environ 3 ans

  • Lié à Scénario #31724: Proposer le déploiement d'un certificat MITM aux clients Windows et Linux via le client EOLE ajouté

Formats disponibles : Atom PDF