Queste raccomandazioni sono fuori dalla mia testa e non intendono essere esaustive.
Dai un'occhiata alla Bastiglia, è una serie di script che implementa le migliori pratiche in Linux.
Non inviare dati di autenticazione tramite protocolli in chiaro. Ad esempio, disabilitare FTP. Se invii dati di autenticazione tramite Apache, utilizza SSL.
Disabilita e rimuovi qualsiasi software non necessario inclusa l'interfaccia della GUI.
Controlla tutti i file con il bit SUID impostato e rimuovi. (Ciò limiterà notevolmente le capacità non root. Comprendi le implicazioni per ogni singolo cambiamento.)
Controlla le directory scrivibili pubbliche e rimuovi il bit scrivibile. (Lascia solo / tmp.)
Evita di eseguire qualsiasi demone come root.
Ricerca tutti i software multiutente che ascoltano in dettaglio i socket per le migliori pratiche di sicurezza.
Evitare di aggiungere utenti al sistema è uno dei migliori approcci. I sistemi multiutente richiedono maggiore attenzione ai dettagli.
Applicare gli standard delle password. Ad esempio: minimo 10 caratteri, caratteri non alfanumerici, utilizzando lettere e numeri. Questo per rendere più difficile la forzatura bruta in caso di compromissione del file di password. Applicare questo tramite il sistema.
Blocca gli utenti dopo 5 tentativi di autenticazione falliti con un blocco di almeno 10 minuti. Mantenere una cronologia delle password in modo che gli utenti non possano utilizzare le 5 password passate.
Se si dispone di un ambiente più ampio, l'utilizzo della segregazione di rete con più sottoreti per isolare il rischio è un requisito assoluto. Se un ambiente più piccolo, si consiglia di eseguire un firewall sul sistema locale per limitare l'esposizione. Ad esempio, consentendo solo SSH al tuo IP. tcpwrappers può essere utilizzato anche per un livello aggiuntivo. (/etc/hosts.allow, /etc/hosts.deny)
E, naturalmente, mantenere aggiornato tutto il software. Soprattutto i demoni rivolti al pubblico.
Con SSH:
- Disabilita protocollo SSH 1
- Consenti solo l'autenticazione root
without-password
(solo keypair)
Con Apache:
- Disabilita tutti i moduli che non sono necessari
- Disabilita .htaccess e directory pubbliche
- Disabilita FollowSymlink e tutte le opzioni non necessarie
- Non installare PHP se non ti serve.
Con MySQL:
- Disabilita gli utenti predefiniti.
- Non utilizzare host con caratteri jolly.
- Assicurati di impostare un host unico per ogni utente.
- Non ascoltare su tcp a meno che non sia necessario. (Insolitamente inevitabile.)
- Limitare il più possibile i privilegi dell'utente dell'applicazione. (SELECT, INSERT, UPDATE, DELETE ideali per la scrittura e SELECT per la lettura)
Consiglierei di ricercare la messa a punto di php.ini per la sicurezza in particolare. È un software più rischioso per impostazione predefinita.
Bastille