Introduzione
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 fondamenta con sicurezza. Questa guida ti aiuterà con la tua configurazione iniziale su Ubuntu 15.04 in modo da poter proteggere con successo il tuo server dandoti tranquillità sapendo che il tuo server è protetto.
Di cosa hai bisogno?
Hai bisogno di un server Ubuntu 15.04 configurato con un indirizzo IP statico. Se non disponi già di un server, puoi visitare la nostra pagina di hosting VPS leader del settore e avviare un nuovo server in meno di 30 secondi.
Preparazione del server
Per iniziare, accedi al tuo server Ubuntu 15.04 tramite SSH o la console VNC che si trova qui. I server Atlantic.Net Cloud sono impostati come installazioni minime per evitare che pacchetti non necessari vengano installati e mai utilizzati. Se alcuni pacchetti software a cui sei abituato non sono installati per impostazione predefinita, sentiti libero di installarli secondo necessità.
Assicuriamoci che il tuo server sia completamente aggiornato.
Aggiorna la password di root di Ubuntu 15.04
Digita il seguente comando per attivare la tua richiesta e segui le istruzioni sullo schermo per aggiornare/confermare la tua password di root:
passwd
Crea un nuovo utente con privilegi sudo
Dopo aver aggiornato con successo la tua password, ti consigliamo di creare un nuovo utente con autorizzazioni sudo/root. Poiché l'utente amministratore standard per molti sistemi operativi Linux come Ubuntu 15.04 è "root", creeremo un nuovo utente amministratore che verrà utilizzato per le attività di amministrazione quotidiane. La creazione di un nuovo utente con autorizzazioni di root aumenterà la sicurezza del modo in cui si accede al server. Gli individui che cercano di prendere di mira il tuo sistema prenderanno di mira l'utente root perché è noto per essere l'account amministratore predefinito. Creando un nuovo utente con autorizzazioni sudo/root e disabilitando l'utente root, aumenti la sicurezza utilizzando un utente che non è già pubblicamente noto.
Digita il seguente comando per creare il tuo nuovo utente sostituendo "utente1" con il tuo nome utente e conferma.
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
Crea una password per quell'utente digitando il seguente comando per attivare la tua richiesta e seguendo le istruzioni sullo schermo per aggiornare/confermare la tua password "utente1":
passwd user1
Dopo aver creato un nuovo utente e aver creato la password per quell'utente, è il momento di aggiungere l'utente al gruppo sudo wheel. In Ubuntu 15.04, una volta aggiunti al gruppo sudo wheel, vengono assegnati automaticamente i permessi sudo/root. Esegui il comando seguente per aggiungere l'utente al gruppo sudo wheel.
adduser user1 sudo
Infine, dopo aver creato l'utente con autorizzazioni sudo/root, puoi uscire dalla sessione e accedere nuovamente con il tuo "utente1" per verificare le modifiche apportate. In alternativa, puoi eseguire il comando seguente e cambiare gli utenti da root a "user1", che ti chiederà la password di quell'utente. È importante ricordare che dovrai usare sudo prima di eseguire qualsiasi comando con l'utente.
su - user1
Configura accesso SSH
La porta 22 è la porta predefinita per le connessioni remote tramite SSH nei sistemi Linux. 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 utilizzando la porta predefinita. Per questo tutorial, usa la porta 5022 come esempio.
Apri il tuo file di configurazione SSH, trova la riga Port, rimuovi il # e cambia il numero 22 nella tua porta personalizzata. Salva ed esci.
sudo nano /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for Port 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 si tenta di accedere utilizzando la porta 22, l'accesso avrà esito negativo. Tuttavia, non uscire dalla sessione poiché è necessario configurare prima la porta personalizzata nella parte di configurazione dei firewall, che configureremo nei passaggi successivi.
Limita accesso root
Dal momento che abbiamo creato un nuovo utente con autorizzazioni di root e creato una porta ssh personalizzata, non è necessario mantenere l'utente root effettivo disponibile e vulnerabile su SSH sul tuo server. Limitiamo l'accesso dell'utente root al server locale e concediamo l'autorizzazione al nuovo utente solo tramite SSH.
Apri il file di configurazione SSH, trova la riga PermitRootLogin, rimuovi il # e cambialo da yes a no.
sudo nano /etc/ssh/sshd_config
#PermitRootLogin yes 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
Nota:ora avrai l'utente root disabilitato nell'apportare tali modifiche, quindi devi accedere al tuo server con "utente1" che hai creato. Tuttavia, non uscire dalla sessione. Dobbiamo configurare la porta personalizzata sul firewall nei prossimi passaggi.
Crea una chiave SSH privata
Chiavi SSH pubbliche/private sono ottime funzionalità aggiuntive che aumentano la sicurezza nel metodo di un server. Tuttavia, la configurazione richiede un po' più di sforzo. La domanda è:il tuo server vale la sicurezza extra? Se desideri implementare le seguenti funzionalità di sicurezza, puoi continuare con i passaggi successivi. Procediamo e generiamo la chiave SSH.
ssh-keygen
Se desideri modificare la posizione in cui verrà salvata la chiave SSH, puoi specificarla qui. Tuttavia, la posizione predefinita in cui è archiviato dovrebbe essere OK. Premi Invio quando ti viene richiesto con 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):
Questa è la pagina predefinita quando si installano le chiavi SSH su un server Ubuntu 15.04
La configurazione della chiave SSH è fondamentale. Dobbiamo copiare l'intera stringa di chiavi in un documento Word/Blocco note. La chiave può essere visualizzata nella seguente posizione con il comando cat.
cat ~/.ssh/id_rsa.pub
Copia la chiave SSH, che inizia con ssh-rsa e termina con [email protected], in un documento Word/Blocco note per aggiungerla al file di configurazione in seguito.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L [email protected]
Una volta che la chiave SSH è stata archiviata in modo sicuro, 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 NANO) al seguente percorso:
nano .ssh/authorized_keys
Incolla la chiave SSH, quindi salva ed esci utilizzando il formato nano.
Infine, dobbiamo limitare i permessi 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 [email protected] o il nome host del tuo server nella tua console SSH. Inoltre, puoi fare clic "qui" per vedere il nostro articolo Come generare e utilizzare le chiavi SSH per ulteriori informazioni.
Regole di base del firewall
sudo apt-get install firewalld
Successivamente, aggiungeremo una regola per consentire alla porta SSH personalizzata 5022 creata in precedenza di accedere pubblicamente al server. Allo stesso tempo, rimuoveremo la precedente regola predefinita che consente l'accesso SSH su TCP/22.
sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh
Se disponi di un server web, potresti voler consentire alle seguenti regole di accedere ai tuoi siti su Internet.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
Puoi usarlo per regole simili relative a tutti i sistemi che desideri siano accessibili pubblicamente. Questo server di prova è configurato per ospitare un sito Web e servizi di posta elettronica, quindi oltre alle regole SSH e HTTP(S) aggiornate, sono state aggiunte regole aggiuntive per POP3, IMAP e SMTP sicuri.
sudo firewall-cmd --permanent --add-service=pop3s sudo firewall-cmd --permanent --add-service=imaps sudo firewall-cmd --permanent --add-service=smtp
Affinché Firewalld accetti tali impostazioni, è necessario riavviare il firewall.
sudo firewall-cmd --reload
Le tue impostazioni saranno state salvate e sarai pronto per procedere. Per verificare tutti i servizi/porte disponibili, esegui quanto segue:
sudo firewall-cmd --permanent --list-all
Questa è la pagina predefinita dopo aver configurato le regole di Firewalld sul server Ubuntu 15.04
Sincronizzazione ora NTP
L'NTP (Network Time Protocol) viene utilizzato per sincronizzare l'ora e la data dei computer sulla rete per rimanere accurati e aggiornati. Iniziamo installando l'NTP (se non è stato installato) e configurando 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
Aggiungi file di scambio
Un file Swap è semplicemente un piccolo spazio creato su un disco rigido del server per simulare la RAM. Se il server sta esaurendo la memoria, esaminerà il disco rigido e allevierà il carico inducendo il sistema a pensare di avere 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 crei un file Swap, di solito vuoi aggiungere metà della tua RAM esistente fino a 4 GB (se hai 1 GB di RAM reale, aggiungi 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, è necessario creare un'area per procedere.
sudo mkswap /swapfile
Con il file di scambio creato e l'area file di scambio aggiunta, potremmo 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 comando seguente in fondo al file, salva il lavoro ed esci.
/swapfile swap swap defaults 0 0
Infine, verifica se il tuo file di scambio è attivato digitando il seguente comando:
free -m
Questa è la pagina predefinita dopo aver creato un file di scambio su un server Ubuntu 15.04
E poi?
Con ciò, ora hai un server con solide basi di sicurezza, che ti dà la tranquillità di sapere che il tuo server è protetto. Ora puoi procedere alla creazione della tua piattaforma in base alle tue esigenze. Grazie per averci seguito e non esitare a ricontrollare con noi per ulteriori aggiornamenti.
Atlantic.Net si impegna a fornire il meglio in termini di supporto tecnico per i nostri clienti e offre linee complete di soluzioni di hosting VPS per aziende di qualsiasi dimensione.