gametize.install-root-cert
Rôle Ansible : Installer le Certificat CA Racine
Ce rôle Ansible installera le Certificat CA Racine sur les hôtes cibles. Un accès privilégié est nécessaire pour fonctionner.
Expliquer comme à un enfant :
- Je crée un certificat pour un appareil (par exemple, www.example.com). Mon serveur web l'utilise pour SSL.
- D'autres machines qui essaient d'accéder à mon serveur web seront tristes car le certificat SSL est auto-signé et n'est pas encore digne de confiance. Dommage :(
Alors, à quoi sert ce rôle Ansible ?
- Je peux créer une clé privée pour mon organisation et un certificat CA (Autorité de Certification) auto-signé à partir de cette clé.
- Avec ce rôle Ansible, je peux installer ce certificat CA sur les machines clientes.
- Je crée un certificat pour un appareil (par exemple, www.example.com) signé avec mon certificat CA (et sa clé privée), et je l'utilise pour mon serveur web.
- Lorsque mes machines clientes visitent mon serveur web (www.example.com), le certificat SSL devrait être valide. Super !
- Si la clé privée créée est mal utilisée, des choses fâcheuses pourraient arriver (par exemple, usurpation de
google.com
). Donc gardez la clé privée de l'organisation en sécurité !
Ce playbook peut être utilisé sur les plateformes suivantes :
- CentOS 6, 7
- Ubuntu 14.04, 16.04
- Mac OS 10.12 (non idempotent, et pas bien testé)
Dépendances
Ce rôle nécessite le certificat CA racine.
Variables
install_root_cert_pem
Le chemin complet du certificat CA racine (.pem
) sur la machine locale
Utilisation
Exemple de playbook :
---
- hosts: all
become: yes
vars:
install_root_cert_pem: files/root_ca.pem
roles:
- gametize.install-root-cert
Tests
Les tests Travis (.travis.yml
) sont configurés selon cet article de geerlingguy.
Les tests Gitlab CI sont configurés de manière similaire et peuvent être exécutés avec gitlab-runner. Exemple d'exécution en local :
gitlab-ci-multi-runner exec shell test_centos7
Artefacts utilisés dans les tests
Les clés et certificats peuvent être générés via les commandes suivantes. NE PAS utiliser ces réglages pour la production !
$ ### Générer la clé et le certificat pour la CA racine
$ openssl genrsa -out root_ca.key 1024
$ openssl req -x509 \
-subj '/C=SG/ST=Singapore/L=Singapore/O=Example Inc/OU=Example Inc Certificate Authority/CN=example.com' \
-new -nodes -key root_ca.key -sha256 -days 1024 \
-out root_ca.pem
$ ### Générer la clé et le certificat pour l'appareil
$ openssl genrsa -out localhost.key 1024 # générer la clé pour l'appareil `localhost.key`
$ openssl req -new \
-subj '/C=SG/ST=Singapore/L=Singapore/O=Example Inc/OU=Example Inc Testing Department/CN=localhost' \
-new -nodes -key localhost.key -sha256 -days 1024 \
-out localhost.csr
$ ### Signer le certificat de l'appareil avec le certificat et la clé CA racine
$ openssl x509 -req \
-in localhost.csr -CA root_ca.pem -CAkey root_ca.key \
-CAcreateserial -out localhost.crt -days 1024 -sha256
$ cat localhost.crt localhost.key > localhost.pem
Licence
MIT
Informations sur l'Auteur
LIM EnSheng (ensheng@gametize.com)
Installer
ansible-galaxy install gametize.install-root-cert
Licence
Unknown
Téléchargements
15.7k
Propriétaire