GNU/Linux >> Linux Esercitazione >  >> Cent OS

I 7 migliori consigli per rafforzare la sicurezza per CentOS 8 / RHEL 8 Server

Dopo aver installato il server CentOS 8 / RHEL 8, la sicurezza per impedire accessi non autorizzati e intrusioni viene in secondo luogo. Come dice l'adagio, "Prevenire è meglio che curare", così è meglio prevenire gli hack che tentare di rimediare.

Esplora alcuni passaggi che puoi eseguire per rafforzare e proteggere il server CentOS 8 / RHEL 8 e contrastare i tentativi di hacking.

1) Configura un firewall

In qualità di utente Linux attento alla sicurezza, non consentiresti alcun traffico nel tuo sistema CentOS 8 / RHEL 8 per motivi di sicurezza. In effetti, la configurazione di un firewall è una delle attività iniziali di configurazione del server che un amministratore di sistema deve eseguire per aprire solo porte specifiche e consentire i servizi attualmente in uso.

Per impostazione predefinita, il sistema CentsO8 / RHEL 8 viene fornito con firewalld firewall che può essere avviato e abilitato all'avvio eseguendo i comandi:

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

Per verificare i servizi consentiti sul firewall è sufficiente eseguire il comando:

$ sudo firewall-cmd --list all

Per aprire una porta sul firewall, ad esempio la porta 443, eseguire il comando:

$ sudo firewall-cmd --add-port=443/tcp --zone=public --permanent

Per consentire un servizio, ad esempio ssh , usa il comando:

$ sudo firewall-cmd --add-service=ssh  --zone=public --permanent

Per rimuovere una porta e un servizio , utilizza –remove-port e –servizio di rimozione rispettivamente gli attributi.

Affinché le modifiche abbiano effetto, ricarica sempre il firewall come mostrato.

$ sudo firewall-cmd --reload

2) Disattiva i servizi inutilizzati/non desiderati

Si consiglia sempre di disattivare i servizi inutilizzati o non necessari sul server. Questo perché maggiore è il numero di servizi in esecuzione, maggiore è il numero di porte aperte sul tuo sistema che possono essere sfruttate da un utente malintenzionato per ottenere l'accesso al tuo sistema. Inoltre, desistere dall'utilizzare servizi vecchi e non sicuri come telnet che inviano traffico in chiaro

Le migliori pratiche di sicurezza consigliano di disabilitare i servizi inutilizzati e di eliminare tutti i servizi non sicuri in esecuzione sul sistema. Puoi utilizzare lo strumento nmap per scansionare il tuo sistema e controllare quali porte sono aperte e in ascolto.

3) Proteggi i file critici

È essenziale bloccare i file critici per impedirne l'eliminazione o la modifica accidentale. Tali file includono /etc/passwd e /etc/gshadow che contengono password con hash. Per rendere i file immutabili (cioè prevenire la modifica o la cancellazione accidentale) usa il comando chattr come mostrato:

$ sudo chattr +i /etc/passwd
$ sudo chattr +i /etc/shadow

Ciò garantisce che un hacker non possa modificare la password degli utenti o eliminarli, con conseguente negazione dell'accesso al sistema.

4) Protocollo SSH sicuro

Il protocollo SSH è un protocollo comunemente usato per gli accessi remoti. Per impostazione predefinita, il protocollo ha punti deboli nativi che possono essere sfruttati da un hacker.

Per impostazione predefinita, SSH consente l'accesso remoto da parte dell'utente root. Questa è una potenziale scappatoia e se un hacker riesce a ottenere la password di root sul tuo sistema, il tuo server è praticamente alla sua mercé. Per evitare ciò, è consigliabile negare l'accesso root remoto e creare invece un utente normale di accesso con privilegi sudo. Puoi farlo modificando il file di configurazione SSH /etc/ssh/sshd_config e disabilitando l'accesso come root come mostrato:

PermitRootLogin

