Estaciones de trabajo en línea OnWorks Linux y Windows

Logotipo

Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

1.9. Replicación y TLS


Si ha configurado la replicación entre servidores, es una práctica común cifrar (StartTLS) el tráfico de replicación para evitar evesdropping. Esto es distinto de usar cifrado con autenticación como hicimos anteriormente. En esta sección, nos basaremos en ese trabajo de autenticación TLS.


El supuesto aquí es que ha configurado la replicación entre el Proveedor y el Consumidor de acuerdo con la Sección 1.6, “Replicación” [p. 123] y ha configurado TLS para la autenticación en el Proveedor siguiendo la Sección 1.8, “TLS” [p. 129].


Como se indicó anteriormente, el objetivo (para nosotros) con la replicación es una alta disponibilidad para el servicio LDAP. Dado que tenemos TLS para la autenticación en el Proveedor, exigiremos lo mismo en el Consumidor. Sin embargo, además de esto, queremos cifrar el tráfico de replicación. Lo que queda por hacer es crear una clave y un certificado para el consumidor y luego configurarlos en consecuencia. Generaremos la clave / certificado en el Proveedor, para evitar tener que crear otro certificado CA, y luego transferiremos el material necesario al Consumidor.

1. En el proveedor,


Cree un directorio de retención (que se utilizará para la eventual transferencia) y luego la clave privada del consumidor:


mkdir ldap02-ssl cd ldap02-ssl

sudo certtool --generar clave privada \

- bits 1024 \

--archivo de salida ldap02_slapd_key.pem


Crea un archivo de información, ldap02.info, para el servidor del consumidor, ajustando sus valores en consecuencia:


organización = Empresa de ejemplo cn = ldap02.example.com



tls_www_server clave de cifrado clave_de_firmación expiration_days = 3650


Cree el certificado del consumidor:


sudo certtool --generar certificado \

--load-privkey ldap02_slapd_key.pem \

--load-ca-certificado /etc/ssl/certs/cacert.pem \

--load-ca-privkey /etc/ssl/private/cakey.pem \

--plantilla ldap02.info \

--archivo de salida ldap02_slapd_cert.pem


Obtenga una copia del certificado de CA:


cp /etc/ssl/certs/cacert.pem.


Hemos terminado. Ahora transfiera el ldap02-ssl directorio al consumidor. Aquí usamos scp (ajuste en consecuencia):


discos compactos ..

scp -r ldap02-ssl usuario @ consumidor:


2. Sobre el consumidor,


Configure la autenticación TLS:


sudo apto instalar certificado ssl

sudo gpasswd -un certificado ssl openldap

sudo cp ldap02_slapd_cert.pem cacert.pem / etc / ssl / certs sudo cp ldap02_slapd_key.pem / etc / ssl / private

sudo chgrp openldap /etc/ssl/private/ldap02_slapd_key.pem sudo chmod 0640 /etc/ssl/private/ldap02_slapd_key.pem sudo systemctl reiniciar slapd.service


Crea el archivo /etc/ssl/certinfo.ldif con el siguiente contenido (ajustar en consecuencia):


dn: cn = config

agregar: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem

-

añadir: olcTLSCertificateFile

Archivo de certificado olcTLSC: /etc/ssl/certs/ldap02_slapd_cert.pem

-

añadir: olcTLSCertificateKeyFile

olcTLSCertificateKeyFile: /etc/ssl/private/ldap02_slapd_key.pem


Configure la base de datos slapd-config:



sudo ldapmodify -Y EXTERNAL -H ldapi: /// -f certinfo.ldif


Configurar / etc / default / slapd como en el Proveedor (SLAPD_SERVICES).

3. Sobre el consumidor,


Configure TLS para la replicación del lado del consumidor. Modificar lo existente olcSyncrepl atributo agregando algunas opciones de TLS. Al hacerlo, veremos, por primera vez, cómo cambiar los valores de un atributo.


Crea el archivo consumidor_sync_tls.ldif con los siguientes contenidos:


dn: olcDatabase = {1} mdb, cn = config reemplazar: olcSyncRepl

olcSyncRepl: rid = 0 provider = ldap: //ldap01.example.com bindmethod = simple binddn = "cn = admin, dc = example, dc = com" credentials = secret searchbase = "dc = example, dc = com" logbase = "cn = accesslog" logfilter = "(& (objectClass = auditWriteObject) (reqResult = 0))" schemachecking = on type = refreshAndPersist retry = "60 +" syncdata = accesslog starttls = critico tls_reqcert = demand


Las opciones adicionales especifican, respectivamente, que el consumidor debe utilizar StartTLS y que se requiere el certificado CA para verificar la identidad del Proveedor. También tenga en cuenta la sintaxis LDIF para cambiar los valores de un atributo ('reemplazar').


Implemente estos cambios:


sudo ldapmodify -Y EXTERNAL -H ldapi: /// -f consumer_sync_tls.ldif


Y reinicia slapd:


sudo systemctl reiniciar slapd.service


4. En el proveedor,


Verifique que se haya establecido una sesión TLS. En / var / log / syslog, siempre que tenga configurado el registro de nivel 'conns', debería ver mensajes similares a:


slapd [3620]: conn = 1047 fd = 20 ACEPTAR de IP = 10.153.107.229: 57922 (IP = 0.0.0.0: 389) slapd [3620]: conn = 1047 op = 0 EXT oid = 1.3.6.1.4.1.1466.20037

slapd [3620]: conn = 1047 op = 0 STARTTLS

slapd [3620]: conn = 1047 op = 0 RESULTADO oid = err = 0 texto =

slapd [3620]: conn = 1047 fd = 20 TLS establecido tls_ssf = 128 ssf = 128 slapd [3620]: conn = 1047 op = 1 BIND dn = "cn = admin, dc = example, dc = com" method = 128

slapd [3620]: conn = 1047 op = 1 BIND dn = "cn = admin, dc = example, dc = com" mech = SIMPLE ssf = 0 slapd [3620]: conn = 1047 op = 1 etiqueta RESULT = 97 err = 0 texto


Top OS Cloud Computing en OnWorks: