Con Exigir certificado del borde activado, el borde presenta un certificado de cliente TLS cuando tu origen lo pide. Tu servidor exige entonces un certificado de cliente firmado por la OpenWAF Edge Client CA y rechaza cualquier otra conexión, incluidas las de un atacante que haya averiguado la IP de tu origen.
Cómo funciona
- Cada nodo del borde tiene su propio certificado de cliente (ECDSA P-256, válido 30 días), emitido por la OpenWAF Edge Client CA y renovado automáticamente mucho antes de caducar.
- El borde solo lo presenta en los sitios con
origin.client_certatrue, y solo cuando el origen pide un certificado de cliente. - La Edge Client CA es común a toda la plataforma. Un certificado de cliente válido demuestra que «esta conexión viene del borde de OpenWAF», no que «viene para mi zona». Combínalo con las comprobaciones de la cabecera
Hosty del SNI en tu servidor y, si necesitas más, con tu propia autenticación.
Configúralo
Activa la opción y espera a que se propague.
En SSL/TLS › Origen › Exigir certificado del borde, activa Presentar el certificado de cliente del borde y pulsa Guardar cambios. Revisa Cambios › Propagación hasta que todos los nodos hayan aplicado la versión nueva.
openwaf-cloud ctl zones set example.com origin.client_cert:=true --reason "mTLS hacia el origen" --wait--waittermina cuando todos los nodos han aplicado la versión nueva.curl -s -X PATCH https://dash.openwaf.dev/v1/orgs/$ORG/zones/$ZONE/edge \ -H "Authorization: Bearer $OPENWAF_TOKEN" \ -H "Content-Type: application/json" \ -H "X-Change-Reason: mTLS hacia el origen" \ -d '{"origin": {"client_cert": true}}'update_settingscon{"zone": "example.com", "settings": {"origin": {"client_cert": true}}, "reason": "mTLS hacia el origen"}, primero conconfirm=falsey después conconfirm=true. Comprueba luegozone_propagation.Descarga la Edge Client CA en tu servidor:
curl -fsS https://dash.openwaf.dev/v1/origin-tls/edge-client-ca.pem -o openwaf-edge-client-ca.pem # o bien: openwaf-cloud ctl origin-tls ca --client > openwaf-edge-client-ca.pemEl panel ofrece el mismo fichero en Descargar la Edge Client CA (PEM).
Exige certificados de cliente en el servidor (ejemplos abajo) y recárgalo.
Comprueba. En el estado del origen, el nombre muestra mTLS y no aparecen errores
525. Desde fuera del borde, una conexión sin certificado de cliente debe fallar:curl -sv https://203.0.113.10/ -H 'Host: www.example.com' -k -o /dev/null
Ejemplos de servidor
server {
listen 443 ssl;
ssl_certificate /etc/nginx/tls/origin.pem;
ssl_certificate_key /etc/nginx/tls/origin.key;
# Solo conexiones desde el borde de OpenWAF
ssl_client_certificate /etc/nginx/tls/openwaf-edge-client-ca.pem;
ssl_verify_client on;
ssl_verify_depth 1;
}example.com {
tls /etc/caddy/tls/origin.pem /etc/caddy/tls/origin.key {
client_auth {
mode require_and_verify
trust_pool file /etc/caddy/tls/openwaf-edge-client-ca.pem
}
}
reverse_proxy 127.0.0.1:8080
}En Caddy anterior a 2.8, usa trusted_ca_cert_file /etc/caddy/tls/openwaf-edge-client-ca.pem en lugar de trust_pool.
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/openwaf/origin.pem
SSLCertificateKeyFile /etc/ssl/openwaf/origin.key
SSLCACertificateFile /etc/ssl/openwaf/openwaf-edge-client-ca.pem
SSLVerifyClient require
SSLVerifyDepth 1
</VirtualHost>tls:
options:
openwaf-edge:
clientAuth:
caFiles:
- /certs/openwaf-edge-client-ca.pem
clientAuthType: RequireAndVerifyClientCert
http:
routers:
example:
rule: Host(`example.com`)
tls:
options: openwaf-edge@file
service: exampleCon etiquetas de Docker: traefik.http.routers.example.tls.options=openwaf-edge@file.
Mantén la CA al día
Cuando la Edge Client CA rota, la URL de descarga devuelve la antigua y la nueva mientras las dos sean válidas. Vuelve a descargarla con regularidad; basta con un curl programado una vez al día.