Ansible에서 서버 인증서 정보 보고서를 작성해 보았습니다.

7171 단어 Ansiblecertificate
Ansible로 서버 증명서의 정보를 취득해 리포트화할 수 있으면 편리할까라고 생각해 보았습니다.

Ansible Server Certificate Report Generator



htps : // 기주 b. 코 m / 스카이 죠케 r / 안시 b ぇ - r r

환경




품목
버전


CentOS
7.6


사용법



클론



리포지토리를 복제합니다.
[root@b3b24c5352f8 ~]# git clone https://github.com/sky-joker/ansible-server-certificate-report-generator.git

설치



ansible 및 필요한 python 모듈을 설치합니다.
[root@b3b24c5352f8 ~]# cd ansible-server-certificate-report-generator/
[root@b3b24c5352f8 ansible-server-certificate-report-generator]# pip install -r requirements.txt

Playbook 만들기



Playbook을 만듭니다.
[root@b3b24c5352f8 ansible-server-certificate-report-generator]# vi main.yml

서버 인증서 정보를 검색하려는 서버의 FQDN 또는 IP 주소를 servers 변수에 추가합니다.
---
- name: Generate of server certificate report
  hosts: localhost
  gather_facts: no
  vars:
    servers:
      - www.example.com
      - www.yahoo.co.jp
      - github.com
  tasks:
    - name: Get certificate information from server.
      server_certificate_info:
        server: "{{ item }}"
      loop: "{{ servers }}"
      register: certificate_result

    - name: Generate report.
      template:
        src: templates/server_certificate_report.j2
        dest: server_certificate_report.html

프록시를 사용하는 경우 다음과 같이 옵션을 추가합니다.
---
- name: Generate of server certificate report
  hosts: localhost
  gather_facts: no
  vars:
    servers:
      - www.example.com
      - www.yahoo.co.jp
      - github.com
  tasks:
    - name: Get certificate information from server.
      server_certificate_info:
        server: "{{ item }}"
        proxy_host: 192.168.1.1
        proxy_port: 3128 # defaultは 8080
      loop: "{{ servers }}"
      register: certificate_result

    - name: Generate report.
      template:
        src: templates/server_certificate_report.j2
        dest: server_certificate_report.html

Playbook 실행



Playbook을 실행합니다.
[root@b3b24c5352f8 ansible-server-certificate-report-generator]# ansible-playbook main.yml
 [WARNING]: No inventory was parsed, only implicit localhost is available

 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'


PLAY [Generate of server certificate report] *******************************************************************************************************************************

TASK [Get certificate information from server.] ****************************************************************************************************************************
ok: [localhost] => (item=www.example.com)
ok: [localhost] => (item=www.yahoo.co.jp)
ok: [localhost] => (item=github.com)

TASK [Generate report.] ****************************************************************************************************************************************************
changed: [localhost]

PLAY RECAP *****************************************************************************************************************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

보고서 확인



문제없이 실행이 완료되면 Playbook을 실행 한 디렉토리에 server_certificate_report.html가 작성되었으므로 브라우저에서 열립니다.



이런 식으로 보고서를 만들 수 있습니다 :)
다른 사용법으로서는, 증명서의 갱신을 자동화한 후에 제대로 갱신되고 있는지 확인하는 테스트로서도 사용할 수 있을 것 같네요!

모두 행복한 자동화!

좋은 웹페이지 즐겨찾기