Cómo configurar encabezados de seguridad en Nginx

Configurar encabezados de seguridad en NGINX es esencial para mejorar la seguridad de sus aplicaciones web. Los encabezados de seguridad protegen contra diversos ataques, como secuencias de comandos entre sitios (XSS), clickjacking y otros ataques de inyección de código. Indican al navegador cómo manejar el contenido de su sitio, proporcionando una capa adicional de seguridad.

Esta guía lo guiará a través de los pasos para configurar encabezados de seguridad en NGINX, ayudándolo a proteger sus aplicaciones web y mejorar la seguridad general.

Implementación de seguridad de transporte estricta HTTP (HSTS) en NGINX

Entendiendo HSTS

HTTP Strict Transport Security (HSTS) es un protocolo de seguridad crucial para un sitio web. Impone que las conexiones a un dominio se realicen exclusivamente a través de HTTPS. Esto mitiga riesgos como los ataques de intermediario y garantiza la integridad y confidencialidad de los datos transmitidos en línea. Cuando un usuario intenta acceder a un sitio a través de HTTP, HSTS actualiza automáticamente la conexión a HTTPS.

Configurar HSTS en NGINX

Para configurar HSTS en NGINX, debe actualizar el bloque del servidor en el archivo de configuración de NGINX. Este archivo normalmente reside en /etc/nginx/nginx.conf o dentro de configuraciones específicas del sitio en /etc/nginx/sites-available/. La actualización implica agregar un encabezado que indica al navegador que siempre use HTTPS para el dominio especificado.

En el bloque del servidor de su dominio, agregue la siguiente línea:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

Esta línea contiene dos componentes:

  • max-age=31536000: indique al navegador que recuerde usar HTTPS para su sitio durante los próximos 12 meses.
  • includeSubDomains: aplica la política HSTS a todos los subdominios de su sitio para una seguridad integral.

Ejemplo de configuración de NGINX con HSTS

Su configuración de NGINX con el encabezado HSTS podría verse así:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

    location / {
        proxy_pass http://my_portal;
    }
}

Después de agregar este encabezado, vuelva a cargar NGINX para implementar los cambios con sudo systemctl reload nginx o sudo nginx -s reload.

Ejemplos adicionales de configuración de NGINX

Para diferentes escenarios, su configuración de NGINX con HSTS puede variar. Aquí hay ejemplos adicionales:

Servidor multidominio

server {
    listen 80;
    server_name example1.com example2.com;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

    location / {
        # Configuration details
    }
}

Esta configuración aplica HSTS a múltiples dominios alojados en el mismo servidor. Cada dominio enumerado aplicará conexiones HTTPS.

Servidor con terminación SSL

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate;
    ssl_certificate_key /path/to/private/key;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

    location / {
        # Configuration details
    }
}

Esta configuración es para servidores que manejan terminación SSL. Configura HSTS en un puerto seguro (443) con certificados SSL específicos, reforzando las conexiones seguras.

Configuración de la política de seguridad de contenido (CSP) en NGINX

Implementación de CSP en NGINX

La integración de una política de seguridad de contenido (CSP) en NGINX es un movimiento estratégico para mejorar la seguridad de las aplicaciones web. Implica agregar un encabezado específico dentro del bloque del servidor de su archivo de configuración de NGINX. Este archivo, que normalmente se encuentra en /etc/nginx/nginx.conf o en el directorio /etc/nginx/sites-available/, requiere una edición cuidadosa para aplicar CSP de manera efectiva.

Para una configuración de CSP fundamental, agregue la siguiente línea en el bloque del servidor:

add_header Content-Security-Policy "default-src 'self';" always;

Esta directiva restringe la carga de contenido al dominio del sitio web ("propio"), lo que reduce significativamente el riesgo de ejecución de contenido externo malicioso.

Ejemplo de configuración de NGINX con CSP

Su configuración de NGINX con la directiva CSP básica podría verse así:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Content-Security-Policy "default-src 'self';" always;

    location / {
        proxy_pass http://my_portal;
    }
}

