Sto cercando di creare una lista di controllo "minima indispensabile" per proteggere un server Web Unix pubblico. Supponiamo che sia una pila LAMP (o simile). Questa lista dovrebbe essere il minimo da implementare. Ovviamente i requisiti aumenterebbero per i siti ad alto traffico (protezione DDoS, alta disponibilità, ecc.), Ma non me ne preoccupo. È sufficiente cercare un elenco di requisiti minimi per l'hosting di un singolo server Web che esegue Apache o NGINX e ha un database MySQL o MariaDB di base su server e una semplice applicazione PHP. Supponiamo che funzioni su AWS, DigitalOcean, ecc. Alcune idee includono:
- Inserimento in black list / whitelist degli intervalli IP per paese
- Disabilita il login remoto per root
- Abilita fail2ban (disabilita gli IP dopo tanti tentativi di accesso falliti)
- Configura il firewall per consentire solo porte rilevanti in ingresso (ad es. ssh, sftp, https)
- Consenti solo HTTPS e verifica la validità del certificato e della configurazione del server utilizzando lo strumento di test Qualys SSL Labs ( link )
- Abilita l'autenticazione a più fattori ovunque sia rivolta al pubblico come Amazon / Digital Ocean / ecc. account, le tue credenziali al server, ecc.
- Modifica la password di root su almeno 16 caratteri, alfanumerici con caratteri speciali.
- Che altro?