gametize.install-root-cert

Rôle Ansible : Installer le Certificat CA Racine

Statut de Build

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)

À propos du projet

This role will install the Root CA Certificate on the target hosts

Installer
ansible-galaxy install gametize.install-root-cert
Licence
Unknown
Téléchargements
15.7k
Propriétaire