Vuelva a cargar NGINX con sudo systemctl reload nginx o sudo nginx -s reload después de agregar esta directiva.

Personalización de CSP para necesidades específicas

CSP se puede adaptar para abordar las necesidades de seguridad específicas de su sitio web. Aquí hay configuraciones ampliadas para diferentes escenarios:

Permitir imágenes de cualquier fuente

add_header Content-Security-Policy "default-src 'self'; img-src *;" always;

Esta configuración permite cargar imágenes desde cualquier fuente, manteniendo un control estricto sobre otro tipo de contenidos.

Configuración de estilos y scripts específicos

add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trustedscript.com; style-src 'self' 'unsafe-inline';";

Esta configuración permite scripts de su dominio y una fuente externa confiable junto con estilos en línea, equilibrando la funcionalidad con la seguridad.

Explorando directivas y opciones de CSP

Directivas en CSP

Las directivas CSP son reglas que definen la política para tipos de contenido específicos. Las directivas comunes incluyen:

  • default-src: la política predeterminada que se aplica a la mayoría de los tipos de contenido.
  • script-src: gobierna las fuentes de los recursos de JavaScript.
  • style-src: especifica las fuentes permitidas para los recursos CSS.
  • img-src: controla las fuentes de los recursos de imágenes.
  • connect-src: establece políticas para conexiones de red como XMLHttpRequest, WebSocket y EventSource.

Expresiones de origen en CSP

Las expresiones fuente definen fuentes permitidas para cada directiva:

  • 'ninguno': bloquea todas las fuentes.
  • 'self': Permite recursos del mismo origen.
  • 'unsafe-inline': permite recursos en línea como estilos o URL de JavaScript.
  • 'evaluación insegura': permite JavaScript eval() funciones y métodos similares.
  • https:: Habilita recursos desde cualquier URL HTTPS.

Configuración de la protección X-XSS en NGINX

Introducción a la protección X-XSS

X-XSS-Protection, o el encabezado Cross-Site Scripting, es esencial para proteger las aplicaciones web de ataques XSS (Cross-Site Scripting). Compatible con los principales navegadores web como Chrome, Internet Explorer y Safari, este encabezado mejora la seguridad web al impedir la carga de páginas cuando se detectan ataques XSS reflejados.

Habilitación de la protección X-XSS en NGINX

La integración del encabezado X-XSS-Protection en la configuración de su servidor NGINX refuerza la protección XSS nativa del navegador. Para habilitar esta característica de seguridad, acceda a su archivo de configuración de NGINX, generalmente ubicado en /etc/nginx/nginx.conf o en el directorio /etc/nginx/sites-available/.

En el bloque del servidor de su archivo de configuración de NGINX, inserte esta directiva:

add_header X-XSS-Protection "1; mode=block";

Esta directiva consta de dos partes:

  • 1: Activa el filtro XSS del navegador.
  • mode=block: indica al navegador que bloquee la página si se detecta un ataque XSS, en lugar de intentar desinfectarla.

Ejemplo de configuración de NGINX con protección X-XSS

Un ejemplo de configuración de NGINX que incluye X-XSS-Protection podría aparecer de la siguiente manera:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header X-XSS-Protection "1; mode=block";

    location / {
        proxy_pass http://my_portal;
    }
}

Después de agregar este encabezado, vuelva a cargar NGINX usando Sudo systemctl reload nginx o Sudo nginx -s reload.

Escenarios de configuración de NGINX adicionales

Para un servidor con SSL

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate;
    ssl_certificate_key /path/to/private/key;
    add_header X-XSS-Protection "1; mode=block";

    # Further configuration
}

Esta configuración es para servidores con SSL, lo que garantiza que X-XSS-Protection esté activo en conexiones cifradas.

Manejo de múltiples dominios

server {
    listen 80;
    server_name example1.com example2.com;
    add_header X-XSS-Protection "1; mode=block";

    # Further configuration
}

Esta configuración aplica protección X-XSS en varios dominios alojados en un único servidor.