Un altro modo per proteggere SSH è configurare l'autenticazione senza password SSH tramite l'uso di chiavi ssh. Invece di utilizzare l'autenticazione della password, soggetta ad attacchi di forza bruta, le chiavi SSH sono preferite in quanto consentono l'accesso solo agli utenti con la chiave ssh per accedere al server remoto e bloccare qualsiasi altro utente. Il primo passaggio per abilitare l'autenticazione senza password è generare una coppia di chiavi utilizzando il comando:

$ ssh-keygen

Questo genera una coppia di chiavi pubblica e privata. La chiave privata risiede sull'host mentre la chiave pubblica viene copiata sul sistema o sul server remoto. Una volta copiata la coppia ssh-key, puoi accedere facilmente al sistema remoto senza che ti venga richiesta una password. Quindi, disabilita l'autenticazione della password modificando il file di configurazione /etc/ssh/sshd_config e impostando questo valore:

PasswordAuthentication no

Dopo aver apportato le modifiche, assicurati di riavviare il servizio SSH affinché le modifiche abbiano effetto.

$ sudo systemctl restart sshd

5 ) Definisci un limite per i tentativi di password

Per rafforzare ulteriormente il tuo server, potresti considerare di limitare il numero di tentativi di password durante la registrazione tramite SSH per scoraggiare gli attacchi di forza bruta. Di nuovo, vai al file di configurazione SSH, scorri e individua il parametro "MaxAuthTries". Decommentalo e imposta un valore , ad esempio 3 come mostrato.

MaxAuthTries 3

Ciò implica che dopo 3 tentativi di password errata, la sessione verrà chiusa. Questo è utile soprattutto quando vuoi bloccare script/programmi robotici che tentano di accedere al tuo sistema.

6) Impostare un sistema di prevenzione delle intrusioni (IPS)

Finora, abbiamo coperto i passaggi di base che puoi eseguire per rafforzare il tuo server CentOS 8 / RHEL 8. Per aggiungere un altro livello, si consiglia di installare un sistema di rilevamento delle intrusioni. Un perfetto esempio di IPS è Fail2ban.

Fail2ban è un sistema di prevenzione delle intrusioni gratuito e open source che protegge i server dagli attacchi di forza bruta vietando gli indirizzi IP dopo un certo numero di tentativi di accesso che possono essere specificati nel suo file di configurazione. Una volta bloccato, l'utente malintenzionato o non autorizzato non può nemmeno avviare un tentativo di accesso SSH.

7) Aggiorna regolarmente il tuo server

Questo articolo non sarebbe completo senza sottolineare quanto sia fondamentale aggiornare regolarmente il server. Ciò garantisce che il tuo server riceva le funzionalità più recenti e gli aggiornamenti di sicurezza che sono essenziali per affrontare i problemi di sicurezza esistenti.

È possibile impostare gli aggiornamenti automatici utilizzando l'utility Cockpit, uno strumento di gestione del server basato su GUI che esegue anche una serie di altre attività. Questo è l'ideale soprattutto se hai intenzione di fare un lungo soggiorno o una vacanza senza accedere al server.


Cent OS
  1. 15 passaggi per rafforzare Linux per il server CentOS 7

  2. Come configurare una porta separata per SSH e SFTP su CentOS/RHEL

  3. Come configurare il server VNC per i nuovi utenti in CentOS/RHEL 5

  4. Come creare un repository Yum per l'installazione di pacchetti di sistema in CentOS/RHEL

  5. Installa MySQL 5.6 su CentOS 7 / RHEL 7

Configura il server Samba su CentOS 8/RHEL 8 per la condivisione di file

7 suggerimenti efficaci per bloccare lo spam e-mail con Postfix su CentOS/RHEL

Come installare Varnish Cache per Apache su CentOS/RHEL 8

Procedure consigliate per la distribuzione di Hadoop Server su CentOS/RHEL 7 – Parte 1

Pannello Web di CentOS – Pannello di controllo di hosting Web gratuito all-in-one per CentOS/RHEL 6

Come configurare SSH su CentOS e RHEL