---
|
|
- name: 'install openssl'
|
|
apt:
|
|
pkg: 'openssl'
|
|
state: 'present'
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
tags:
|
|
- 'packages'
|
|
|
|
- name: 'update tls server ca'
|
|
copy:
|
|
content: '{{ ldap_tls_server_ca }}{{ tls_root_ca }}'
|
|
dest: '/etc/ldap/server_ca.crt'
|
|
tags:
|
|
- 'tls_int'
|
|
|
|
- name: 'update tls user ca'
|
|
copy:
|
|
content: '{{ ldap_tls_user_ca }}{{ tls_root_ca }}'
|
|
dest: '/etc/ldap/user_ca.crt'
|
|
tags:
|
|
- 'tls_int'
|
|
|
|
- name: 'generete and sign slapd tls certificate'
|
|
import_role: name='ca_cert'
|
|
vars:
|
|
ca_cert_common_name: '{{ host_fqdn }}'
|
|
ca_cert_proto: 'tls'
|
|
ca_cert_tls_ca_path: '/etc/ldap/server_ca.crt'
|
|
ca_cert_tls_key_path: '/etc/ldap/slapd.key'
|
|
ca_cert_tls_cert_path: '/etc/ldap/slapd.crt'
|
|
ca_cert_tls_csr_path: '/etc/ldap/slapd.csr'
|
|
tags:
|
|
- 'tls_int'
|
|
|
|
- name: 'set private key ownership'
|
|
file:
|
|
path: '/etc/ldap/slapd.key'
|
|
owner: 'openldap'
|
|
group: 'openldap'
|
|
mode: '600'
|
|
|
|
|
|
## BROKEN! WAITING FOR ANSIBLE 2.10 ldap_attrs
|
|
## Currently you have to run 2-3 times to get proper configuration.
|
|
- name: 'configuring TLS options'
|
|
## Remove after update to Ansible 2.10 --->
|
|
ldap_attr:
|
|
dn: 'cn=config'
|
|
name: '{{ item.name }}'
|
|
values: '{{ item.value }}'
|
|
state: 'exact'
|
|
loop:
|
|
- { name: 'olcTLSCACertificateFile', value: '/etc/ldap/user_ca.crt' }
|
|
- { name: 'olcTLSCertificateFile', value: '/etc/ldap/slapd.crt' }
|
|
- { name: 'olcTLSCertificateKeyFile', value: '/etc/ldap/slapd.key' }
|
|
- { name: 'olcTLSVerifyClient', value: 'try' } # TLS Client Auth
|
|
- { name: 'olcTLSCipherSuite', value: 'SECURE:-VERS-ALL:+VERS-TLS1.3' } # TLSv1.3 Only
|
|
## <---
|
|
## Uncomment after update to Ansible 2.10 --->
|
|
# ldap_attrs:
|
|
# dn: 'cn=config'
|
|
# attributes:
|
|
# olcTLSCACertificateFile: '/etc/ldap/user_ca.crt'
|
|
# olcTLSCertificateFile: '/etc/ldap/slapd.crt'
|
|
# olcTLSCertificateKeyFile: '/etc/ldap/slapd.key'
|
|
# olcTLSVerifyClient: 'try'
|
|
# olcTLSCipherSuite: 'SECURE:-VERS-ALL:+VERS-TLS1.3'
|
|
## <---
|
|
tags:
|
|
- 'tls_int'
|
|
|
|
- name: 'configuring slapd service'
|
|
lineinfile:
|
|
line: 'SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"'
|
|
regexp: '^SLAPD_SERVICES='
|
|
path: '/etc/default/slapd'
|
|
notify: 'restart slapd'
|
|
tags:
|
|
- 'tls_int'
|
|
...
|