Configuración de opciones de X-Frame en NGINX

El papel de las opciones de X-Frame

X-Frame-Options es un encabezado de seguridad esencial diseñado para proteger los sitios web de ataques de clickjacking. Evita que las páginas web se muestren en marcos o iframes, que suelen utilizarse en estos ataques. Compatible con los principales navegadores web, X-Frame-Options proporciona una protección generalizada, mejorando la seguridad de su presencia web en diferentes plataformas.

Implementación de opciones X-Frame en NGINX

Incorporar el encabezado X-Frame-Options en la configuración de su servidor NGINX es crucial para mejorar la seguridad de su sitio. Esta tarea implica editar el archivo de configuración de NGINX, que normalmente se encuentra en /etc/nginx/nginx.conf o en el directorio /etc/nginx/sites-available/.

Para habilitar esta característica de seguridad, agregue la siguiente directiva al bloque del servidor en su archivo de configuración de NGINX:

add_header X-Frame-Options "DENY";

Esta directiva, configurada en "DENEGAR", indica al navegador que bloquee cualquier intento de representar la página en un marco o iframe, ofreciendo una sólida defensa contra el clickjacking.

Ejemplo de configuración de NGINX con X-Frame-Options

Un ejemplo de configuración de NGINX con el encabezado X-Frame-Options es el siguiente:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header X-Frame-Options "DENY";

    location / {
        proxy_pass http://my_portal;
    }
}

Una vez que haya agregado este encabezado, es importante recargar NGINX para activar los cambios. Esto se puede hacer usando sudo systemctl reload nginx o sudo nginx -s reload.

Ampliación de la configuración de NGINX para opciones de X-Frame

Para servidores habilitados para SSL

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate;
    ssl_certificate_key /path/to/private/key;
    add_header X-Frame-Options "DENY";

    # Additional configuration
}

Esta configuración es para servidores con SSL, lo que garantiza que X-Frame-Options se aplique en conexiones seguras.

Manejo de múltiples dominios

server {
    listen 80;
    server_name example1.com example2.com;
    add_header X-Frame-Options "DENY";

    # Additional configuration
}

Esta configuración aplica el encabezado X-Frame-Options en varios dominios en el mismo servidor, lo que refuerza la seguridad de cada dominio.

Implementación de opciones de tipo de contenido X en NGINX

Papel de las opciones de tipo de contenido X

X-Content-Type-Options es un encabezado de seguridad vital en la seguridad web que evita que los navegadores rastreen tipos MIME. Este encabezado refuerza el hecho de que los navegadores respetan el tipo de contenido declarado en los encabezados HTTP, abordando las vulnerabilidades de seguridad que pueden surgir cuando los navegadores malinterpretan los tipos de archivos, como tratar archivos de imágenes como HTML ejecutable, lo que podría provocar ataques de secuencias de comandos entre sitios (XSS).

Configuración de opciones de tipo de contenido X en NGINX

Para mejorar la seguridad de su servidor web con el encabezado X-Content-Type-Options, debe modificar el archivo de configuración de NGINX directamente. Este archivo generalmente se encuentra en /etc/nginx/nginx.conf o dentro de configuraciones específicas del sitio en /etc/nginx/sites-available/.

Incorpore este encabezado agregando la siguiente línea al server bloque de su configuración NGINX:

add_header X-Content-Type-Options "nosniff";

La configuración "nosniff" indica al navegador que siga estrictamente el tipo de contenido especificado por el servidor, evitando interpretaciones alternativas del contenido.

Ejemplo de configuración de NGINX con X-Content-Type-Options

Una configuración NGINX con X-Content-Type-Options podría estructurarse de la siguiente manera:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header X-Content-Type-Options "nosniff";

    location / {
        proxy_pass http://my_portal;
    }
}

Después de actualizar su configuración, asegúrese de recargar NGINX para que los cambios surtan efecto, usando sudo systemctl reload nginx o sudo nginx -s reload.

Ejemplos de configuración ampliados de NGINX

