From: | "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com> |
---|---|
To: | Jairo Graterón <jgrateron(at)gmail(dot)com> |
Cc: | Juan <smalltalker(dot)marcelo(at)gmail(dot)com>, Enrique Herrera Noya <enrique(dot)herreranoya(at)gmail(dot)com>, pgsql-es-ayuda(at)lists(dot)postgresql(dot)org |
Subject: | Re: Autenticación TSL |
Date: | 2025-03-12 15:27:28 |
Message-ID: | CANm+PCCNoHquc6v5hgrvrr3uAJAbogwGXY0EFtCpRveUiOSVbA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jairo gracias a tu bendito ca.pem pude resolver el problema y ya puedo
conectar un psql a postgres con certificados.
Muchas gracias a todos por los aportes
El mar, 11 mar 2025 a las 14:31, Jairo Graterón (<jgrateron(at)gmail(dot)com>)
escribió:
> Hice la prueba con un certificado Lets encrypt y funciona correctamente.
>
> [image: image.png]
>
> También adjunto el archivo ca.pem que contiene los dos certificados CA de
> Lets Encrypt, que se usarán tanto en el servidor como en el cliente.
>
> Observa que en la segunda conexión no usé el certificado cliente (el mismo
> del servidor) porque psql lo omite porque especificaste el modo verify-ca
>
> Hay otros modos como verify-full, y también es posible autenticar sin
> password (usando sólo el certificado) pero eso
> requiere otras configuraciones.
>
> Muchas cosas aprendí de esta presentación
>
> https://momjian.us/main/writings/pgsql/securing.pdf
>
> Saludos.
>
> El mar, 11 mar 2025 a las 9:44, Guillermo E. Villanueva (<
> guillermovil(at)gmail(dot)com>) escribió:
>
>> Gracias por tu aporte Jairo!
>> Hay algo que no entiendo, a los certificados de clientes los genero con
>> ca.crt (custom CA para mi server), en el postgresql.conf tengo ssl_ca_file
>> = /var/lib/postgres/13/ssl/ca.crt.
>> Entonces para que necesitaría hacer el paso que me decis?
>>
>> Si ejecuto:
>> openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt chain.pem
>>
>> Me da:
>> chain.pem: OK
>>
>>
>> El lun, 10 mar 2025 a las 15:37, Jairo Graterón (<jgrateron(at)gmail(dot)com>)
>> escribió:
>>
>>> Puede ser un error en la cadena de confianza.
>>>
>>> El certificado de Let's Encrypt depende de otra CA,
>>>
>>> [image: image.png]
>>>
>>> Se deben agregar los dos certificados en formato PEM en el archivo CA de
>>> postgresql.
>>>
>>> 1. CN=R10
>>> 2. CN=ISRG Root X1
>>>
>>> El lun, 10 mar 2025 a las 14:19, Guillermo E. Villanueva (<
>>> guillermovil(at)gmail(dot)com>) escribió:
>>>
>>>> Gracias Juan. Probé eso y el problema persiste
>>>> Mi pregunta apunta mas a ver si hay alguien que lo haya podido hacer
>>>> funcionar con Let´s encrypt, ya que si me funcionó con certificados
>>>> autofirmados en ambos lados.
>>>>
>>>>
>>>> El lun, 10 mar 2025 a las 15:00, Juan (<smalltalker(dot)marcelo(at)gmail(dot)com>)
>>>> escribió:
>>>>
>>>>> existe un comando update-ca-certificates cambia en cada distro....
>>>>> salu2
>>>>>
>>>>> On Mon, Mar 10, 2025 at 2:00 PM Guillermo E. Villanueva <
>>>>> guillermovil(at)gmail(dot)com> wrote:
>>>>>
>>>>>> Enrique, gracias por tu respuesta
>>>>>> en las pruebas que realicé, en el server a la ca la agrego en
>>>>>> postgresl.conf con el parámetro ssl_ca_file = '/..../ca.crt' eso no
>>>>>> es suficiente? acaso mi comando para generarla:
>>>>>> openssl req -new -x509 -days 365 -nodes -out ca.crt -keyout ca.key
>>>>>> -subj "/CN=root-ca"
>>>>>> no la agrega automáticamente en las ca conocidas?
>>>>>> Te referis del lado del cliente?
>>>>>>
>>>>>> El lun, 10 mar 2025 a las 13:44, Enrique Herrera Noya (<
>>>>>> enrique(dot)herreranoya(at)gmail(dot)com>) escribió:
>>>>>>
>>>>>>> lo dice el log:
>>>>>>> 2025-03-10 15:29:18.093 CET [893999] [unknown](at)[unknown] LOG: could
>>>>>>> not accept SSL connection: tlsv1 alert unknown ca
>>>>>>>
>>>>>>> debes agregar el CA como CA conocido
>>>>>>>
>>>>>>> saludos
>>>>>>>
>>>>>>>
>>>>>>> El 10-03-25 a las 13:36, Guillermo E. Villanueva escribió:
>>>>>>>
>>>>>>> Buenas tardes! En los últimos días estuve trabajando en el proyecto
>>>>>>> de hacer funcionar postgres 13, con autenticación por certificados ssl,
>>>>>>> usando openssl y certificados firmados por una propia CA funcionó
>>>>>>> correctamente, pero cuando intento hacerlo con certificados Let's Encrypt
>>>>>>> para el servidor, no funciona.
>>>>>>>
>>>>>>> Desde el cliente con credenciales de lets encrypt
>>>>>>> psql "host=host.dominio.com dbname=postgres user=postgres
>>>>>>> sslmode=verify-ca sslcert=./fullchain.pem sslkey=./privkey.pem
>>>>>>> sslrootcert=./chain.pem"
>>>>>>> Error:
>>>>>>> psql: error: connection to server at " host.dominio.com" (ip), port
>>>>>>> 5432 failed: SSL error: certificate verify failed
>>>>>>>
>>>>>>> Y en el log de postgres:
>>>>>>> 2025-03-10 15:29:18.080 CET [893999] [unknown](at)[unknown] LOG:
>>>>>>> connection received: host=ip_del_cliente port=55848
>>>>>>> 2025-03-10 15:29:18.093 CET [893999] [unknown](at)[unknown] LOG: could
>>>>>>> not accept SSL connection: tlsv1 alert unknown ca
>>>>>>>
>>>>>>> Tambien lo probé con certificados autofirmados para el cliente
>>>>>>> adaptando postgresql.conf y pg_hba.conf, pero no hay caso, no logro hacerlo
>>>>>>> funcionar.
>>>>>>>
>>>>>>> Alguno de por acá pudo hacer funcionar autenticación con Let's
>>>>>>> Encrypt?
>>>>>>>
>>>>>>> Desde ya muchas gracias por leer y por los comentarios que tengan.
>>>>>>>
>>>>>>> Saludos
>>>>>>>
>>>>>>>
>>>>>>> Enrique Herrera Noya
>>>>>>> --
>>>>>>> +56 992303151
>>>>>>> Red Hat Certified Engineer RHCE Nº100223072 (RH6.0)
>>>>>>> Red Hat Certified System Administrato RHCSA Nº100223072 (RH6.0)
>>>>>>> Red Hat Certified Technician (RHCT) Nº605010753835478 (RH5.0)
>>>>>>> Novell Certified Linux Professional CLP 10
>>>>>>> Red Hat Delivery Specialist -Container Platform Application Deployment I
>>>>>>> Red Hat Delivery Specialist - Container Platform Administration I
>>>>>>> RED HAT SPECIALIST
>>>>>>> How to Sell Red Hat OpenShift for Infrastructure
>>>>>>> How to Sell Red Hat OpenShift for Developers
>>>>>>> Red Hat Sales Engineer Specialist - Container Platform
>>>>>>> Red Hat Sales Engineer Specialist – Automation
>>>>>>>
>>>>>>>
From | Date | Subject | |
---|---|---|---|
Next Message | Jairo Graterón | 2025-03-12 15:29:37 | Re: Autenticación TSL |
Previous Message | Guillermo E. Villanueva | 2025-03-11 18:36:08 | Re: Autenticación TSL |