From: | Jairo Graterón <jgrateron(at)gmail(dot)com> |
---|---|
To: | "Guillermo E(dot) Villanueva" <guillermovil(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:29:37 |
Message-ID: | CALnU-rM=FK-kHkaDghdV56BBdfKCZOhR3OgxSA+84v-bhAh3=g@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Excelente.
El mié, 12 mar 2025 a las 11:27, Guillermo E. Villanueva (<
guillermovil(at)gmail(dot)com>) escribió:
> 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 | Jaime Casanova | 2025-04-18 03:56:04 | Re: Posible fuga de memoria |
Previous Message | Guillermo E. Villanueva | 2025-03-12 15:27:28 | Re: Autenticación TSL |