GNU/Linux >> Linux Esercitazione >  >> Linux

Configurazione del server Ubuntu – Procedure consigliate per la sicurezza

Dopo aver installato correttamente il tuo server Debian/Ubuntu, alcuni passaggi di configurazione sono essenziali per migliorare la sicurezza e la funzionalità del server. In questa guida, ti guideremo attraverso i passaggi di base nella configurazione iniziale del server del server Debian 9 / Ubuntu 18.04. Questi passaggi di base rafforzeranno il tuo server e consentiranno l'esecuzione delle operazioni successive senza interruzioni.

Accedi come utente root

Il passaggio iniziale per configurare il server è accedere come utente root. Ma prima devi avere l'indirizzo IP del tuo server e la Password o una chiave privata per l'autenticazione. Per accedere, apri il tuo terminale Linux ed esegui il comando seguente. Assicurati di sostituire l'indirizzo IP del server con il tuo indirizzo IP.

ssh user@ip-address

In questa guida utilizziamo il server Ubuntu 18.04 con un indirizzo IP pubblico 38.76.11.180 .

Per accedere usando ssh tramite il terminale, il comando è

ssh [email protected]

Se accedi per la prima volta, ti verrà richiesto di verificare l'autenticità del server.

Digita "Sì" e premi Invio. Ti verrà quindi richiesta la password del server. Fornisci la password corretta e premi Invio.

Questo ti farà accedere al prompt della shell del server come mostrato di seguito

Grande! Ora che abbiamo effettuato correttamente l'accesso al nostro server, passiamo al secondo passaggio

Crea un nuovo utente

Per le migliori pratiche di sicurezza, l'uso dell'account root per le attività amministrative è altamente sconsigliato. Perché è così? L'esecuzione del tuo server come root ti rende incline a commettere errori non intenzionali e costosi che potrebbero essere dannosi per il tuo server. Puoi facilmente fare qualcosa di dannoso per il tuo sistema che potrebbe causare danni irreversibili al tuo sistema.

Per questo motivo, creeremo un nuovo utente non root e in seguito gli concederemo i privilegi di amministratore. In questo modo, ogni volta che si tenta di eseguire un'attività a livello di root, verrà richiesta la password. Questo ti darà un po' di tempo per fermarti e pensare alle conseguenze dell'esecuzione del comando e fermarti se noti un errore costoso nell'esecuzione del comando.

Per creare un nuovo utente esegui

adduser user_name

Aggiungeremo un nuovo utente 'james'

adduser james

Ti verrà richiesta la password dell'utente e alcune domande aggiuntive. fornire le informazioni necessarie

Perfetto! per verificare la creazione dell'utente visualizzare il /etc/passwd e confermare l'esistenza dell'utente.

cat /etc/passwd

Risultato campione

L'ultima riga sopra mostra le informazioni sull'utente appena creato.

Concedi privilegi amministrativi al nuovo utente

Finora il nuovo utente ha i privilegi dell'account regolari. Abbiamo bisogno di impostare i privilegi di root per il nostro utente appena creato in modo che possano eseguire attività amministrative aggiungendo sudo prima di qualsiasi operazione.

Per fare ciò, dobbiamo aggiungere l'utente a sudo gruppo per evitare di disconnettersi e accedere come root ogni volta che si eseguono attività amministrative.

La sintassi per raggiungere questo obiettivo è

usermod -aG sudo user_name 

In questo caso, il comando per concedere i privilegi sudo all'utente 'james' sarà

usermod -aG sudo james

Ora puoi disconnetterti e accedere con il nuovo utente utilizzando il comando come indicato in precedenza

ssh [email protected]

Dopo aver effettuato correttamente l'accesso verificando l'autenticità del server e fornendo la password corretta, ora puoi eseguire qualsiasi attività di superutente facendo precedere il comando con sudo

Ad esempio, per aggiornare il sistema utilizzando l'account, eseguire il comando seguente

sudo apt update

Ti verrà richiesta una password e dopo averla fornita, l'operazione avrà inizio.

Configura un firewall di base

I server Debian e Ubuntu utilizzano il firewall UFW per consentire o negare il traffico in entrata o in uscita dal server.

Per visualizzare la connessione esistente nel firewall eseguire

sudo ufw app list

Come previsto, verrà visualizzato OpenSSH perché al momento stiamo usando ssh per connetterci al server

Risultato

Per consentire una connessione tramite il firewall, eseguire il comando seguente.

ufw allow service_name

