IKEv2 Server + Certificado Let's Encrypt

Hola,

Estoy intentando crear una conexión IKEv2-IPSec tipo "road warrior" como respaldo a la ya existente con WireGuard.

En principio la he generado con Certificados autofirmados en System->Certificates y funciona correctamente (probado con la App StrongSwan en un dispositivo Android), pero he visto que en RouterOS 7.x tenemos la posibilidad de generar directamente un certificado gratuito de Let's Encrypt mediante el comando:

Código:
/certificate
enable-ssl-certificate

Este certificado se crea sobre el mismo DNS de Mikrotik (xxxxxxxxxxxx.sn.mynetname.net) y tiene la ventaja que se renueva automáticamente cada 3 meses, mucho más seguro que el "auto-firmado" de Mikrotik y generado por una entidad de confianza.

Una vez que ya lo tengo creado en el almacén de Certificados, me voy a la configuración IP->IPSec y creo una nueva Identity seleccionando el nuevo Certificado Let's Encrypt y como Remote Certificate he seleccionado "none".

1651251593087.png


El problema es que no se como configurar la parte del cliente, en mi caso la App StrongSwan ya que entiendo que aquí no debería tener ningún certificado instalado (¿o si?), ya que Let's Encrypt sólo se crea para la parte Servidor con los protocolos HTTP y HTTPS.

1651252415360.jpg


¿Alguien lo tiene instalado o lo ha probado? Sería una interesante forma de trabajar sólo con un certificado de este tipo.

S@lu2.
 
Hola,

Estoy intentando crear una conexión IKEv2-IPSec tipo "road warrior" como respaldo a la ya existente con WireGuard.

En principio la he generado con Certificados autofirmados en System->Certificates y funciona correctamente (probado con la App StrongSwan en un dispositivo Android), pero he visto que en RouterOS 7.x tenemos la posibilidad de generar directamente un certificado gratuito de Let's Encrypt mediante el comando:

Código:
/certificate
enable-ssl-certificate

Este certificado se crea sobre el mismo DNS de Mikrotik (xxxxxxxxxxxx.sn.mynetname.net) y tiene la ventaja que se renueva automáticamente cada 3 meses, mucho más seguro que el "auto-firmado" de Mikrotik y generado por una entidad de confianza.

Una vez que ya lo tengo creado en el almacén de Certificados, me voy a la configuración IP->IPSec y creo una nueva Identity seleccionando el nuevo Certificado Let's Encrypt y como Remote Certificate he seleccionado "none".

Ver el adjunto 94650

El problema es que no se como configurar la parte del cliente, en mi caso la App StrongSwan ya que entiendo que aquí no debería tener ningún certificado instalado (¿o si?), ya que Let's Encrypt sólo se crea para la parte Servidor con los protocolos HTTP y HTTPS.

Ver el adjunto 94653

¿Alguien lo tiene instalado o lo ha probado? Sería una interesante forma de trabajar sólo con un certificado de este tipo.

S@lu2.
Buenos días

Por curiosidad que app usas para las VPN en android? Gracias
 
Hola @diamuxin. Lo que planteas tiene un pequeño inconveniente, ¿quién renueva los certificados de cliente?

Las CAs, o entidades certificadoras, son "terceros" en los que confiamos para que firmen (o emitan y firmen) certficados SSL. Sería como el árbitro. Tú y yo nos tenemos que comunicar y no nos fiamos ninguno del otro, así que llamamos a un tercero que verifique nuestra identidad, y nos de un mecanismo para que, sin conocernos entre nosotros, establezcamos un canal seguro de comunicación.

Let's encrypt es esa CA que nos hace de árbitro, que no sólo verifica certificados y firma certificados, sino que además los emite. Con el proceso que describes, tienes la parte del servidor cubierta, pero ¿y el cliente? ¿vas a montar un proceso similar en el teléfono para generar un certificado y pedirle a let's encrypt que te lo firme? No lo veo.

En la comunicación que planteas, que es privada, origen y destino se conocen y nacen del mismo sitio, del router. Ahí puedes trabajar perfectamente con certificados autofirmados, que son exactamente iguales de seguros que los de let's encript, solo que no hay un "arbitro" que los de por buenos, sino que ese árbitro eres tú mismo.

¿Se puede hacer? Por supuesto, tan "fácil" como generar un certificado cliente y que te lo firme let's encrypt. Pero creo que no te merece la pena ni intentarlo, puesto que lo tedioso va a ser mantenerlo actualizado, porque dichos certificados caducan a los 90 días.

Saludos!
 
Hola @diamuxin. Lo que planteas tiene un pequeño inconveniente, ¿quién renueva los certificados de cliente?

Las CAs, o entidades certificadoras, son "terceros" en los que confiamos para que firmen (o emitan y firmen) certficados SSL. Sería como el árbitro. Tú y yo nos tenemos que comunicar y no nos fiamos ninguno del otro, así que llamamos a un tercero que verifique nuestra identidad, y nos de un mecanismo para que, sin conocernos entre nosotros, establezcamos un canal seguro de comunicación.

Let's encrypt es esa CA que nos hace de árbitro, que no sólo verifica certificados y firma certificados, sino que además los emite. Con el proceso que describes, tienes la parte del servidor cubierta, pero ¿y el cliente? ¿vas a montar un proceso similar en el teléfono para generar un certificado y pedirle a let's encrypt que te lo firme? No lo veo.

En la comunicación que planteas, que es privada, origen y destino se conocen y nacen del mismo sitio, del router. Ahí puedes trabajar perfectamente con certificados autofirmados, que son exactamente iguales de seguros que los de let's encript, solo que no hay un "arbitro" que los de por buenos, sino que ese árbitro eres tú mismo.

¿Se puede hacer? Por supuesto, tan "fácil" como generar un certificado cliente y que te lo firme let's encrypt. Pero creo que no te merece la pena ni intentarlo, puesto que lo tedioso va a ser mantenerlo actualizado, porque dichos certificados caducan a los 90 días.

Saludos!

OK gracias compi, tiene sentido lo que comentas.

Según la wiki de Mikrotik en la parte servidor si se auto-renueva Let's Encrypt porque en el NAS ya lo tengo comprobado.

1651312434547.png

Pero claro, aunque se renueven solos ya no valdría el certificado cliente anterior, habría que revocarlo y generar uno nuevo, mejor me quedo como estoy, gracias.

S@lu2.
 
OK gracias compi, tiene sentido lo que comentas.

Según la wiki de Mikrotik en la parte servidor si se auto-renueva Let's Encrypt porque en el NAS ya lo tengo comprobado.

Ver el adjunto 94668
Pero claro, aunque se renueven solos ya no valdría el certificado cliente anterior, habría que revocarlo y generar uno nuevo, mejor me quedo como estoy, gracias.

S@lu2.
Claro, es lo que te comentaba, la parte del servidor la tienes cubierta, pero no así la del cliente. Necesitarías un cliente de tipo certbot en el cliente para solicitar y mantener dicho certificado vivo. Y todo esto corriendo en tu móvil... no lo veo.

Mejor gestiona tú tus propios certificados, vía plantillas (las templates del manual) y así generas tú los que necesites y cuando los necesites, pudiendo controlando así también la fecha de expiración de los mismos.

Saludos!
 
Arriba