Configuración para SSL/TLS

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate.pem;
    ssl_certificate_key /path/to/key.pem;
    add_header X-Content-Type-Options "nosniff";

    # Additional SSL configurations and locations
}

Esta configuración es para servidores con SSL/TLS, aplicando X-Content-Type-Options en conexiones seguras para mejorar la seguridad.

Configuración del servidor multidominio

server {
    listen 80;
    server_name example1.com example2.com;
    add_header X-Content-Type-Options "nosniff";

    # Additional configurations for multiple domains
}

Esta configuración aplica el encabezado X-Content-Type-Options en varios dominios alojados en el mismo servidor, lo que garantiza configuraciones de seguridad consistentes en todos los dominios.

Configuración de la política de referencia en NGINX

La función de la política de referencia

Referrer-Policy es un encabezado HTTP esencial para mejorar la privacidad y seguridad del usuario en la web. Controla cuánta información de referencia se incluye en el encabezado Referer cuando los usuarios navegan desde su sitio a otros, protegiendo la información confidencial de la exposición en solicitudes web.

Configuración de la política de referencia en NGINX

Para implementar el encabezado Referrer-Policy en su servidor NGINX, modifique el archivo de configuración de NGINX, que normalmente se encuentra en /etc/nginx/nginx.conf o en el directorio /etc/nginx/sites-available/. Agregue la siguiente directiva al bloque del servidor:

add_header Referrer-Policy "no-referrer";

Esta directiva, configurada como "sin referencia", garantiza que no se envíe información de referencia durante la navegación del sitio, maximizando la privacidad.

Ejemplo de configuración de NGINX con política de referencia

Su configuración de NGINX con el encabezado Referrer-Policy podría verse así:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Referrer-Policy "no-referrer";

    location / {
        proxy_pass http://my_portal;
    }
}

Después de agregar este encabezado, vuelva a cargar NGINX con comandos como sudo systemctl reload nginx o sudo nginx -s reload.

Opciones y definiciones de la política de referencia

  • no-referrer: No se envía información del referente.
  • no-referrer-when-downgrade (predeterminado): envía información de referencia para destinos del mismo origen o para URL de destino seguras (HTTPS) desde una página segura.
  • origen: envía únicamente el origen (esquema, host y puerto).
  • origen-cuando-origen cruzado: envía la URL completa para solicitudes del mismo origen, pero solo el origen para otros casos.
  • mismo origen: envía una referencia completa para solicitudes del mismo origen, pero ningún encabezado para solicitudes de orígenes cruzados.
  • origen estricto: envía el origen para las solicitudes HTTPS pero no el encabezado para las solicitudes HTTP.
  • origen-estricto-cuando-origen cruzado: envía la referencia completa a solicitudes del mismo origen, el origen a destinos HTTPS desde páginas HTTPS y sin encabezado a destinos HTTP.
  • URL insegura: envía la URL completa independientemente del origen o la seguridad (no recomendado).

Ejemplos de configuración ampliados de NGINX

Configuración SSL/TLS

server {
    listen 443 ssl;
    server_name secure.example.com;
    ssl_certificate /path/to/certificate.pem;
    ssl_certificate_key /path/to/key.pem;
    add_header Referrer-Policy "no-referrer";

    # Additional SSL configurations
}

Esta configuración aplica el encabezado Referrer-Policy en un entorno seguro habilitado para SSL/TLS, lo que mejora la privacidad en las conexiones cifradas.

Configuración del servidor multidominio

server {
    listen 80;
    server_name example1.com example2.com;
    add_header Referrer-Policy "no-referrer";

    # Additional configurations for each domain
}

Esta configuración garantiza que el encabezado Referrer-Policy se aplique en varios dominios alojados en el mismo servidor, manteniendo una configuración de privacidad consistente.

Implementación de la política de permisos en NGINX

Comprensión de la política de permisos

El encabezado Permissions-Policy permite a los administradores web un control preciso sobre las funciones del navegador y las API en sus sitios web. La configuración de este encabezado refuerza significativamente la seguridad y privacidad del sitio, permitiendo restricciones de funciones como geolocalización, cámara y micrófono según las necesidades específicas de su sitio.

