Introduzione
Questa guida ti aiuterà con la tua configurazione iniziale su Debian 8.2 in modo da poter proteggere con successo il tuo server dandoti la tranquillità di sapere che il tuo server è protetto.
Con qualsiasi server, l'obiettivo principale dovrebbe essere sempre la sicurezza. Molti utenti sono vittime di infiltrazioni dannose sui loro server a causa della mancanza di limiti di sicurezza stabiliti fin dall'inizio. Cominciamo sulla strada giusta gettando le nostre basi con sicurezza.
Di cosa hai bisogno?
È necessario un server Debian 8.2 configurato con un indirizzo IP statico. Se non disponi già di un server, puoi visitare la nostra pagina del server privato virtuale e avviare un nuovo server in meno di 30 secondi.
Preparazione del server
Per iniziare, accedi alla tua Debian 8.2 tramite SSH o VNC Console in cloud.atlantic.net. I server Atlantic.Net Cloud sono configurati come installazioni minime per evitare che pacchetti non necessari vengano installati e mai utilizzati. Per questo motivo, assicuriamoci che il tuo server sia completamente aggiornato e che il servizio sudo sia installato.
apt-get update
apt-get install sudo
Con il server aggiornato, possiamo continuare il processo e proteggere il tuo server.
Aggiorna la password di root su Debian 8.2
Aggiorna la password di root poiché sarai l'unica persona che lo saprà. Consigliamo un minimo di 8 caratteri, inclusi minuscoli, maiuscoli e numeri.
passwd
Crea un nuovo utente con privilegi sudo su Debian 8.2
Creazione di un nuovo utente con i privilegi sudo ti permetterà di gestire facilmente il tuo server senza doversi preoccupare di apportare accidentalmente modifiche indesiderate. Creiamo l'utente1!
adduser user1
Compila le informazioni che si applicano all'utente e conferma le informazioni
[email protected]:~# adduser user1 Adding user `user1' ... Adding new group `user1' (1000) ... Adding new user `user1' (1000) with group `user1' ... Creating home directory `/home/user1' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for user1 Enter the new value, or press ENTER for the default Full Name []: user1 Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
In Debian 8.2 semplicemente aggiungendo il tuo utente al gruppo sudo, concederai i privilegi sudo per quell'utente digitando sudo prima di eseguire qualsiasi comando. Aggiungiamo l'utente al gruppo sudo.
adduser user1 sudo
Al termine, è possibile utilizzare il comando su – user1 per modificare l'utente da root a user1. È importante ricordare che dovrai quindi utilizzare sudo prima di eseguire qualsiasi comando con l'utente.
Configura l'accesso SSH su Debian 8.2
Nei sistemi Linux la porta 22 è la porta predefinita per le connessioni remote tramite SSH. Modificando la porta ssh aumenterai la sicurezza del tuo server impedendo agli attacchi di forza bruta e agli utenti indesiderati di raggiungere il tuo server (Userò la porta 5022 per questo tutorial). Apri il tuo file di configurazione SSH, trova la riga Port e cambia la porta 22 nella tua porta personalizzata Salva ed esci.
sudo nano /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for
Port 22 to 5022
Affinché il tuo sistema aggiorni le nuove impostazioni dal file di configurazione SSH, dobbiamo riavviare il servizio sshd.
sudo systemctl restart sshd.service
SSH è stato ora configurato per utilizzare la porta 5022 e se tenti di accedere utilizzando la porta 22, il tuo accesso fallirà.
Limita l'accesso root su Debian 8.2
Poiché abbiamo creato un nuovo utente con autorizzazioni di root, non è necessario mantenere l'utente root effettivo disponibile e vulnerabile tramite SSH sul tuo server. Limitiamo l'accesso degli utenti root in modo che sia disponibile solo sul server locale e concediamo l'autorizzazione al nuovo utente su SSH.
Apri il file di configurazione SSH, trova la riga PermitRootLogin e cambiala da sì a no.
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
Affinché il tuo sistema aggiorni le nuove impostazioni nel file di configurazione SSH, dobbiamo riavviare il servizio sshd.
sudo systemctl restart sshd.service
Crea una chiave SSH privata su Debian 8.2
Chiavi SSH pubbliche/private sono ottime funzionalità aggiuntive che aumentano la sicurezza nel metodo di accesso a un server. Tuttavia, la configurazione richiede un po' più di sforzo. La domanda è:il tuo server vale la sicurezza extra? Se desideri implementare questa funzionalità di sicurezza e misure aggiuntive, puoi continuare anche con i seguenti passaggi, procediamo e generiamo la chiave SSH.
ssh-keygen
Se desideri modificare la posizione in cui verrà salvata la chiave SSH, puoi specificarla qui, in caso contrario la posizione predefinita è OK. Premi Invio quando ti viene richiesta la seguente domanda, quindi inserisci una passphrase, a meno che tu non ne voglia una.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Vedrai quindi le seguenti informazioni sullo schermo.
La configurazione della chiave SSH è fondamentale, dobbiamo copiare l'intera stringa della chiave in un documento Word/Blocco note. La chiave può essere visualizzata nella seguente posizione utilizzando il comando cat.
cat ~/.ssh/id_rsa.pub
Copia la chiave SSH che inizia con ssh-rsa e termina con [email protected] nel tuo documento Word/Blocco note in modo da poterlo aggiungere al file di configurazione. Una volta che la chiave SSH è stata archiviata in modo sicuro, dobbiamo apportare più modifiche al server. È qui che intervengono i privilegi sudo per il tuo utente1.
su - user1
La directory per le chiavi SSH necessita di autorizzazioni limitate che solo il proprietario può leggere, scrivere ed eseguire il file.
sudo chmod 700 .ssh
All'interno della directory SSH deve essere aggiunto un file contenente la SSH Key, semplicemente utilizzando il proprio editor (in questo caso VI) al seguente percorso:
nano .ssh/authorized_keys
Incolla la chiave SSH, quindi salva ed esci utilizzando il formato nano.
Infine, dobbiamo limitare i privilegi del file authorized_keys che abbiamo appena creato in modo che solo il proprietario possa leggere e scrivere.
chmod 600 .ssh/authorized_keys
Ora possiamo verificare che la chiave funzioni chiudendo la sessione e digitando quanto segue nella tua console SSH [email protected] o nel nome host del tuo server. Questo può essere ottenuto con il seguente comando:
ifconfig eth0 | grep inet | awk '{ print $2 }'
Inoltre, puoi fare clic "qui" per vedere il nostro articolo Come generare e utilizzare le chiavi SSH.
Regole di base del firewall su Debian 8.2
sudo apt-get install firewalld
Ora dobbiamo consentire alla nostra porta SSH personalizzata creata in precedenza per accedere pubblicamente al server. Inoltre, ci sono molte altre regole che possono essere utilizzate a seconda del tipo di server che desideri distribuire.
sudo firewall-cmd --permanent --add-port=5022/tcp
Se disponi di un server web, potresti voler consentire le seguenti regole in modo che i tuoi siti possano essere accessibili tramite Internet.
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
Se disponi di un server di posta, potresti voler consentire le seguenti regole se utilizzerai il tuo server per le impostazioni POP3 in entrata. La porta 110 è la porta standard e la porta 995 è per una connessione più sicura tramite SSL.
sudo firewall-cmd --permanent --add-service=pop3s
Inoltre, potresti voler consentire le seguenti regole se utilizzerai il tuo server per le impostazioni SMTP in uscita.
sudo firewall-cmd --permanent --add-service=smtp
Infine, potresti voler consentire le seguenti regole se utilizzerai il tuo server con le impostazioni IMAP.
sudo firewall-cmd --permanent --add-service=imaps
Salva il tuo lavoro ed esci.
Affinché Firewalld accetti tali impostazioni, è necessario riavviare il firewall.
sudo firewall-cmd --reload
Le tue impostazioni saranno state salvate e sarai pronto per procedere verificando tutti i servizi/porte disponibili eseguendo quanto segue:
sudo firewall-cmd --permanent --list-all
Sincronizzazione dell'ora NTP su Debian 8.2
L'NTP (Network Time Protocol) viene fondamentalmente utilizzato per sincronizzare l'ora e la data dei computer sulla rete in modo da rimanere accurati e aggiornati. Iniziamo installando il servizio NTP (se non è già stato installato) e configuriamo il servizio per la sincronizzazione con i loro server.
sudo apt-get install ntp
Una volta installato il servizio NTP, dobbiamo assicurarci che il servizio sia attivo.
sudo /etc/init.d/ntp start
Se il servizio è attivo, sincronizzerà automaticamente le informazioni sull'ora del server con il server di NTP.
Aggiungi file di scambio su Debian 8.2
Un file Swap è semplicemente una piccola quantità di spazio creata sul disco rigido di un server per simulare la RAM. Nel caso in cui il server stia esaurendo la memoria, esaminerà il disco rigido e allevierà il carico inducendo il sistema a pensare che abbia più memoria. Imposteremo il file di scambio sul disco rigido per aumentare un po' di più le prestazioni del server.
Inizia controllando le tue risorse per assicurarti di poter aggiungere il file. Quando esegui il comando seguente, vedrai la percentuale di spazio sul disco rigido attualmente in uso.
df -h
Quando si crea un file Swap di solito si desidera aggiungere metà della RAM esistente fino a 4 GB (se si dispone di 1 GB di RAM effettiva, si aggiunge un file da 512 MB). In questa parte aggiungerò un file di scambio da 512 MB all'unità. Il modo in cui viene calcolato è di 1024 x 512 MB =524288 dimensioni del blocco.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
Ora che abbiamo aggiunto un file di scambio, per procedere è necessario creare un'area per il file di scambio.
sudo mkswap /swapfile
Con il file di scambio creato e l'area del file di scambio aggiunta, possiamo andare avanti e aggiungere i permessi al file in modo che solo il proprietario possa leggere e scrivere.
sudo chown root:root /swapfile
sudo chmod 600 /swapfile
Ora che il file di scambio ha le autorizzazioni appropriate, possiamo andare avanti e attivarlo.
sudo swapon /swapfile
Puoi verificare il file di scambio appena aggiunto con quanto segue.
sudo swapon -s
Per rendere il file Swap sempre attivo anche dopo un riavvio, dobbiamo configurarlo di conseguenza.
sudo nano /etc/fstab
Incolla il seguente comando in fondo al file, salva il tuo lavoro ed esci.
/swapfile swap swap defaults 0 0
Infine, verifica se il tuo file di scambio è attivato digitando il seguente comando:
free -m
E poi?
Ora hai un server con una solida base di sicurezza che ti darà la tranquillità di sapere che il tuo server è protetto. Potresti iniziare a installare qualsiasi software aggiuntivo a seconda dello scopo del server.