LINUX

Come utilizzare /etc/sysctl.conf per rafforzare la sicurezza del kernel Linux

Sysctl è un potente comando Linux che funge da interfaccia per modificare dinamicamente i parametri del kernel. Con questo comando è possibile modificare i parametri del kernel senza ricompilare il kernel o riavviare la macchina.

I parametri disponibili per la modifica si trovano nella directory /proc/sys. Quindi procfs (che simula il file system per poter comunicare con il kernel tramite il file system) è obbligatorio per “sysctl”. Solo il superutente (root) può eseguire questo comando.

Modifica dei parametri del kernel Utilizzando il comando sysctl

I parametri del kernel possono essere modificati temporaneamente o permanentemente. Le modifiche temporanee ai parametri del kernel sono:

1. Leggi i parametri correnti del kernel,

sysctl -a

2. Utilizzare l’opzione “-w” per scrivere un valore in una variabile:

Esempio:

sysctl –w net.ipv4.icmp_echo_ignore_all=1

Questo comando istruirà il server a ignorare i pacchetti ICMP (richieste ping). Il valore “0” rappresenta “Off” e “1” rappresenta “On”. Queste modifiche sono temporanee e verranno ripristinate al riavvio.

Modifica permanente dei parametri del kernel

A. Modifica diretta dei valori in procfs

È possibile modificare direttamente i file in procfs (la directory /proc/sys) per modificare il parametro del kernel.

Esempio:

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

Il comando precedente disabiliterà i pacchetti ICMP.

B. Modifica del file di configurazione /etc/sysctl.conf

Questo è il modo più consigliato per modificare i parametri del kernel. È necessario aggiungere la seguente riga a /etc/sysctl.conf per il filtraggio dei pacchetti ICMP.

net.ipv4.icmp_echo_ignore_all = 1

Dopo aver modificato il file di configurazione di sysctl, è necessario eseguire il seguente comando per caricare le impostazioni di sysctl dal file /etc/sysctl.conf.

sysctl -p

Ottimizzazione della sicurezza e delle prestazioni tramite sysctl

1. Controllare l’inoltro dei pacchetti IP

L’inoltro dei pacchetti IP deve essere abilitato solo sui server che fungono da router o gateway. In tutti gli altri server, questa funzione dovrebbe essere disabilitata.

net.ipv4.ip_forward = 0

2. Verifica dell’indirizzo di origine

Questo “controllo di integrità” aiuta contro l’attacco di spoofing.

net.ipv4.conf.all.rp_filter = 1

3. Abilitare la protezione execshield

Execshield è una patch di sicurezza per il kernel Linux per evitare worm e altri problemi. Aggiungere le seguenti righe a /etc/sysctl.conf per abilitare la protezione execshield.

kernel.exec-shield = 1
kernel.randomize_va_space = 1

4. Protezione contro le inondazioni SYN

In questo attacco, il sistema viene inondato da una serie di pacchetti SYN. Ogni pacchetto fa sì che il sistema emetta una risposta SYN-ACK. Il sistema quindi attende l’ACK che segue il SYN+ACK (stretta di mano a tre vie). Poiché l’attacco non restituisce mai ACK, l’intera risorsa di sistema viene riempita, chiamata coda. Una volta che la coda è piena, il sistema ignorerà le richieste in arrivo da utenti legittimi per i servizi (http/mail ecc.). Per fermare questo, è necessario abilitare SYNcookies in sysctl.conf.

net.ipv4.tcp_syncookies = 1

5. Prevenire gli attacchi dei puffi

Un attacco smurf è uno sfruttamento dell’indirizzo di trasmissione IP (Internet Protocol) per creare un denial of service. Il programma smurf costruisce un pacchetto di rete che sembra provenire da un indirizzo diverso (questo è noto come spoofing dell’indirizzo IP). Il pacchetto contiene un messaggio ping ICMP indirizzato a un indirizzo IP broadcast, ovvero a tutti gli indirizzi IP su una determinata rete. Le risposte echo al messaggio ping vengono rispedite all’indirizzo della “vittima”. Un numero sufficiente di ping e gli echi risultanti possono inondare la rete, rendendola inutilizzabile per il traffico reale.

Un modo per sconfiggere lo smurfing è disabilitare l’indirizzo di trasmissione IP.

net.ipv4.icmp_echo_ignore_broadcasts = 1

6. Registra tutti i pacchetti marziani

Un pacchetto Martian è un pacchetto IP che specifica un indirizzo di origine o di destinazione riservato per uso speciale da parte dell’Internet Assigned Numbers Authority (IANA) e che non può effettivamente originarsi come richiesto o consegnato.

I pacchetti marziani in genere derivano dallo spoofing dell’indirizzo IP negli attacchi denial-of-service,

net.ipv4.conf.all.log_martians = 1

Conclusione

In questo tutorial, abbiamo imparato come utilizzare il comando sysctl e impostare i parametri del kernel in Linux. Spero ti sia piaciuto leggere e per favore lascia il tuo suggerimento nella sezione commenti qui sotto.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close