question sur certificat dans PfSense
-
un certificat, c'est la partie publique d'une paire de clé (paire constituée d'une partie privé et une publique) qui est signé par une autorité de confiance.
Sans entrer dans le détail des différents usages d'un certificat (signature, encryption etc...) , dans le mode le plus répandu ici, on va parler d'un certificat serveur, lequel serveur est accédé par un client qui est supposé valider qu'il fait confiance à ce certificat (tout le concept est basé ici sur la confiance)
Et pour que cette confiance soit établie, il faut que le client trust l'autorité de certification qui a signé le certificat serveur.Une fois que tu as compris ça:
- tu comprends pourquoi tu peux te contenter techniquement (je ne dis pas que c'est la bonne solution) d'avoir un certificat self-signed (celui qui génère la clé privée et le CSR signe lui même son propre certificate (i.e. je suis ma propre autorité de certification)
- tu comprends que dans certains cas, il est utile d'avoir des "subCA" qui vont permettre de différencier les certificats signés car il est possible, lors de la signature, d'imposer des contraintes, et notamment des contraintes d'usage des-dits certificats (par exemple un certificat peut être utilisé pour identifier un serveur mais pas signer du code ou chiffrer un document.
- pour faire du test/lab, une chaine de certification à plus de un niveau n'est en aucun cas nécessaire
-
donc, je n'ai pas besoin de créer une CA root et une CA intermédiaire?
une CA root suffit? (dans mon cas de Lab pour apprendre)c'est bien ça.
-
@zeverybest said in question sur certificat dans PfSense:
dans mon cas de Lab pour apprendre
pour apprendre quoi ?
Si c'est pour apprendre le fonctionnement d'une PKI, pfSense n'est pas le bon cheval, trop limité.
Si c'est pour avoir un certificat afin de faire des tests sur un serveur, non il n'est pas nécessaire d'avoir une CA intermédiaire. -
@chris4916
merci de cette info
si je passe par XCA, je ne suis pas obligé de l'avoir en fonction en permanence sur une machine?
Un fois mes certificats générés, il n'est pas nécessaire de le garder en cours d'exécution.
C'est bien ça?
mais le certificat de la CA racine devra être accessible sur une machine?
j'ai encore bon? -
le certificat de la root CA ne sert qu'à signer d'autres certificats. si tu n'as pas besoin de signer, tu n'a pas besoin de la clé privée.
Avec une PKI normalement constituée, ces clés privées ne sont même pas "sur une machine" mais dans un conteur de type HSM mais c'est un autre sujet, loin de tes préoccupations -
@chris4916
justement, je voudrais comprendre le principe de création et signature de certificat.pour le moment, j'ai commencé avec PfSense (je sais que ce n'est pas top, mais je l'ai sous la main et puis c'est mieux d'etre a l'aise avec plusieurs solutions, c'est comme ceci que l'on progresse)
j'ai créé une CA root
ensuite, si j'ai bien compris, je crée un cetrificat, puis je le signe avec le certificat de ma CA root. C'est bien ça?donc, sous PfSense, la procedure est elle la suivante :
- création d'un certificat interne
- création d'une demande de signature
- signature de cette demande
mais c'est là que ça se complique (pour moi)
a chacune de ces étapes, j'ai une nouvelle ligne dans la liste des certificat, et je ne comprend pas bien quoi faire avec tout çalorsque je crée une demande de signature, je me retrouve avec une ligne : "signature en attente"
et lorsque je signe cette demande, la ligne "signature en attente" existe toujours et j'ai une nouvelle ligneje suis un peu perdu dans les étapes.
Je suis désolé de tous vous ennuyer avec ceci, mais j'ai besoin de comprendre
-
Keep cool : vous donnez l'impression d'être angoissé : faites vous confiance en lisant les bonnes docs et en 'maturant' ce que vous lisez !
La doc sur la gestion de certificat intégrée : https://docs.netgate.com/pfsense/en/latest/certificates/index.html (en anglais)
La doc sur X509 : https://fr.wikipedia.org/wiki/X.509 (en français)
J'ai déjà écrit ce qui peut être fait : une AC, 2 certificats serveur (pour l'interface web, pour le serveur OpenVPN), 1 certificat utilisateur (pour un client OpenVPN).
-
je n'utilise pas l'interface de gestion des certificats de pfSense et donc j'ai un peu du mal à voir ce que sont les "lignes en attente" que tu évoques.
dans le process, tu commences par créer un premier certificat qui va être ton certificat "racine", et donc autorité de certification pour la suite de ton arbre (car au final, l'organisation des certificats va ressembler à un arbre, et là on parle de la racine ^^)
Ce root CA est self-signed.
A partir de là, si touts les certificats suivant peuvent être organisés en rateau, donc tous au même niveau, à plat, tu n'as pas besoin de CA intermédiaire.donc tu peux commencer à signer des CSR pur tes différents serveurs directement avec le root CA.
Un CSR, c'est quoi ? c'est une clé privée + une clé publique. Cette paire de clé est normalement générée sur le serveur qui va utiliser (présenter) ce certificat.
lorsque tu fais signer ton CSR, c'est la clé publique (uniquement) que tu envoies à la PKI pour signature. La clé privée, dans le meilleur des cas, ne quitte pas le serveur.Mais, et ce doit être le cas avec pfSense, assez souvent tu peux générer au travers de l'interface graphique de ta PKI directement la paire de clé, privé+publique: la CSR est générée à la volée au sein de la PKI, tu récupères un fichier qui contient les deux clés que tu installes ensuite sur le serveur.
Petit point d'attention, il faut que le serveur fasse confiance à la root CA. donc il est nécessaire, le plus souvent, d'ajouter dans ton keystore ou autre conteneur la clé publique ayant signé le certificat que ton serveur expose.
-
@jdh
je ne suis pas angoissé, mais, meme si je m'investi ennormement sur d'autres forum (4x4) pour aider, j'ai toujours l'impression de déranger et de faire perdre du temps.
de plus, je souhaite vraiment comprendre le principe, donc, je vous remercie du temps que vous m'accordé (je trouve que l'on progresse plus en cherchant qu'en trouvant une solution toute faite), mais je ne voudrais pas passer pour un boulet.je vais aller lire ces docs
j'ai chercher pas mal de tuto sur le net également.Je pense avoir (a peu pret) compris le principe du certificat et des validation par les autorités, mais je coince un peu avec le step by step de PfSense
-
@chris4916 said in question sur certificat dans PfSense:
donc tu peux commencer à signer des CSR pur tes différents serveurs directement avec le root CA.
Un CSR, c'est quoi ? c'est une clé privée + une clé publique. Cette paire de clé est normalement générée sur le serveur qui va utiliser (présenter) ce certificat.
lorsque tu fais signer ton CSR, c'est la clé publique (uniquement) que tu envoies à la PKI pour signature. La clé privée, dans le meilleur des cas, ne quitte pas le serveur.le certificat non signé doit etre generé par le serveur Web? Pas par PfSense?
Et PfSense doit le signer c'est ça?
si dc'est bien ça, je n'avais pas compris comme ça et je pensais avoir compris que PfSens generait les certificat, les signait et ensuite on les exportait sur le serveur web
un peu perdu sur le coup
-
@zeverybest
J'ai joué avec le GUI de pfSense et je comprends maintenant ton problème, du moins je le crois.
Je suppose que tu t'attends, lorsque ta CSR est signée, que cette CSR se transforme en certificat.
Il n'est est rien.
La demande de signature reste une demande. Si tu ne la supprimes pas, une fois la demande signée, tu vas avoir d'un coté la demande, qui reste en état et de l'autre un certificat.
ce n'est pas un problème -
@zeverybest said in question sur certificat dans PfSense:
le certificat non signé doit etre generé par le serveur Web? Pas par PfSense?
Et PfSense doit le signer c'est ça?
si dc'est bien ça, je n'avais pas compris comme ça et je pensais avoir compris que PfSens generait les certificat, les signait et ensuite on les exportait sur le serveur web
un peu perdu sur le couptout ça fonctionne. Soit tu fais ta CSR sur le serveur et tu l'importe dans pfSense, soit tu la fais sur pfsense et tu exportes le certificat signé en t'assurant qu'il contient bien la clé privée, vers ton serveur
-
Ce fil est bien long : franchement BEAUCOUP a été écrit, tant sur les outils que sur les concepts. Il reste la lecture de bons liens : les tutos ne sont utiles que si on connait les principes, et un tuto 'ça s'adapte'. Il reste à 'maturer' : moi, je lis plusieurs fois, puis série de chapitre après série, ... Il reste à se lancer.
Je préconise la gestion intégrée : c'est (très) simple (pas de CSR, .....).
Quand vous serez en responsabilité, ...
-
@jdh
oui bien sûr on peut directement générer un certificat "interne" qu'on exporte ensuite mais ça perd de son intérêt didacticiel qui me semblait être l'objectif initial.
Au passage d'ailleurs, le bon outil pour apprendre, c'est openSSL -
desolé de prendre encore de votre temps
je progresse (petit a petit )j'ai créée une CA root
j'ai créée une CA intermediaire (je sais que ce n'est pas necessaire, mais l'ideale etant de comprendre l'integralité de la cahine)
j'ai créée un certificat validé par la CA intermédiaire (certificat pour la connexion en https a PfSense)je suis allé sur mon controleur de domaine pour ajouter mon certificat de CA root dans le gestionnaire de strategie de groupe (dans la strategie de mon domaine)
lorsque je browse l'adresse de mon PfSense, il m'indique toujours que ce n'est pas un site de confiance, alors que si je click sur les infos du certificat dans la barre d'URL, il n'y a plus aucune marques rouge sur le certificat du CA root (depuis mon contrôleur de domaine
mais cette marque rouge sur le CA root est encore presente depuis les autres machines du reseau)
j'ai raté un truc? -
@zeverybest
Il faut que TOUS les clients de ton serveur aient un trust de la CA. -
@chris4916
alors il y a un truc que je n'ai pas compris.
d'apres ce que j'avais copris, le CA root ayant ete validé de "confiance" pourle domaine, la certificat du serveur web ayant ete generé par le CA intermediaire, lui meme validé par le CA root, ça devrait passer.De plus, si j'utilise le navigateur de mon controleur de domaine (sur lequel j'ai trusté le CA root) il n'y a plus aucun drapeau sur le certificat, mais la page web me previent quand meme que ce n'est pas un site de confiance
j'ai testé la meme chose pour ajouter le certificat a un serveur web microsoft (IIS) mais il me demande un fichier .pfx.
du coup, il ne me montre pas l'arborecense CA root / CA intermediaire / certificat
je le trouve ou ce .pfx ? -
Bon, j'ai plutot bien avancé sur le sujet et je voudrais tous vous remercier du temps que vous m'avez accordé.
tout fonctionne très bien.
pour les machines dans le domaine, c'est nickel.
seul interrogation, malgré un certificat valide, l'ouverture de la page web depuis le contrôleur de domaine continuait a m'afficher le message (site pas de confiance), mais des le lendemain et sans action de ma part, ça a disparu (le cache du navigateur ??)pour une machine hors domaine, j'ai ajouter le CA Root dans les stratégies local et ça fonctionne
j'ai meme réussi (en convertissant les fichier auto signé PFX d'un serveur IIS a les signer et les re importer
un grand pas en avant
Encore merci a tous