Ad esempio, per consentire le connessioni SSH per un nuovo server eseguito:

sudo ufw allow OpenSSH

Risultato

Per aprire una porta specifica sul firewall, usa la sintassi

sudo ufw allow port/protocol

Ad esempio

sudo ufw allow 80/tcp

Risultato

Per controllare lo stato del firewall esegui

sudo ufw status

Risultato

Per abilitare il firewall, esegui il comando seguente.

sudo ufw enable

Quando richiesto, digita yes e premere 'INVIO' per abilitare il firewall ed effettuare le modifiche

Per visualizzare nuovamente lo stato del firewall e le connessioni/porte aperte esistenti, eseguire il comando

Abilita l'autenticazione senza password per il nuovo utente

Al momento, ci stiamo connettendo al nostro server utilizzando il protocollo SSH con autenticazione tramite password. Per le migliori pratiche di sicurezza, si consiglia vivamente di configurare le chiavi SSH senza l'autenticazione tramite password. Le chiavi SSH sono disponibili in coppia:una chiave pubblica e una chiave privata.
La chiave privata risiede sul computer client mentre la chiave pubblica risiede sul server a cui ci stiamo connettendo. Una volta impostata l'autenticazione con chiave SSH, l'autenticazione tramite password deve essere disabilitata. Ciò garantisce che solo l'utente con la chiave privata possa connettersi al server su cui risiede la chiave pubblica.

Passaggio 1. Genera la chiave pubblica

Per generare la coppia di chiavi, esegui il comando seguente sulla macchina client

ssh-keygen

Otterrai l'output come mostrato

Premi INVIO per salvare la coppia di chiavi è .ssh/ sottodirectory nella tua home directory. In alternativa, puoi specificare il tuo percorso.

Successivamente, ti verrà richiesta una passphrase sicura che è altamente consigliata per aggiungere uno strato protettivo aggiuntivo. Se desideri fare a meno di una passphrase, premi INVIO.

Infine, otterrai il seguente output

A questo punto, hai sia la chiave privata che quella pubblica. Sono stati salvati nel .ssh directory nella tua directory home. In questo caso, il percorso è /root.ssh

cat /root/.ssh

Risultato

id_rsa è la chiave privata

id_rsa_pub è la chiave pubblica

Passaggio 2. Copia la chiave pubblica

Per copiare la chiave pubblica sul server, utilizzeremo ssh-copy-id comando.

La sintassi sarà

ssh-copy-id user@remote-server

In questo caso, eseguiremo

ssh-copy-id [email protected]

Otterrai un output simile a quello qui sotto

Il id_rsa.pub chiave che è la chiave pubblica è stata copiata sul server.

Ora, se provi ad accedere usando la sintassi ssh user@server-ip , non ti verrà richiesta una password!

Disabilita l'autenticazione tramite password

Qualcuno può ancora accedere al nostro server se ha ottenuto la password. Per eliminare questo rischio, dobbiamo disabilitare l'autenticazione della password SSH.

Per raggiungere questo obiettivo, apriremo il file di configurazione di SSH

sudo vim /etc/ssh/sshd_config

Cerca la sezione indicata come PasswordAuthentication .

Commenta la riga e imposta il valore su no

Salva ed esci.

Per implementare le modifiche riavviare il demone SSH

sudo systemctl restart ssh

Ora puoi avviare un nuovo terminale e provare ad accedere utilizzando la password e vedere se l'autenticazione tramite password è stata disabilitata.

Ultima parola

A questo punto, dovresti avere accesso al server utilizzando l'autenticazione basata su chiave SSH configurata sul tuo server remoto e non utilizzando la password SSH.

Il tuo server è ora completamente configurato e ha una solida base di sicurezza. Assicurati di mantenere la tua chiave pubblica al sicuro. Lontano da occhi indiscreti 😀


Linux
  1. Best practice per la sicurezza di OpenSSH

  2. Configura il server Urbackup su Ubuntu 20.04

  3. Best practice per la sicurezza dei server Linux

  4. Procedure consigliate per la sicurezza dei server Windows

  5. Best practice per la sicurezza di Wordpress su Linux

Procedura:Configurazione iniziale del server Fedora 21

Procedura:configurazione iniziale del server Debian 8.2

Installazione del server di posta Postfix su Ubuntu 14.04

Configurazione iniziale del server con Ubuntu 18.04

Installazione del server di posta Postfix su Ubuntu 20.04

Come abilitare l'utente root nel server Ubuntu?