Come impostare la difesa di base su Nginx-CMS?

3

Come amatore della sicurezza informatica ho fatto tutto il possibile per proteggere il mio ambiente Ubuntu-Nginx-CMS (WordPress) da BFA, MITM e iniezioni di database.

sudo add-apt-repository ppa:certbot/certbot -y && apt-get update -y && apt-get upgrade -y
sudo apt-get install zip unzip tree unattended-upgrades sshguard postfix \ 
nginx python-certbot-nginx mysql-server php-fpm php-mysql php-mbstring php-mcrypt -y
sudo ufw enable && ufw allow 22/tcp 25/tcp 80/tcp 443/tcp 9000/tcp

Per prevenire gli attacchi MITM, generalmente tutta la trasmissione dei dati di tutti i siti avviene tramite TLS, tramite un certificato SSL Let'sEncrypt (lucchetto verde nel browser per tutte le pagine).

Per prevenire le iniezioni di CMS DB ho attivato aggiornamenti frequenti tramite * nix cron (e mantenuto i moduli minimi):

0 1 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp plugin update --all --allow-root; done
0 2 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp core update --allow-root; done
0 3 * * * for dir in /var/www/html/*/; do cd "$dir" && /usr/local/bin/wp theme update --all --allow-root; done

Ma sembra che non abbia fatto nulla contro DDoS. Cosa posso fare contro qualcuno che invia un robot per caricare le mie pagine Web circa 50.000 volte all'ora (o qualcosa del genere)?

C'è qualcosa che può essere fatto direttamente da Ubuntu / Nginx / WordPress o da qualche software Linux?

Note:

  • AFAIK, BFA, DBI e DDoS sono i 3 tipi più comuni di attacchi DoS attacchi (da distinguersi dal MITM che non è un attacco DoS). Scusa se ho perso qualcosa.

  • Ho eseguito una ricerca qui in Information Security StackExchange con la frase Nginx Ubuntu DDOS ma non ho trovato una sessione di thread this.

posta Arcticooling 14.01.2018 - 17:27
fonte

1 risposta

3

Penso che la tua conclusione che la forza bruta, l'iniezione SQL e gli attacchi DDoS siano i tipi più comuni di attacchi non include alcuni degli altri attacchi significativi. Anche XSS e CSRF sono notevoli, (vedi OWASP top 10) e senza fare ricerche dettagliate su ciascun tipo, sarebbe difficile sapere quale sia il più diffuso.

L'indurimento generale del sistema ha un senso prima:

  1. Consenti solo SSH basato su chiave pubblica nel sistema.
  2. Limita le connessioni in entrata (come hai fatto con le regole del firewall)
  3. Assicurati che ogni servizio venga eseguito come utente isolato.
  4. Limita le autorizzazioni di Unix al minimo necessario (0700 nelle directory, 0600 nei file).
  5. Se possibile, rimuovi i permessi di scrittura sulle cartelle (limita le possibilità di caricamento del codice dannoso)

Nota che, dal momento che stai usando nginx invece di Apache, alcune delle direttive dal file .htaccess fornito da Wordpress dovrebbero essere implementate come direttive nginx equivalenti: ad es. impedire l'esecuzione di PHP ovunque vengano caricati i file dell'utente, limitando l'accesso a file sensibili.

Per Wordpress in particolare, vorrei esaminare la Guida per l'indurimento di Wordpress . Alcuni dettagli vengono in mente:

  1. Utilizza il minor numero di plug-in possibile e (se possibile) esaminali per le vulnerabilità.
  2. Assicurati che i temi personalizzati non introducano vulnerabilità XSS.
  3. Se è molto importante, considera un plug-in 2FA per Wordpress per ridurre al minimo il rischio di forza bruta o riutilizzo della password.

Se sei preoccupato per gli attacchi DoS a livello di applicazione, puoi limite di velocità in Nginx .

Senza più infrastrutture (Cloudflare, Loud Balancer, ecc.), non sarai in grado di mitigare i DDoS volumetrici puri: è solo un fatto di Internet che se il tuo aggressore ha più larghezza di banda di te, perderai. Questi includono attacchi come DNS / NTP DDoS riflessi, botnet IoT, ecc. In pratica, qualsiasi attacco che consente all'aggressore di inviare più traffico rispetto alla connessione Internet dell'host (fino all'interfaccia virtuale sul VPS) può gestire. Mentre Digital Ocean e altri host hanno una considerevole larghezza di banda, il tuo singolo VPS sarà saturato intorno (o prima) a 1 Gbps.

    
risposta data 16.01.2018 - 21:57
fonte

Leggi altre domande sui tag