En aquest tema, aprendrem les pràctiques bàsiques de seguretat per a NGINX. La seguretat és un aspecte crític en qualsevol servidor web, i NGINX no és una excepció. Implementar mesures de seguretat adequades pot ajudar a protegir el teu servidor contra atacs i vulnerabilitats.

  1. Actualització Regular de NGINX

Importància de mantenir NGINX actualitzat

  • Seguretat: Les actualitzacions sovint inclouen pegats de seguretat per a vulnerabilitats conegudes.
  • Rendiment: Les noves versions poden incloure millores de rendiment.
  • Funcionalitats: Les actualitzacions poden afegir noves funcionalitats i millores.

Com actualitzar NGINX

# Per a sistemes basats en Debian/Ubuntu
sudo apt update
sudo apt upgrade nginx

# Per a sistemes basats en Red Hat/CentOS
sudo yum update nginx

  1. Configuració de permisos de fitxers

Permisos recomanats

  • Directori de configuració (/etc/nginx): Només l'usuari root hauria de tenir permisos d'escriptura.
  • Fitxers de configuració (/etc/nginx/nginx.conf): Només l'usuari root hauria de tenir permisos d'escriptura.

Com configurar els permisos

# Assegura't que només l'usuari root tingui permisos d'escriptura
sudo chown -R root:root /etc/nginx
sudo chmod -R 644 /etc/nginx

  1. Deshabilitar mòduls innecessaris

Per què deshabilitar mòduls innecessaris?

  • Reducció de la superfície d'atac: Menys mòduls actius signifiquen menys possibles vulnerabilitats.
  • Millora del rendiment: Menys mòduls actius poden millorar el rendiment del servidor.

Exemple de deshabilitació de mòduls

# Edita el fitxer de configuració de NGINX
sudo nano /etc/nginx/nginx.conf

# Comenta o elimina les línies dels mòduls innecessaris
# load_module modules/ngx_http_xslt_filter_module.so;
# load_module modules/ngx_http_image_filter_module.so;

  1. Configuració de capçaleres de seguretat

Capçaleres recomanades

  • Strict-Transport-Security: Assegura que el navegador només es connecti a través de HTTPS.
  • X-Content-Type-Options: Evita que el navegador interpreti els fitxers com un altre tipus de contingut.
  • X-Frame-Options: Evita que la pàgina sigui carregada en un iframe.
  • X-XSS-Protection: Activa la protecció contra atacs XSS en el navegador.

Com configurar les capçaleres

# Edita el fitxer de configuració de NGINX
sudo nano /etc/nginx/nginx.conf

# Afegeix les capçaleres de seguretat dins del bloc server
server {
    ...
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "DENY" always;
    add_header X-XSS-Protection "1; mode=block" always;
    ...
}

  1. Limitació de la mida de les peticions

Per què limitar la mida de les peticions?

  • Prevenció d'atacs DoS: Limitar la mida de les peticions pot ajudar a prevenir atacs de denegació de servei.
  • Protecció contra vulnerabilitats: Limitar la mida de les peticions pot ajudar a prevenir l'explotació de vulnerabilitats.

Com limitar la mida de les peticions

# Edita el fitxer de configuració de NGINX
sudo nano /etc/nginx/nginx.conf

# Afegeix la directiva client_max_body_size dins del bloc http
http {
    ...
    client_max_body_size 1m;
    ...
}

Exercicis pràctics

Exercici 1: Actualització de NGINX

  1. Verifica la versió actual de NGINX instal·lada al teu sistema.
  2. Actualitza NGINX a l'última versió disponible.

Exercici 2: Configuració de permisos de fitxers

  1. Revisa els permisos actuals del directori /etc/nginx i els seus fitxers.
  2. Configura els permisos segons les recomanacions donades.

Exercici 3: Configuració de capçaleres de seguretat

  1. Afegeix les capçaleres de seguretat recomanades al fitxer de configuració de NGINX.
  2. Verifica que les capçaleres s'estan enviant correctament utilitzant eines com curl o les eines de desenvolupador del navegador.

Solucions

Solució a l'Exercici 1

# Verifica la versió actual de NGINX
nginx -v

# Actualitza NGINX a l'última versió
sudo apt update
sudo apt upgrade nginx

Solució a l'Exercici 2

# Revisa els permisos actuals
ls -l /etc/nginx

# Configura els permisos recomanats
sudo chown -R root:root /etc/nginx
sudo chmod -R 644 /etc/nginx

Solució a l'Exercici 3

# Edita el fitxer de configuració de NGINX
sudo nano /etc/nginx/nginx.conf

# Afegeix les capçaleres de seguretat dins del bloc server
server {
    ...
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "DENY" always;
    add_header X-XSS-Protection "1; mode=block" always;
    ...
}

# Reinicia NGINX per aplicar els canvis
sudo systemctl restart nginx

Conclusió

En aquesta secció, hem après diverses pràctiques bàsiques de seguretat per a NGINX, incloent la importància de mantenir NGINX actualitzat, configurar correctament els permisos de fitxers, deshabilitar mòduls innecessaris, configurar capçaleres de seguretat i limitar la mida de les peticions. Aquestes pràctiques ajudaran a protegir el teu servidor NGINX contra diverses amenaces de seguretat. En el proper tema, explorarem la limitació de velocitat per protegir el teu servidor contra atacs de denegació de servei.

© Copyright 2024. Tots els drets reservats