In questo articolo puoi trovare alcune informazioni generali per la sicurezza del tuo server, consigli per una configurazione sicura e misure di sicurezza da prendere per aumentare il livello di sicurezza del tuo server Linux.

Nota bene:

Queste raccomandazioni sulla sicurezza si applicano solo ai server con accesso root.

Disattiva l'accesso root SSH

Per impostazione predefinita, l'utente root viene creato come primo utente su ogni sistema Linux ed è quello che ha i diritti maggiori. Con l'utente root, hai accesso a tutti i comandi e file e ai diritti completi di lettura, scrittura ed esecuzione. Se questo account utente viene utilizzato in modo improprio, questo può avere un impatto significativo sul server. Pertanto, è necessario utilizzare questo utente solo per configurare il server dopo la sua creazione.

Poiché il nome utente root viene spesso utilizzato come nome utente predefinito per l'utente root, questo rappresenta spesso un bersaglio per gli attacchi esterni. Per questo motivo, ti consigliamo di configurare un altro account utente e di disattivare l'accesso root SSH. Quando configuri l'account utente, assicurati che questo possa ottenere i diritti utente root inserendo il comando sudo. In alternativa, puoi disattivare  l'autenticazione della password per l'utente root nel file /etc/ssh/sshd_config inserendo la voce PermitRootLogin prohibit-password. In questo caso, l'utente root può accedere al server solo utilizzando l'autenticazione a chiave pubblica SSH.

In questo articolo puoi trovare ulteriori informazioni a riguardo: Disattivare l'accesso root SSH

Modifica la porta SSH

Per impostazione predefinita, per stabilire una connessione SSH, viene utilizzata la porta 22. Questa porta viene inserita automaticamente durante l'installazione del sistema operativo.

Per ridurre il numero di attacchi di forza bruta, è possibile configurare un'altra porta per l'accesso SSH.

Importante:

Prima di modificare la porta, assicurati che le applicazioni e i servizi installati sul server possano essere configurati senza avere come porta predefinita la porta 22. In caso contrario, la modifica della porta predefinita potrebbe causare l'interruzione del funzionamento di queste applicazioni e di questi servizi.

Puoi trovare ulteriori informazioni a proposito in questo articolo: Modificare una porta SSH

Imposta una notifica via e-mail per segnalare gli accessi tramite SSH

Per monitorare l'attività remota, è necessario impostare una notifica via e-mail per segnalare l'avvenuto accesso tramite SSH. Questa notifica via e-mail può essere utilizzata per determinare se è in corso un accesso non autorizzato al server. È sufficiente un semplice script di shell che invia automaticamente un'e-mail di notifica al tuo indirizzo ogni volta che viene eseguito l'accesso al tuo server da remoto.

Importante:

Se un utente stabilisce una connessione SSH utilizzando un programma come WinSCP, che non esegue un accesso completo, uno script come quello descritto di seguito non invierà alcuna e-mail!

Proteggi l'accesso tramite SSH da attacchi di forza bruta con fail2ban

Fail2Ban è un software che scansiona i file di log come /var/log/pwdfail o /var/log/apache/error_log e blocca temporaneamente gli indirizzi IP che hanno eseguito troppi tentativi di accesso falliti. In questo modo, Fail2Ban può rilevare e respingere gli attacchi di forza bruta.

Puoi scaricare Fail2Ban qui.

Installa un Intrusion Detection System

Un Intrusion Detection System è un sistema con il quale è possibile rilevare tempestivamente gli attacchi su un server o su una rete. I sistemi di rilevamento delle intrusioni più noti sono Tripwire, Aide e Psad.

Verifica che il tuo server non abbia porte aperte con Nmap

Nmap è un software open source che consente di eseguire controlli di sicurezza. Con questo software open source, è possibile determinare quali host sono disponibili in rete. Inoltre, puoi utilizzare Nmap per identificare le porte aperte di un host e identificare i servizi che rispondono alle porte aperte.

All'indirizzo seguente puoi trovare maggiori informazioni su Nmap: http://nmap.org.

Consulta ulteriori Hardening Guides

Per indurire in modo ottimale il sistema operativo del tuo server contro gli attacchi esterni, ti consigliamo di consultare le Hardening Guides, offerte dai rispettivi provider di distribuzione.

CentOS 7

https://wiki.centos.org/HowTos/OS_Protection

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index


Ubuntu

https://ubuntu.com/security?_ga=2.263273356.1615448989.1569829053-453270342.1569829053

Debian

https://www.debian.org/doc/manuals/debian-faq/index.it.html

Verifica i processi sospetti

Se sospetti che il tuo server sia compromesso nonostante tutte le misure di sicurezza adottate, dovresti controllare i processi in corso. Per verificare la presenza di processi sospetti sul server, procedi come segue:

Ubuntu

  • Accedi al server come amministratore.

  • Per visualizzare un elenco dei processi in esecuzione, inserisci il seguente comando:

    root@localhost:~# ps aux

    In alternativa, puoi reindirizzare i processi in esecuzione su un file utilizzando il seguente comando:

    ps aux > processes.txt
    less processes.txt


CentOS 7

  • Accedi al server come amministratore.

  • Per visualizzare un elenco dei processi in esecuzione, inserisci il seguente comando:

    root@localhost:~# ps aux

    In alternativa, puoi reindirizzare i processi in esecuzione su un file utilizzando il seguente comando:

    ps aux > processes.txt
    less processes.txt

Presta attenzione ai programmi che si trovano in directory inusuali. Esempi:

/usr/local/bin
/var/wwwww
/tmp

Se noti un processo che non riesci ad identificare, ti consigliamo di verificare prima di tutto se il processo è in esecuzione di default sul tuo sistema operativo o su un'applicazione installata. Inoltre, scansiona il tuo server alla ricerca di malware e virus utilizzando uno scanner di malware e un programma antivirus.

Consigli di sicurezza per applicazioni e database

Proteggi o rinomina le sottodirectory delle applicazioni

Gli hacker spesso ricercano le sottodirectory di alcune applicazioni, come ad es. /phpmyadmin. Quando trovano quello che stanno cercando, tentano con tutte le falle di sicurezza per ottenere l'accesso all'applicazione. Se non puoi proteggere queste sottodirectory, è necessario rinominarle.

Se non hai bisogno di queste applicazioni, sarebbe meglio disinstallarle per motivi di sicurezza.

Esegui il backup dei database

Se utilizzi un database come MySQL o MariaDB, devi assicurarti di averne eseguito il backup. Di seguito ti riportiamo alcune importanti misure di sicurezza:

  • Assicurati che l'utente locale "root" abbia bisogno di un'autenticazione per accedere al database.

  • Utilizza gli algoritmi di hashing più potenti disponibili per l'autenticazione.

  • Verifica che la strategia di backup sia implementata correttamente e testa il ripristino del database. Un normale backup dei file potrebbe non essere sufficiente. Per questo motivo, è necessario creare un'esportazione del database con strumenti come mysqldump o pg_dump.

Ulteriori articoli su questo tema

Qui può trovare la prima parte di questo articolo: Informazioni importanti per la sicurezza del tuo server Linux (prima parte)