Utilice certificados LetsEncrypt con Neo4j

8

¿Cómo se pueden usar los archivos de certificado generados por LetsEncrypt junto con una instancia de Neo4j? Los archivos generados por LetsEncrypt son:

  • cert.pem
  • cadena.pem
  • fullchain.pem
  • privkey.pem

He intentado la conversión a través de OpenSSL sin suerte hasta ahora, usando la conversión de PEM a DER. Neo4j se queja de no encontrar los certificados al inicio. La pregunta es cómo convertir los certificados LetsEncrypt en algo que Neo4j pueda usar.

Detalles de configuración:

  • Los certificados se colocan /var/lib/neo4j/certificates/con nombres neo4j.{cert,key}, permisos 600, propiedad de neo4j:nogroup. Todo esto parece estar de acuerdo con los documentos .
  • En la configuración tengo esta línea para especificar la ruta del certificado: dbms.directories.certificates=/var/lib/neo4j/certificates
  • En la configuración también tengo acceso remoto a través de HTTPS habilitado: dbms.connector.https.address=0.0.0.0:7473

Al reiniciar Neo4j, aparece el siguiente mensaje de error:

WARN  Illegal character 0x16 in state=START for buffer HeapByteBuffer@5a260174[p=1,l=193,c=8192,r=192]={\x16<<< SEVERAL_LINES_OF_HEX_JIBBERISH_HERE }
WARN  badMessage: 400 Illegal character 0x16 for HttpChannelOverHttp@5d682358{r=0,c=false,a=IDLE,uri=-}
Michael Johansen
fuente
Al menos debe proporcionar los errores que está recibiendo ...
gf_
Buen punto. Mensaje de error y aclaraciones ahora se agregan.
Michael Johansen
Tenga en cuenta que, según la documentación, solo necesita convertir la clave. Para cert solo use fullchain.pem
Hardy Rust
El uso de la cadena completa para el certificado hizo el truco. ¡Gracias!
Michael Johansen

Respuestas:

10

Pude usar el certificado permite cifrar en neo4j mediante el siguiente proceso:

  • Usé el cliente letsencrypt / acme implementado como método de script de shell para hacer el certificado de mi dominio.
  • Se generan tres archivos ejecutando el script para obtener el certificado fullchain.pem cert.pem privkey.pem
  • Cópielos en el directorio de certificados de neo4j

    mv /path_to_lets_encrypt_certs_dir/fullchain.pem /var/lib/neo4j/certificates/neo4j.cert

    mv /path_to_lets_encrypt_certs_dir/privkey.pem /var/lib/neo4j/certificates/neo4j.key

  • Reiniciar neo4j

anirudh@prok:~# /var/lib/neo4j/bin/neo4j restart
Stopping Neo4j.. stopped
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended.  See the Neo4j manual.
Started neo4j (pid 17608). By default, it is available at  https://your-domain:7473/
There may be a short delay until the server is ready.
See /var/lib/neo4j/logs/neo4j.log for current status.

Esto debería funcionar para ti. ¡Espero que esto ayude!

Anirudh Malhotra
fuente