Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/07/2021, à 10:50

Lolo2Paris

PKI Sous Ubuntu 20.04 pour créer un CI/CD devops

Bonjour,

J'aimerai créer un pipeline CI/CD s'appuyant sur une sécurité à base de clé publiques.
Voici (en gros) le schéma...
Schéma CICD

Dans mon esprit:

Keystore contient l'autorité de certification ainsi que la base de donnée des certificats et des clefs des différentes machines.
Open LDAP Server :
l'authentification (fonctionne sans TLS mais pas avec)
application phpldapadmin en https / tls 1.3 certificat let'sencrypt créé avec gethttpsforfree (fonctionne / y compris l'authentification sur l'annuaire lorsque le TLS est activé).

J'ai également réussi à permettre à une machine comme CI/CD de s'authentifier à l'aide de l'annuaire ldap sans le TLS et avec le TLS ça ne fonctionne pas.

Quelqu'un aurait-il déjà essayé de faire ça ?

J'ai testé beaucoup d'options mais à chaque fois, il y a un composant qui ne fonctionne pas sous 20.04, une incohérence dans la doc ou simplement une suggestion qui ne fonctionne pas...

Merci

P.S. Ce que j'ai consulté :
https://launchpad.net/ubuntu/bionic/+so … ent-config
https://unix.stackexchange.com/question … in-apache2
https://serverfault.com/questions/77701 … h-openldap
https://serverfault.com/questions/10428 … -work-as-e
http://phpldapadmin.sourceforge.net/wik … server:tls
https://www.digitalocean.com/community/ … untu-16-04
https://www.digitalocean.com/community/ … u-20-04-fr
https://www.openldap.org/doc/admin24/slapdconf2.html
https://medium.com/@superseb/get-your-c … 117a9c0fce
https://connect.ed-diamond.com/Linux-Pr … e-OpenLDAP
https://wiki.csnu.org/index.php/Install … de_OpenSSL
https://www.server-world.info/en/note?o … enldap&f=4

Avant d'avoir recours à la neurochirurgie, je vous demande votre aide...

Hors ligne

#2 Le 05/07/2021, à 12:45

Vobul

Re : PKI Sous Ubuntu 20.04 pour créer un CI/CD devops

Salut,

Juste un petit commentaire : d'après ton schéma, ça te fait plusieurs services/machines à maintenenir, sécuriser, ce qui en plus de créer du taf, crée une plus grande surface d'attaque. Un exemple qui me vient en tête c'est PHP qui se fait hacker parce qu'ils hébergent eux-même leur git sur un truc complètement obsolète que personne ne maintenait (post mortem).

Si je pose la question c'est parce que GitHub et Gitlab proposent des actions/pipelines incroyablement complètes et faciles à mettre en place, et ça t'enlève une grosse part du boulot. Alors oui on peut dire que c'est mal github c'est microsoft c'est pas libre tout ce que tu veux, mais le fait est qu'ils sont à des années lumières de ce que tu pourrais avoir en "fait maison".

Donc mon conseil c'est plutôt que de te faire une usine à gaz qui sera l'enfer à maintenir, regarde du côté des liens que j'ai mis sur les mots GitHub et Gitlab si tu ne trouves pas ton bonheur wink


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 05/07/2021, à 14:17

Lolo2Paris

Re : PKI Sous Ubuntu 20.04 pour créer un CI/CD devops

Merci pour ton intervention... Je suis moi même sur git (j'ai commencé avant l'acquisition par Microsoft), sur Azure Devops et même sur AWS Code. Mais tu vois, en ce moment, on a besoin d'avoir un cloud souverain européen et ça se passe très mal...
https://www.lesechos.fr/2015/02/cloud-s … se-1105856
Je prépare également la certification ANSSI SecNumCloud et, bien que ça ne soit pas demandé, j'aurai l'ai bien con si on me demande c'est quoi une autorité de certification ou comment on signe un certificat.
Je travail que je fais, c'est ma façon à moi d’apprendre. Je pars de la base, des fondamentaux pour mieux comprendre les systèmes prémachés qu'on nous sert.
Il faut comprendre la démarche.
Au départ, on m'a challangé sur Ansible que tu dois certainement connaitre. La base de toute infrastructure est la sécurité, automatiser la création d'une infrastructure sans comprendre ces mécanismes et sans parvenir à les mettre en œuvre serait un non sens. Petit à petit je me suis apperçu que le PKI est la base de tout. Dans AWS tu en as besoin partout. Il y a même un générateur de paire de clés: https://docs.aws.amazon.com/fr_fr/AWSEC … pairs.html
Oui tu as raison, il existe des systèmes tout mâchés qui font ce dont tu parles.
Mon besoin n'est pas de trouver un truc tout fait, c'est de comprendre à quoi ça peut servir, comment ça fonctionne et parvenir à le faire fonctionner.
Ensuite, on verra pour l'automatisation de la maintenance...
Bien à toi

