libre_ops.ca_keys

証明書機関のキー

これは、プライベートCAキーと署名済み証明書を生成するためのAnsibleロールです。これらは、データの暗号化とノード間の認証が必要なサーバー/クライアントアプリケーションを保護するために使用できます。

適切に構成された場合、プライベートCAによって署名されたキーは中間者攻撃(MITM)を防ぐことができ、双方向認証に使用できます。例として、KafkaまたはElastic Stackクラスター内のノード間の接続を保護することが考えられます。

ロールはおおよそ以下の手順に従います:

  • CA(証明書機関)キー ペアを生成します
  • 指定されたノードのためにキーとCSR(証明書署名リクエスト)を生成します
  • CAを使用してCSRに署名し、署名済み証明書(CRT)を作成します
  • 必要に応じて、必要なキーをJava キーストア/トラストストアのバイナリにパッケージ化します

デフォルト

すべてのデフォルト設定はこちらで確認でき、必要に応じて上書きできます。

使用方法

推奨される使用法:ローカルプレイブックでロールを実行した後、生成されたファイルを安全な場所に移動します。キーを放置しないでください。このコードはそのまま提供されていますので、どのように使用し、結果として得られたキーをどのように保存するかはあなたの責任です!

このロールは、既存のCA証明書がある場合、新しいキーとCRTを作成するためにも使用できます。

作成後、必要なファイルを使用しているプロジェクトに移動してください。また、Ansible Vaultを使用してファイル(jksバイナリを含む)を暗号化でき、copyのようなAnsibleモジュールは、ボールトパスワードを提供されることでアップロード時にそれらを復号化します。

キーの確認

さまざまなopensslコマンドを使用してキーを確認することができます(必ず確認してください)。以下はその例です:

openssl x509 -in generated_keys/ca.crt -text -noout
openssl rsa -in generated_keys/<キー名>.key -check
openssl x509 -in generated_keys/<キー名>.crt -text -noout

Pythonの制限

Ansibleのバグ(現在develブランチにマージ済み)により、Javaキーストアを作成するタスクを実行する際にはPython 2.7を使用する必要があります。詳細はこちらの問題を参照してください。

例のプレイブック

- name: キーを生成する
  hosts: 127.0.0.1
  connection: local
  
  vars:
    ansible_python_interpreter: '/usr/bin/python2.7'

  roles:
    - role: libre_ops.ca_keys
      vars:
        cert_organisation: 例株式会社
        cert_unit: キーズ部門
        cert_country: FR
        cert_state: パリ
        cert_location: パリ
        
        create_keys:
          - filename: server
            subject:
              - "/CN=app.client.org"
              - "/O={{ cert_organisation }}"
              - "/OU={{ cert_unit }}"
              - "/C={{ cert_country }}"
              - "/ST={{ cert_state }}"
              - "/L={{ cert_location }}"
              
          - filename: client
            subject:
              - "/CN=app.server.org"
              - "/O={{ cert_organisation }}"
              - "/OU={{ cert_unit }}"
              - "/C={{ cert_country }}"
              - "/ST={{ cert_state }}"
              - "/L={{ cert_location }}"    
プロジェクトについて

Generate private CA keys and signed certificates

インストール
ansible-galaxy install libre_ops.ca_keys
ライセンス
gpl-3.0
ダウンロード
142
所有者
Ansible roles for syadmin proles.