Configuración de la política de permisos en NGINX

Para incorporar el encabezado Política de permisos en su servidor NGINX, modifique el archivo de configuración de NGINX, generalmente ubicado en /etc/nginx/nginx.conf o dentro del directorio /etc/nginx/sites-available/.

Agregue la siguiente directiva al bloque del servidor:

add_header Permissions-Policy "geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();";

Esta directiva enumera varias funciones del navegador y API, configurándolas todas en (), lo que las deshabilita efectivamente. Esta configuración proporciona un enfoque integral para limitar las funciones que podrían comprometer la privacidad o la seguridad del usuario.

Ejemplo de configuración de NGINX con política de permisos

A continuación se muestra un ejemplo de cómo podría verse su configuración de NGINX con el encabezado Política de permisos:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();";

    location / {
        proxy_pass http://my_portal;
    }
}

Esta directiva enumera de manera exhaustiva varias funciones y API del navegador, configurándolas en () para deshabilitarlas de manera efectiva.

Ejemplo de configuración de NGINX con política de permisos

Su configuración de NGINX, incluida la Política de permisos, podría verse así:

upstream my_portal {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();";

    location / {
        proxy_pass http://my_portal;
    }
}

Vuelva a cargar NGINX con sudo systemctl reload nginx o sudo nginx -s reload después de realizar estos cambios.

Opciones de política de permisos explicadas

El encabezado Permisos-Política le permite personalizar el uso de varias funciones:

  • geolocalización: controla el acceso a los datos de geolocalización.
  • midi: Gestiona el acceso a dispositivos MIDI.
  • notificaciones: Controla la visualización de notificaciones.
  • empujar: Afecta la funcionalidad de notificaciones push.
  • sincronización-xhr: Se relaciona con XMLHTTPRequest sincrónico.
  • acelerómetro: Dicta el acceso al acelerómetro del dispositivo.
  • giroscopio: Controla el acceso al giroscopio.
  • magnetómetro: Gestiona el acceso al magnetómetro del dispositivo.
  • pago: Se aplica a las funciones de solicitud de pago.
  • USB: Controla el acceso a dispositivos USB.
  • realidad virtual: Pertenece a funciones de realidad virtual.
  • cámara: gestiona el acceso a la cámara.
  • micrófono: Dicta el acceso al micrófono.
  • vocero: controla el acceso a los dispositivos de altavoz.
  • vibrar: Afecta la API de vibración.
  • sensor de luz ambiental: Se relaciona con el sensor de luz ambiental.
  • auto-reproducción: controla la reproducción automática de medios.
  • medios cifrados: gestiona el acceso a medios cifrados.
  • ejecutar-portapapeles: Controla el acceso de lectura/escritura al portapapeles.
  • dominio-documento: Pertenece a la característica documento.dominio.
  • pantalla completa: Dicta acceso a pantalla completa.
  • captura de imagen: controla la funcionalidad de captura de imágenes.
  • Carga lenta: Afecta la carga diferida de imágenes.
  • formatos de imagen heredados: Se relaciona con formatos de imagen heredados.
  • imágenes de gran tamaño: Controla la carga de imágenes de gran tamaño.
  • imágenes-con-pérdida-no-optimizadas: gestiona imágenes con pérdida no optimizadas.
  • imágenes-no-optimizadas-sin-pérdida: Pertenece a imágenes sin pérdidas no optimizadas.
  • medios sin tamaño: controla los medios sin tamaño explícito.
  • desplazamiento vertical: Afecta el desplazamiento vertical.
  • compartir web: se relaciona con las funciones para compartir web.
  • seguimiento-espacial-xr: Gobierna el seguimiento espacial XR.

Configuraciones avanzadas de política de permisos en NGINX

Configuración de la política de permisos con dominios específicos y comodines

