GNU/Linux >> Linux Esercitazione >  >> Linux

Come proteggere Rocky Linux 8

La sicurezza è una considerazione essenziale per qualsiasi server avviato in un ambiente di produzione. L'ultima versione di Rocky Linux 8 è dotata di solide funzionalità di sicurezza. Tuttavia, non tutti sono attivi o configurati correttamente per impostazione predefinita, quindi una nuova installazione è sempre vulnerabile a hack e attacchi di intrusione.

In questa guida, daremo un'occhiata ad alcune attività importanti da eseguire sul server per la configurazione iniziale e il rafforzamento del server di base.

Prerequisiti

  • Un nuovo server Rocky Linux 8 sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:aggiorna il tuo server

Prima di iniziare, accedi al tuo server Rocky Linux 8 tramite SSH o la console VNC che si trova qui:https://cloud.atlantic.net/

Dopo l'accesso, dovrai installare le ultime patch di sicurezza e gli aggiornamenti sul tuo server. Esegui il comando seguente per aggiornarli.

dnf update -y

I server Atlantic.Net sono impostati come installazioni minime per evitare che pacchetti non necessari vengano installati e lasciati inutilizzati. È possibile installare alcuni pacchetti software di base eseguendo il comando seguente:

dnf install wget git curl bind-utils tree net-tools -y

Passaggio 2:modifica della password di root predefinita

Quando avvii un nuovo server, i tuoi server vengono automaticamente impostati con password sicure. Tuttavia, si consiglia di modificare la password di root ogni 60-90 giorni in seguito per garantire che rimanga sicura. Dovresti creare una password di root con un minimo di 8 caratteri, inclusi caratteri minuscoli, caratteri maiuscoli e numeri.

Puoi cambiare la password di root usando il seguente comando:

passwd root

Passaggio 3:crea un nuovo utente con privilegi sudo

Innanzitutto, crea un nuovo utente con il seguente comando:

adduser user1

Quindi, imposta la password user1 usando il seguente comando:

passwd user1

Dopo aver creato un nuovo utente, dovrai aggiungere questo utente al gruppo sudo wheel. In Rocky Linux 8, 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.

usermod -aG wheel user1

Dopo aver creato l'utente con i permessi sudo/root, accedi a user1 con il seguente comando:

su - user1

Una volta effettuato l'accesso, esegui il seguente comando utilizzando sudo:

sudo dnf update -y

Ti verrà chiesto di fornire la password utente1 per aggiornare il tuo sistema.

Ciò confermerà che il tuo utente sudo funziona come previsto.

Passaggio 4 – Disabilita l'accesso root tramite SSH

Abbiamo già creato un utente amministratore con autorizzazioni sudo/root per eseguire tutte le attività. Non è necessario mantenere l'utente root disponibile e vulnerabile tramite SSH sul server, quindi sarà necessario disabilitare l'accesso root tramite SSH.

Modifica il file di configurazione principale SSH con il seguente comando:

sudo nano /etc/ssh/sshd_config

Trova la riga seguente:

PermitRootLogin yes

Cambialo nella seguente riga:

PermitRootLogin no

Salva e chiudi il file, quindi riavvia il servizio SSH per applicare le modifiche:

systemctl restart sshd

Passaggio 5:modifica della porta predefinita SSH

Per modificare la porta SSH, modificare il file di configurazione principale SSH:

sudo nano /etc/ssh/sshd_config

Trova la riga seguente:

#Port 22

Modificalo nelle seguenti righe:

Port 2020

Salva e chiudi il file, quindi riavvia il servizio SSH per applicare le modifiche:

systemctl restart sshd

Ora puoi accedere al tuo server Atlantic da remoto tramite SSH usando il seguente comando:

ssh [email protected] -p 2020

Passaggio 6:configurare un firewall

firewall-cmd --state

Dovresti vedere che il firewall non è in esecuzione:

not running

Si consiglia di abilitare il firewall e consentire le porte necessarie per l'accesso esterno.

Innanzitutto, abilita il servizio firewalld con il seguente comando:

systemctl start firewalld
systemctl enable firewalld

Quindi, consenti la porta SSH 2020 attraverso il firewall con il seguente comando:

sudo firewall-cmd --permanent --add-port=2020/tcp

Quindi, ricarica il servizio firewalld per applicare le modifiche:

sudo firewall-cmd --reload

Ora puoi verificare le porte aggiunte con il seguente comando:

sudo firewall-cmd --list-ports

Dovresti vedere il seguente output:

2020/tcp

Se sul server è installato e in esecuzione un server Web, potrebbe essere necessario consentire il servizio HTTP e HTTPS tramite il firewall per potervi accedere tramite Internet.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Per consentire l'accesso esterno ai servizi POP3, IMAP e SMTP, esegui il comando seguente:

sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp

Passaggio 7:installazione di NTP per la sincronizzazione dell'ora

Si consiglia inoltre di installare un server NTP per sincronizzare l'ora e la data dei computer sulla rete in modo da mantenerli accurati e aggiornati.

Innanzitutto, installa il server NTP utilizzando il seguente comando:

sudo dnf install chrony -y

Una volta installato il servizio NTP, avvialo e abilitalo all'avvio al riavvio del sistema:

sudo systemctl start chronyd
sudo systemctl enable chronyd

Ora, il tuo server NTP è installato e aggiornerà costantemente l'ora del server dal server NTP.

Passaggio 8:disattivare IPv6

Se non stai utilizzando IPv6, ti consigliamo di disabilitarlo per motivi di sicurezza.

Innanzitutto, controlla se IPv6 è abilitato sulla tua installazione di Rocky Linux 8 utilizzando il seguente comando:

ip a | grep inet6

Dovresti vedere le seguenti righe se IPv6 è abilitato:

    inet6 ::1/128 scope host 
    inet6 fe80::200:d8ff:fe62:817/64 scope link 
    inet6 fe80::200:aff:fe62:817/64 scope link

Dovrai creare un nuovo file di configurazione per disabilitare IPv6:

sudo nano /etc/sysctl.d/70-ipv6.conf

Aggiungi le seguenti righe:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Salvare e chiudere il file, quindi ricaricare il file di configurazione con il seguente comando:

sudo sysctl --load /etc/sysctl.d/70-ipv6.conf

Dovresti vedere il seguente output:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Per verificare che IPv6 sia disabilitato, esegui il comando seguente:

ip a | grep inet6

Se il comando non restituisce nulla, hai confermato che IPv6 è stato disabilitato su tutte le tue interfacce di rete.

Fase 9:crea uno spazio di scambio

Uno scambio è uno spazio su un disco che viene utilizzato quando la quantità di memoria RAM fisica è piena. Quando il tuo server esaurisce la RAM, tutte le pagine inattive vengono spostate dalla RAM allo spazio di scambio.

Quando avvii una nuova istanza su Atlantic.Net, non viene creata una partizione di swap. Dovrai creare uno spazio di scambio manualmente dopo aver avviato la nuova istanza.

In genere, lo spazio di scambio dovrebbe essere la metà della RAM esistente. Se hai 1 GB di RAM effettiva, dovrai creare un file da 512 MB.

Innanzitutto, crea uno spazio di scambio (di 512 MB) con il seguente comando:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

Uscita:

524288+0 records in
524288+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 10.3523 s, 51.9 MB/s

Puoi calcolare la dimensione del blocco usando la formula 1024 x 512 MB =524288.

Dopo aver creato lo spazio Swap, formattalo con il seguente comando:

sudo mkswap /swapfile

Uscita:

mkswap: /swapfile: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=8981408a-549d-47aa-a99a-72870b65212d

Quindi, imposta le autorizzazioni appropriate su /swapfile con il seguente comando:

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Quindi, attiva lo spazio di scambio usando il seguente comando:

sudo swapon /swapfile

Successivamente, verifica lo spazio di scambio utilizzando il seguente comando:

swapon -s

Uscita:

Filename				Type		Size	Used	Priority
/swapfile                              	file    	524284	0	-2

Successivamente, dovrai aggiungere la voce del file Swap a /etc/fstab per renderlo attivo anche dopo un riavvio.

nano /etc/fstab

Aggiungi la seguente riga:

/swapfile              swap   swap     defaults     0 0

Salva e chiudi il file, quindi verifica lo spazio di Swap utilizzando il seguente comando:

free -m

Dovresti vedere il seguente output:

              total        used        free      shared  buff/cache   available
Mem:           1817         263         100          68        1452        1329
Swap:           511           0         511

Conclusione

Nella guida sopra, abbiamo spiegato alcuni passaggi di base per proteggere il tuo server Rocky Linux 8. Ora puoi procedere all'hosting di qualsiasi applicazione nell'ambiente protetto:provalo sul tuo account di hosting VPS da Atlantic.Net!


Linux
  1. Come installare MariaDB 10.6 su Rocky Linux 8

  2. Come installare Docker su Rocky Linux 8

  3. Come installare Gulp.js su Rocky Linux 8

  4. Come creare un utente Sudo in Rocky Linux 8

  5. Come installare MariaDB su Rocky Linux 8

Come installare MongoDB su Rocky Linux 8

Come installare PostgreSQL su Rocky Linux 8

Come installare Cactus su Rocky Linux 8

Come installare Joomla su Rocky Linux 8

Come installare Fail2ban su Rocky Linux 8

Come installare ImageMagick su Rocky Linux 8