Hors ligne

#4 Le 05/07/2021, à 16:23

Vobul

Re : PKI Sous Ubuntu 20.04 pour créer un CI/CD devops

Ok je comprends ta démarche. Tu peux balancer du Terraform dans la soupe pour avoir de l'infrastructure as code aussi.

J'ai testé beaucoup d'options mais à chaque fois, il y a un composant qui ne fonctionne pas sous 20.04, une incohérence dans la doc ou simplement une suggestion qui ne fonctionne pas...

Ce n'est que mon point de vue, mais pour moi Ubuntu c'est surtout une distribution orientée Desktop pour les débutants, et dans ce rôle elle est très bien. Pour des services un peu plus orientés Entreprise, regarde plutôt CentOS (ou Rocky Linux désormais...). Non pas que Ubuntu server soit mauvais, mais bon c'est pas la même philosophie. Exemple sous Ubuntu tu installes un service, paf il est démarré direct avant que tu n'aies le temps de le config/secure. Et si tu parles un peu sécurité, des trucs comme SELinux c'est vraiment top (Ubuntu a AppArmor de son côté que je connais moins). Donc peut-être que les soucis que tu rencontres ne seront plus là sur une distrib' plus stable, orientée entreprise. Après je te conseille aussi d'utiliser Docker un peu partout (même si ça pose d'autres problèmes, au final ça simplifie grandement les choses).

Après ta demande est tellement vague que je ne pense pas que beaucoup d'utilisateurs de ce forum puissent t'aider. Ici on aide surtout sur des des problèmes spécifiques, souvent de débutants. Là t'es à un niveau "pro" (même si ton sujet a toute sa place ici !).

Pour finir, tu peux aussi installer gitlab en france sur tes serveurs et disposer de toutes les briques déjà en place. Ça te permettra de lancer des tests/deploiements lors d'événements git (commit/PR) assez facilement sans avoir 36 services à gérer.

Bon courage !


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#5 Le 05/07/2021, à 16:37

Nuliel

Re : PKI Sous Ubuntu 20.04 pour créer un CI/CD devops

Ce qui pourrait être utile pour des personnes pouvant répondre à ta question (ce qui est probablement pas mon cas) c'est des logs du serveur LDAP lorsqu'un client essaie de s'authentifier avec TLS sur le serveur LDAP (bien évidemment en retirant les trucs sensibles), il y a peut être des messages d'erreur qui pourraient expliquer le pb.

Dernière modification par Nuliel (Le 05/07/2021, à 16:40)

Hors ligne

#6 Le 05/07/2021, à 17:13

bruno

Re : PKI Sous Ubuntu 20.04 pour créer un CI/CD devops

+1 avec Nuliel
Pour espérer une réponse pertinente il faut exposer un problème à la fois, indiquer la configuration et donner les extraits de logs pertinents.
Le fait de monter une architecture aussi complexe va certainement faire fuir les éventuels aidants…

Hors ligne

#7 Le 13/07/2021, à 17:09

LeoMajor

Re : PKI Sous Ubuntu 20.04 pour créer un CI/CD devops

bonjour,

si le but est de comprendre comment le PKI fonctionne, tu as juste besoin de tinyca, apache2.

0/ créer une CA (Autorité de Certification X509v3) distingue réservé x509 clients, idéalement (pas obligatoire, mais conseillé) + certificats clients x509 v3 (pkcs12 ou p12) 
1/ Extraire les variables ssl dans le log d'apache, concernant le certificat client (cela aide pour l'étape 2)
2/ Faire un filtre sur apache2, qui capture uniquement les clients qui t'intéressent selon divers critères
3/ le site internet fonctionne en https
4/ Créer une zone du site internet accessible uniquement pour toto par x509 v3 client, une autre pour tata par x509 v3 client, par exemple.

5/ L 'utilisateur mettra son certificat client x509 v3 pkcs12 ou p12, au format simple fichier plat, dans son navigateur favori. Faire les tests.

6/ Tu peux compliquer, côté utilisateur en mettant le certificat client, dans usb token pki genre Gemalto ou équivalent carte à puce/smartcard pki Gemalto.

7/ Ensuite, tu fais la même chose par exemple, avec postfix, et thunderbird. La requête se fait sur fait une connection sécurisée tls-ssl. Et le client est authentifié par son certif client, sur postfix. Le p12 peut servir aussi, à signer et à sur-chiffrer le message s-mime (comme le pgp-gpg). Cette étape est effectuée par le MUA, "user-agent", pas postfix le MTA.  Avec Dovecot, j'ai essayé, sans vraiment insister. Il faut dire que c'est déjà assez compliqué comme ça.

Hors ligne