NODE249 // TOOLSLAB/002 · EXPERIMENTEN

NODE249 TOOLS · METHODOLOGY v0.3.0

Methodology

No tienes que confiar en nuestro score: no hay score. Aquí está exactamente lo que comprobamos, cómo, con qué límites y en qué versión.

PRINCIPLES

DNS ENGINE

DNS_RESOLUTION · v1.0.0 · DNS

Domain resolves to public addresses

QUÉ COMPRUEBA Que el dominio resuelve (registros A/AAAA) con resolvers públicos y que todas las direcciones son públicas.

CÓMO CORREGIR Revisa los registros A/AAAA en tu proveedor DNS.

DNS_IPV6 · v1.0.0 · DNS

IPv6 availability

QUÉ COMPRUEBA Si el dominio publica direcciones IPv6 (registros AAAA).

CÓMO CORREGIR Si tu proveedor lo permite, añade registros AAAA para servir también por IPv6.

DNS_CAA · v1.0.0 · DNS

CAA records

QUÉ COMPRUEBA Si existen registros CAA que limitan qué autoridades pueden emitir certificados para el dominio (se consulta el nombre y su dominio padre).

CÓMO CORREGIR Añade un registro CAA con la autoridad que usas (p. ej. `0 issue "letsencrypt.org"`).

Aprende más →

TLS ENGINE

TLS_AVAILABLE · v1.0.0 · TLS

HTTPS available

QUÉ COMPRUEBA Que se puede establecer una conexión TLS en el puerto 443.

CÓMO CORREGIR Activa HTTPS en tu servidor o proveedor (Let’s Encrypt es gratuito).

Aprende más →

TLS_CERT_TRUSTED · v1.0.0 · TLS

Certificate is trusted and matches the hostname

QUÉ COMPRUEBA Que el certificado lo emite una autoridad de confianza, la cadena es completa y cubre el nombre visitado.

CÓMO CORREGIR Instala un certificado válido para este nombre con su cadena intermedia completa.

LIMITACIONES Se valida contra el almacén de confianza de Node.js (equivalente al de Mozilla).

Aprende más →

TLS_CERT_EXPIRY · v1.0.0 · TLS

Certificate expiry

QUÉ COMPRUEBA Días que quedan hasta que caduque el certificado.

CÓMO CORREGIR Renueva el certificado o automatiza la renovación (p. ej. certbot).

Aprende más →

TLS_PROTOCOL · v1.0.0 · TLS

Negotiated TLS version

QUÉ COMPRUEBA La versión de TLS negociada con un cliente moderno (se espera TLS 1.2 o 1.3).

CÓMO CORREGIR Habilita TLS 1.3 y desactiva versiones antiguas en tu servidor.

LIMITACIONES No se prueban versiones antiguas (TLS 1.0/1.1): solo se informa de la negociada.

Aprende más →

HTTP ENGINE

HTTP_REACHABLE · v1.0.0 · HTTP

Page responds successfully

QUÉ COMPRUEBA El código de estado final tras seguir las redirecciones.

CÓMO CORREGIR Revisa por qué la página no devuelve 200 (errores del servidor, rutas o bloqueos).

HTTP_TO_HTTPS · v1.0.0 · SECURITY

HTTP redirects to HTTPS

QUÉ COMPRUEBA Que la versión http:// del sitio redirige a https://.

CÓMO CORREGIR Configura una redirección permanente (301) de http:// a https://.

Aprende más →

HTTP_REDIRECT_CHAIN · v1.0.0 · HTTP

Redirect chain length

QUÉ COMPRUEBA Número de redirecciones hasta la página final.

CÓMO CORREGIR Enlaza directamente a la URL final para evitar saltos innecesarios.

HTTP_COMPRESSION · v1.0.0 · HTTP

Response compression

QUÉ COMPRUEBA Si el HTML se sirve comprimido (gzip o brotli).

CÓMO CORREGIR Activa gzip o brotli en tu servidor web o CDN.

HTTP_RESPONSE_TIME · v1.0.0 · HTTP

Time to first byte

QUÉ COMPRUEBA Tiempo hasta el primer byte de la página final, medido desde el servidor de NODE249 Tools.

CÓMO CORREGIR Revisa caché, rendimiento del servidor o usa una CDN.

LIMITACIONES Es una sola medición desde Europa: orientativa.

HTTP_MIXED_CONTENT · v1.0.0 · SECURITY

Mixed content

QUÉ COMPRUEBA Si una página HTTPS carga recursos (scripts, estilos, imágenes, iframes) por http://.

CÓMO CORREGIR Cambia esas referencias a https:// o a rutas relativas.

LIMITACIONES Análisis del HTML inicial (sin ejecutar JavaScript). La Fase 2 lo confirmará con un navegador real.

Aprende más →

HEADERS ENGINE

HDR_HSTS · v1.0.0 · SECURITY

Strict-Transport-Security (HSTS)

QUÉ COMPRUEBA Que HTTPS se anuncia con HSTS y un max-age de al menos 180 días.

CÓMO CORREGIR Añade `Strict-Transport-Security: max-age=31536000; includeSubDomains`.

Aprende más →

HDR_CSP · v1.0.0 · SECURITY

Content-Security-Policy

QUÉ COMPRUEBA Si existe una CSP y si permite `unsafe-inline` o `unsafe-eval` en scripts.

