I sistemi Linux sono sicuri per progettazione e forniscono strumenti di amministrazione robusti. Ma non importa quanto sia ben progettato un sistema, la sua sicurezza dipende dall'utente.

I principianti spesso impiegano anni per trovare le migliori politiche di sicurezza per le loro macchine. Ecco perché condividiamo questi suggerimenti essenziali per l'hardening di Linux per i nuovi utenti come te. Provali.

1. Applica criteri per password complesse

Le password sono il metodo di autenticazione principale per la maggior parte dei sistemi. Non importa se sei un utente domestico o un professionista, applicare password solide è un must. Innanzitutto, disabilita le password vuote. Non crederai a quante persone li usano ancora.

awk -F: '($ 2 == "") {print}' / etc / shadow

Esegui il comando precedente come root per visualizzare quali account hanno password vuote. Se trovi qualcuno con una password vuota, blocca subito l'utente. Puoi farlo usando quanto segue.

passwd -l USERNAME

Puoi anche impostare la durata della password per assicurarti che gli utenti non possano utilizzare le vecchie password. Usa il comando chage per farlo dal tuo terminale.

instagram viewer

chage -l USERNAME

Questo comando visualizza la data di scadenza corrente. Per impostare la scadenza della password dopo 30 giorni, utilizzare il comando seguente. Gli utenti possono usa i gestori di password Linux per proteggere gli account online.

Gli 8 migliori gestori di password Linux per rimanere al sicuro

Hai bisogno di un gestore di password sicuro per Linux? Queste app sono facili da usare e proteggono le tue password online.

chage -M 30 USERNAME

2. Backup dei dati essenziali

Se prendi sul serio i tuoi dati, imposta backup regolari. In questo modo, anche se il tuo sistema va in crash, puoi recuperare i dati velocemente. Tuttavia, la scelta del metodo di backup corretto è fondamentale per la protezione avanzata di Linux.

Se sei un utente domestico, clonare i dati in un disco rigido potrebbe bastare. Le aziende, tuttavia, necessitano di sofisticati sistemi di backup che offrano un rapido ripristino.

3. Evita metodi di comunicazione precedenti

Linux supporta molti metodi di comunicazione remota. Tuttavia, i servizi Unix legacy come telnet, rlogin e ftp possono porre seri problemi di sicurezza. Quindi, cerca di evitarli. Puoi rimuoverli del tutto per ridurre i problemi di sicurezza ad essi associati.

apt-get --purge rimuove xinetd nis tftpd tftpd-hpa telnetd \
> rsh-server rsh-redone-server

Questo comando rimuove alcuni servizi ampiamente utilizzati ma obsoleti dalle macchine Ubuntu / Debian. Se stai usando un sistema basato su RPM, usa invece quanto segue.

yum cancella xinetd ypserv tftp-server telnet-server rsh-server

4. Secure OpenSSH

Il protocollo SSH è il metodo di comunicazione remota consigliato per Linux. Assicurati di proteggere la configurazione del tuo server OpenSSH (sshd). Puoi scopri di più sulla configurazione di un server SSH qui.

Modifica il file /etc/ssh/sshd_config file per impostare le politiche di sicurezza per ssh. Di seguito sono riportate alcune politiche di sicurezza comuni che chiunque può utilizzare.

PermitRootLogin no # disabilita il login di root
MaxAuthTries 3 # limita i tentativi di autenticazione
PasswordAuthentication no # disabilita l'autenticazione della password
PermitEmptyPasswords no # disabilita le password vuote
X11 Forwarding no # disabilita la trasmissione GUI
DebianBanner no # sbilancia il banner dettagliato
AllowUsers *@XXX.X.XXX.0/24 # limita gli utenti a un intervallo IP

5. Limita l'utilizzo di CRON

CRON è un robusto pianificatore di lavori per Linux. Consente agli amministratori di pianificare le attività in Linux utilizzando crontab. Pertanto, è fondamentale limitare chi può eseguire lavori CRON. Puoi scoprire tutti i cronjob attivi per un utente utilizzando il seguente comando.

crontab -l -u USERNAME

Controlla i lavori per ogni utente per scoprire se qualcuno sta sfruttando CRON. Potresti voler impedire a tutti gli utenti di usare crontab tranne te. Esegui il seguente comando per questo.

echo $ (whoami) >> /etc/cron.d/cron.allow
# echo ALL >> /etc/cron.d/cron.deny

6. Applica i moduli PAM

Linux PAM (Pluggable Authentication Modules) offre potenti funzionalità di autenticazione per app e servizi. È possibile utilizzare vari criteri PAM per proteggere l'accesso al sistema. Ad esempio, i comandi seguenti limitano il riutilizzo della password.