Más allá de la configuración básica de deshabilitar funciones usando (), la Política de permisos en NGINX se puede adaptar para permitir ciertas funciones de dominios específicos o el uso de comodines. Esta configuración avanzada permite un control más matizado sobre a qué puede acceder su sitio web y desde dónde.

Ejemplo: permitir funciones de dominios específicos

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "geolocation=(https://trusteddomain.com), microphone=(https://alloweddomain.com)";

    location / {
        proxy_pass http://my_portal;
    }
}

Esta configuración permite el acceso a datos de geolocalización solo desde https://trusteddomain.com y el acceso al micrófono únicamente desde https://alloweddomain.com, lo que mejora la seguridad al restringir estas funciones confidenciales a fuentes confiables.

Ejemplo: uso de comodines para permisos amplios

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "camera=*; fullscreen=*";

    location / {
        proxy_pass http://my_portal;
    }
}

El comodín * en esta configuración permite el acceso a la cámara y el modo de pantalla completa desde cualquier dominio. Este enfoque ofrece permisos más amplios, adecuados para sitios web que requieren un amplio acceso a funciones desde diversas fuentes.

Ejemplo: combinación de restricciones y permisos

server {
    listen 80;
    server_name example.com;
    add_header Permissions-Policy "accelerometer=(); gyroscope=(self https://example2.com); payment=*";

    location / {
        proxy_pass http://my_portal;
    }
}

En esta configuración, el acceso al acelerómetro está deshabilitado, se permite el acceso al giroscopio desde el mismo dominio y https://example2.com, y se permiten solicitudes de pago desde todos los dominios.

Verificación de encabezados de seguridad con el comando Curl en NGINX

Usando Curl para verificar los encabezados de seguridad

El comando curl es una herramienta valiosa para verificar la configuración de los encabezados de seguridad en su servidor NGINX. Le permite inspeccionar los encabezados de su sitio web y confirmar que los encabezados de seguridad estén configurados correctamente. Este paso de verificación es crucial para garantizar que las medidas de seguridad de su servidor web estén activas y funcionando según lo previsto.

Ejecutar el comando Curl para verificar el encabezado

Para verificar los encabezados de su sitio web, ejecute el siguiente comando en su terminal:

curl -I http://example.com

Reemplace ejemplo.com con su nombre de dominio. Este comando solicita los encabezados de su servidor, lo que proporciona información sobre las configuraciones de seguridad activas.

Resultado esperado e interpretación

Al ejecutar el comando curl, debería recibir un resultado similar al siguiente:

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Mar 2023 00:00:00 GMT
Content-Type: text/html
Connection: keep-alive
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: default-src 'self';
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: no-referrer
Permissions-Policy: geolocation=(); midi=(); notifications=(); push=(); sync-xhr=(); accelerometer=(); gyroscope=(); magnetometer=(); payment=(); usb=(); vr=(); camera=(); microphone=(); speaker=(); vibrate=(); ambient-light-sensor=(); autoplay=(); encrypted-media=(); execute-clipboard=(); document-domain=(); fullscreen=(); imagecapture=(); lazyload=(); legacy-image-formats=(); oversized-images=(); unoptimized-lossy-images=(); unoptimized-lossless-images=(); unsized-media=(); vertical-scroll=(); web-share=(); xr-spatial-tracking=();"

Este resultado confirma la presencia y la configuración correcta de varios encabezados de seguridad en su servidor, como Strict-Transport-Security, Content-Security-Policy, X-XSS-Protection y otros. Cada encabezado enumerado en el resultado desempeña un papel específico en la seguridad y protección de su servidor web contra diversas vulnerabilidades web.

Conclusión

Al configurar encabezados de seguridad en NGINX, mejora significativamente la seguridad de sus aplicaciones web. Revise y actualice periódicamente sus encabezados de seguridad para adaptarse a la evolución de las amenazas a la seguridad. La implementación de estos encabezados ayuda a proteger contra una amplia gama de ataques y garantiza una experiencia de navegación más segura para sus usuarios. Mantenga la vigilancia y mantenga actualizada su configuración de NGINX para proteger sus activos web de manera sólida.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)

Deja un comentario