CÓMO CORREGIR Define una CSP restrictiva (empieza por `default-src 'self'`) y evita unsafe-inline/unsafe-eval.

LIMITACIONES Una CSP ausente no es una vulnerabilidad por sí sola: reduce el impacto de otros fallos.

Aprende más →

HDR_XCTO · v1.0.0 · SECURITY

X-Content-Type-Options

QUÉ COMPRUEBA Que se envía `X-Content-Type-Options: nosniff`.

CÓMO CORREGIR Añade `X-Content-Type-Options: nosniff`.

Aprende más →

HDR_REFERRER_POLICY · v1.0.0 · PRIVACY

Referrer-Policy

QUÉ COMPRUEBA Que se define qué información de origen se comparte al navegar a otros sitios.

CÓMO CORREGIR Añade `Referrer-Policy: strict-origin-when-cross-origin`.

Aprende más →

HDR_PERMISSIONS_POLICY · v1.0.0 · PRIVACY

Permissions-Policy

QUÉ COMPRUEBA Que se limitan las funciones del navegador (cámara, micrófono, geolocalización…) que la web puede usar.

CÓMO CORREGIR Añade `Permissions-Policy` desactivando lo que no uses (p. ej. `camera=(), microphone=(), geolocation=()`).

Aprende más →

HDR_CLICKJACKING · v1.0.0 · SECURITY

Framing protection (clickjacking)

QUÉ COMPRUEBA Que se impide incrustar la web en marcos ajenos (`X-Frame-Options` o CSP `frame-ancestors`).

CÓMO CORREGIR Añade `Content-Security-Policy: frame-ancestors 'self'` o `X-Frame-Options: SAMEORIGIN`.

Aprende más →

HDR_VERSION_DISCLOSURE · v1.0.0 · SECURITY

Software version disclosure

QUÉ COMPRUEBA Si las cabeceras `Server` o `X-Powered-By` revelan software y versión.

CÓMO CORREGIR Oculta la versión (p. ej. `server_tokens off` en nginx) y elimina `X-Powered-By`.

LIMITACIONES Mostrar la versión no implica que sea vulnerable: solo facilita el reconocimiento.

Aprende más →

BROWSER ENGINE

A11Y_AUTOMATED · v1.0.0 · ACCESSIBILITY

Automated accessibility checks

QUÉ COMPRUEBA Resultado global de las pruebas automáticas de accesibilidad (axe-core) sobre la página y una pequeña muestra del mismo sitio.

CÓMO CORREGIR Revisa cada problema listado: suelen ser textos alternativos, contraste, etiquetas de formularios o estructura de encabezados.

LIMITACIONES Las pruebas automáticas detectan solo una parte de los problemas de accesibilidad. La conformidad completa (p. ej. WCAG 2.1 AA) requiere revisión manual.

Aprende más →

A11Y_VIOLATION · v1.0.0 · ACCESSIBILITY

Accessibility issue

QUÉ COMPRUEBA Una regla de axe-core que falla en uno o más elementos de las páginas analizadas.

CÓMO CORREGIR Consulta la guía enlazada en la evidencia (helpUrl) y corrige los elementos indicados.

LIMITACIONES Se muestran como ejemplo hasta 3 elementos por página; puede haber más.

Aprende más →

PRIV_COOKIES_INITIAL · v1.0.0 · PRIVACY

Cookies set before any interaction

QUÉ COMPRUEBA Qué cookies (solo nombre y atributos, nunca su valor) y almacenamiento local crea la web al cargar, antes de que el visitante haga nada.

CÓMO CORREGIR Las cookies no necesarias (analítica, publicidad) no deberían instalarse hasta que el visitante las acepte.

LIMITACIONES No se interactúa con el banner de cookies (los escenarios de rechazo/aceptación llegan en la Fase 4). Evaluación técnica, no asesoramiento jurídico.

Aprende más →

PRIV_THIRD_PARTIES · v1.0.0 · PRIVACY

Third-party requests on load

QUÉ COMPRUEBA A qué dominios externos se conecta el navegador al cargar la página (agrupados por dominio registrable).

CÓMO CORREGIR Revisa que cada tercero sea necesario y esté declarado en tu política de privacidad.

LIMITACIONES Un tercero no es un problema en sí mismo (CDN, tipografías, pagos…): es información para revisar.

Aprende más →

PRIV_TRACKERS_INITIAL · v1.0.0 · PRIVACY

Known trackers loaded before consent

QUÉ COMPRUEBA Si se contactan dominios conocidos de analítica o publicidad antes de cualquier interacción del visitante.

CÓMO CORREGIR Carga la analítica y la publicidad solo después del consentimiento (tu CMP debería bloquearlas hasta entonces).

LIMITACIONES Detección por lista propia de dominios públicos muy conocidos: no detecta todos los rastreadores. Algunas herramientas pueden funcionar en modo sin cookies.

Aprende más →

BROWSER_RENDER · v1.0.0 · HTTP

Page rendered in a real browser

QUÉ COMPRUEBA Que la página se puede cargar en un navegador real (Chromium) para las pruebas de accesibilidad y privacidad.

CÓMO CORREGIR Si falla, revisa si la web bloquea navegadores automatizados o tarda demasiado en cargar.