> For the complete documentation index, see [llms.txt](https://topete.gitbook.io/contenido/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://topete.gitbook.io/contenido/nginx-geoip2/agregue-geoip-a-nginx/anadir-seguridad-add_header.md).

# Añadir seguridad add\_header

## Comprobar seguridad del sitio.

Lo primero que realizaremos será la comprobación del sitio, dirigiéndonos esta pagina, donde introduciremos nuestro dominio sin protocolos, (https, http). [https://securityheaders.com](https://securityheaders.com/)/. si nos aparece una imagen como se muestra a continuación tu sitio tiene menos seguridad, y eso lo podemos remediar con la Header.

![](/files/TlQvJVbw9c4bSDg09fCd)

### Cabeceras que añadiremos.

```nginx
add_header X-Frame-Options "SAMEORIGIN" always; 
add_header X-Xss-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin" always;
add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive" always;
```

Estas cabeceras son las básicas, por lo que no pasaremos hacer ninguna descripción, internet esta lleno de información sobre esto.

#### Otras cabeceras.

Estas cabeceras son mas delicadas, y aunque se suelen incluir hay que tener cuidado.

```nginx
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; font-src *;img-src * data:; style-src *" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
```

Content-Security-Policy: Esta cabecera es la que normalmente al añadirla rompe el sitio, por lo que si quieres añadirla puedes obtener mas información aquí: <https://developer.mozilla.org/es/docs/Web/HTTP/CSP>

Strict-Transport-Security:  Se encarga de obligar a los navegadores a conectarse de forma segura mediante https\:// pero no vale solamente con añadir la cabecera para que sea efectiva, además, hay que registrar el dominio para una plena funcionalidad.  <https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/>

### Comenzando la configuración.

![](/files/niukSzF7lkcprcm8rLoK)

{% hint style="danger" %}
Esta configuración puede romper tu servidor proxy si no la realizas adecuadamente, qué necesitas antes de comenzar. <mark style="color:orange;">**Añádelas una a una, así podrás saber si te da problemas con alguna app o configuración propia tuya**</mark>.
{% endhint %}

1. Conocimientos terminar, aunque básicos.
2. utilizar editor VIM. obligatorio, aunque básicos.
3. Continuar, porque los dos puntos anteriores son muy fáciles.

Este video te ayudara <https://drive.google.com/file/d/1bHYACebXciHEN4ngcDjsg1k190gKJIAd/view?usp=sharing>

Lo primero que haremos será abrir la terminar del Docker NGINX. Una vez en ella utilizaremos los siguientes comandos en el orden que figura.

```
¿Has hecho backup??? ejem CA Backup / Restore Appdata
1 cd
2 su
3 apt-get update && apt-get install -y vim
4 ls -a
5 cd /etc/nginx/conf.d/include
6 ls
7 vim proxy.conf
Ahora estamos en vim
- pulsamos a    (para comenzar a editer
- utilizamos el desplazamiento de cursor del teclado y nos desplazamos a la ultima linea al final de la linea, 
- pulsamor enter
- utilizando el raton para copiar las cabeceras
- pulsamos la tecla esc para entrar en modo comando y a continuacion introducimos.
- (ATENCIÓN comprueba que esta todo correcto y bien escrito.)
- :wq!    (w escribir, q salir de vim, ! realizar la operacion aun estando siendo utilizado el archivo)


```

Reinicianos NGINX y observamos el log mientras arranca para comprobar que no existen fallos.

Volvemos hacer el test  [https://securityheaders.com](https://securityheaders.com/)/ pulsa ctrl+F5 para vaciar cache.
