chalda.it
2Nov/09Off

Shorewall: abilitare e configurare il firewall in linux (debian, ubuntu)

firewall

Il firefall su un server è una cosa fondamentale.
Per configurarlo occorre sapere a perfezione la sintassi di iptables? No!
Shorewall ci viene incontro grazie ad una sintassi più umana e la possibilità di configurare zone... Ma procediamo per ordine!

La versione di shorewall che installeremo sarà la 4.0.15-1, quella inclusa nella distribuzione Debian Lenny
Il primo passo è l'installazione, consiglio la versione in perl in quanto molto più performante:

apt-get install shorewall-perl

Bene, ora il nostro firewall attivo e possiamo cominciare la configurazione modificando il file /etc/shorewall/shorewall.conf con il nostro programma di editor preferito

pico -w /etc/shorewall/shorewall.conf

Visto che abbiamo installato shorewall-perl, abilitiamo il compilatore perl:

SHOREWALL_COMPILER = perl

Abilitiamo il log per i pacchetti marziani, cioè quei pacchetti che sono su una rete diversa da quella che in cui dovrebbero essere 🙂

LOG_MARTIANS = Yes

Settiamo una directory predefinita /etc/shorewall/localmacros in cui inserire i nostri file delle macro:

CONFIG_PATH=/et/shorewall:/usr/share/shorewall:/etc/shorewall/localmacros

Abilitiamo l'ip forwarding solo se necessario (se il firewall è installato su un sistema isolato oppure se l'accesso verso l'esterno avviene tramite proxy lasciare keep)

IP_FORWARDING = On

Abilitiamo anche il fast accept:

FAST_ACCEPT = Yes

Una breve menzione su ADMINISABSENTMINDED (letteralmente: l'amministratore è assente con la testa): lasciatelo a Yes, questo vi impedirà di bloccare la vostra connessione al sistema per colpa di qualche regola dovuta al troppo caffè 🙂

Per una guida completa ai parametri di configurazione di shorewall consultare la guida digitando

man shorewall.conf

Bene, ora la configurazione di shorewall è a posto! Con shorewall check possiamo testare se la configurazione è ok e non ci sono errori.
Proviamo ad eseguire il comando...

Debian:~# shorewall check
Checking...
   ERROR: No firewall zone defined

Ovviamente da errore perché non abbiamo definito nessuna zona!
Come facciamo a definirla? Dobbiamo creare un file zones nella directory /etc/shorewall. Lo copiamo direttamente dagli esempi del file e lo modifichiamo:

cp /usr/share/doc/shorewall-common/default-config/zones /etc/shorewall
pico -w /etc/shorewall/zones

Aggiungiamo quindi la nostra zona internet (massimo 5 caratteri!) di tipo ipv4:

inter ipv4

Riproviamo a dare shorewall check:

Debian:~# shorewall check
Checking...
   Checking /etc/shorewall/zones...
   ERROR: No network interfaces defined

Mancano le interfacce di rete.
Anche qui copiamo il file interfaces dagli esempi del file e lo modifichiamo:

cp /usr/share/doc/shorewall-common/default-config/interfaces /etc/shorewall
pico -w /etc/shorewall/interfaces

ed inseriamo:

inter eth0 - dhcp

stessa cosa per le policy:

cp /usr/share/doc/shorewall-common/default-config/policy /etc/shorewall
pico -w /etc/shorewall/policy

ed inseriamo:

all all DROP info

In questo modo qualsiasi connessione viene bloccata e loggata.

Ora eseguendo il check vedremo che tutto è configurato! Non ci resta che farlo partire con shorewall start!

Ovviamente tutte le porte saranno bloccate, quindi non andrà nulla 🙂
Ora dovremmo riempire il file delle regole con le nostre direttive!

Il file si chiama rules e lo troviamo sempre nelle configurazioni di default:

cp /usr/share/doc/shorewall-common/default-config/rules /etc/shorewall
pico -w /etc/shorewall/rules

Ecco un tipico file rules per un webserver:

COMMENT Abilito il ping
Ping/ACCEPT inter fw - - - - 1/sec

COMMENT Abilito http e https
Web/ACCEPT inter fw

COMMENT Abilito l'accesso via ssh da degli ip specifici
SSH/ACCEPT inter:67.27.1.10,27.37.6.7 fw

COMMENT Abilito il DNS
DNS/ACCEPT fw inter

COMMENT Abilito i server mail
SMTP/ACCEPT fw inter
SMTPS/ACCEPT fw inter
POP3/ACCEPT fw inter
POP3S/ACCEPT fw inter

COMMENT Abilito Webmin
Webmin/ACCEPT inter fw

COMMENT

Da ricordare che i commenti vanno chiusi con un COMMENT finale.

Un elenco delle macro disponibili si trova eseguendo

shorewall show macros

Ora il vostro firewall è configurato al minimo essenziale!

Per maggiori dettagli leggete la guida di shorewall!

Be Sociable, Share!
Commenti (1) Trackback (0)
  1. Ottima guida!
    Aggiungerei nel titolo “Configurare shorewall per webserver in 10 minuti!”
    Grazie!


I trackback sono disattivati.