# CentOS / RHEL
echo 'password sufficiente pam_unix.so use_authtok md5 shadow ricorda = 5' >> \
> /etc/pam.d/system-auth
# Ubuntu / Debian
echo 'password sufficiente pam_unix.so use_authtok md5 shadow ricorda = 5' >> \
> /etc/pam.d/common-password

Limitano l'uso delle password che sono state utilizzate nelle ultime cinque settimane. Esistono molte altre policy PAM che forniscono ulteriori livelli di sicurezza.

7. Rimuovi pacchetti inutilizzati

La rimozione dei pacchetti inutilizzati riduce la superficie di attacco sulla macchina. Quindi, ti consigliamo di eliminare i pacchetti usati raramente. È possibile visualizzare tutti i pacchetti attualmente installati utilizzando i comandi seguenti.

elenco yum installato # CentOS / RHEL 
elenco apt - installato # Ubuntu / Debian

Supponi di voler rimuovere il pacchetto inutilizzato vlc. Puoi farlo eseguendo i seguenti comandi come root.

yum rimuovere vlc # CentOS / RHEL
apt remove vlc # Ubuntu / Debian

8. Parametri del kernel protetti

Un altro modo efficace per rafforzare la protezione di Linux è proteggere i parametri del kernel. È possibile configurare questi parametri utilizzando sysctl o modificando il file di configurazione. Di seguito sono riportate alcune configurazioni comuni.

kernel.randomize_va_space = 2 # indirizzo randomnize base per mmap, heap e stack
kernel.panic = 10 # riavvia dopo 10 secondi a seguito di un kernel panic
net.ipv4.icmp_ignore_bogus_error_responses # protegge i messaggi di errore non validi
net.ipv4.ip_forward = 0 # disabilita l'inoltro IP
net.ipv4.icmp_ignore_bogus_error_responses = 1 # ignora gli errori ICP

Queste sono solo alcune configurazioni di base. Imparerai diversi modi di configurazione del kernel con l'esperienza.

9. Configura iptables

I kernel Linux forniscono robusti metodi di filtraggio per i pacchetti di rete tramite la sua API Netfilter. Puoi utilizzare iptables per interagire con questa API e impostare filtri personalizzati per le richieste di rete. Di seguito sono riportate alcune regole di base di iptables per utenti attenti alla sicurezza.

-A INPUT -j REJECT # rifiuta tutte le richieste in entrata
-A FORWARD -j REJECT # rifiuta l'inoltro del traffico
-A INPUT -i lo -j ACCETTA
-A OUTPUT -o lo -j ACCEPT # consente il traffico su localhost
# consenti richieste ping
-A OUTPUT -p icmp -j ACCEPT # consente i ping in uscita
# consente connessioni stabilite / correlate
-A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
# consente le ricerche DNS
-A USCITA -p udp -m udp --dport 53 -j ACCETTA
# consente le richieste http / https
-A USCITA -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A USCITA -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
# consenti l'accesso SSH
-A INPUT -p tcp -m tcp --dport 22 -j ACCETTA
-A USCITA -p tcp -m tcp --dport 22 -j ACCETTA

10. Registri di monitoraggio

Puoi utilizzare i log per dare un senso migliore alla tua macchina Linux. Il sistema memorizza diversi file di registro per app e servizi. Stiamo delineando quelli essenziali qui.

  • /var/log/auth.log registra i tentativi di autorizzazione
  • /var/log/daemon.log registra le app in background
  • / var / log / debug registra i dati di debug
  • /var/log/kern.log registra i dati del kernel
  • / var / log / syslog registra i dati di sistema
  • / var / log / faillog registra gli accessi non riusciti

I migliori suggerimenti per l'hardening di Linux per principianti

Proteggere un sistema Linux non è così difficile come pensi. Puoi rafforzare la sicurezza seguendo alcuni dei suggerimenti menzionati in questa guida. Acquisirai esperienza in più modi per proteggere Linux.

E-mail
7 Impostazioni essenziali per la privacy per Chrome OS e Google Chrome

Utilizzi un Chromebook, ma sei preoccupato per la privacy? Modifica queste 7 impostazioni nel browser Chrome su Chrome OS per rimanere al sicuro online.

Argomenti correlati
  • Linux
  • Sicurezza del computer
  • Linux
  • SSH
Circa l'autore
Rubaiat Hossain (5 articoli pubblicati)

Rubaiat è un laureato in informatica con una forte passione per l'open source. Oltre ad essere un veterano di Unix, è anche appassionato di sicurezza di rete, crittografia e programmazione funzionale. È un appassionato collezionista di libri di seconda mano e ha un'ammirazione infinita per il rock classico.

Altro di Rubaiat Hossain

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.