Modos de TLS con el origen

Ver en Markdown

Cómo se conecta el borde con tu origen por HTTP o HTTPS, qué verifican Full y Full (strict) y qué nombre comprueba.

En esta página

El borde termina la conexión TLS del visitante y abre una segunda conexión con tu servidor, el origen. Estos ajustes deciden cómo se hace esa segunda conexión y cuánto se fía de ella el borde.

Dirección y esquema del origen

Para cada nombre con proxy, el borde forma la dirección del origen a partir del contenido del registro:

<origin.scheme>://<contenido del registro>[:<origin.port>]

Un sitio cuyo registro A apunta a 203.0.113.10 se pide a https://203.0.113.10. Con origin.port 9443 pasa a ser https://203.0.113.10:9443.

AjusteValoresPor defecto
origin.schemehttps o httphttps
origin.port0–65535; 0 = el puerto del esquema (443 u 80)0

Full y Full (strict)

Los dos modos cifran la conexión. Se diferencian en lo que comprueba el borde:

Modoorigin.tls_verifyQué hace el bordeRiesgo
FullfullCifra, pero acepta cualquier certificado: autofirmado, caducado o de otro nombre.Quien pueda interceptar el tráfico entre el borde y tu servidor puede suplantar al origen.
Full (strict)full_strictCifra y verifica el certificado. Si la verificación falla, el visitante recibe un 526 y no se sirve nada del origen.Ninguno de los anteriores; el origen necesita un certificado válido.

Qué verifica Full (strict)

  • La cadena llega a una CA raíz pública de confianza para el sistema operativo o a la OpenWAF Origin CA.
  • El certificado está dentro de sus fechas de validez.
  • El certificado es válido para el nombre verificado.
  • No está revocado. El borde rechaza los certificados de la OpenWAF Origin CA revocados, y los de zonas borradas, hasta que caducan.

Valores por defecto

  • Las zonas nuevas usan full_strict.
  • Las zonas creadas antes de que existiera Full (strict) se quedaron en full, así que nada cambió para ellas. Para cambiarlas, sigue Pasar a Full (strict).

El nombre verificado (SNI)

En Full (strict), el borde comprueba el certificado contra un nombre y también lo envía en SNI. Lo elige en este orden:

  1. origin.server_name, si está configurado. Úsalo cuando el origen es 203.0.113.7 pero su certificado es de origin.example.com.
  2. El nombre de host del origen, si el origen es un nombre: https://backend.example.com:9443 → backend.example.com.
  3. El nombre del propio sitio, si el origen es una dirección IP: www.example.com con un registro A a 203.0.113.7 → www.example.com.

En Full, origin.server_name solo cambia el SNI; sin él, el borde envía el nombre de host del origen, o ningún SNI si es una dirección IP.

origin.server_name debe estar vacío o ser un nombre de host en minúsculas, sin comodín y que no sea una dirección IP.

Ajustes por nombre

Todos los ajustes origin.* se pueden fijar para toda la zona o para un nombre en hosts.<nombre>.origin. El valor del nombre sustituye al de la zona solo para ese nombre; quítalo para volver a heredar. Consulta Ajustes por nombre.

openwaf-cloud ctl zones set example.com --host api.example.com origin.tls_verify=full_strict --reason "el origen de la api tiene un certificado válido"

Última actualización:

↑↓ para moverte↵ para abriresc para cerrar