Repository 32bit  Forum
Repository 64bit  Wiki

Firewall... partiamo da 0!

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Firewall... partiamo da 0!

Messaggioda ChriD » mer nov 09, 2005 18:51

Allora... mi sono messo in testa che voglio scrivere un piccolo firewall e piano piano lo farò (con il vostro grande aiuto, spero :P )!

La prima cosa che vi devo domandare è che se do il comando iptables-save che in teoria mostra il firewall o la policy (non so se è giusto) adottata dal iptables, mi mostra la seguente cosa.....

# Generated by iptables-save v1.3.3 on Wed Nov 9 18:50:42 2005
*nat
:PREROUTING ACCEPT [1:314]
:POSTROUTING ACCEPT [39:2349]
:OUTPUT ACCEPT [39:2349]
COMMIT
# Completed on Wed Nov 9 18:50:42 2005
# Generated by iptables-save v1.3.3 on Wed Nov 9 18:50:42 2005
*mangle
:PREROUTING ACCEPT [1075:1036555]
:INPUT ACCEPT [1074:1036241]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1088:226326]
:POSTROUTING ACCEPT [1088:226326]
COMMIT
# Completed on Wed Nov 9 18:50:42 2005
# Generated by iptables-save v1.3.3 on Wed Nov 9 18:50:42 2005
*filter
:INPUT ACCEPT [1074:1036241]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1088:226326]
COMMIT
# Completed on Wed Nov 9 18:50:42 2005


Significa che ho attivato cosa???
cioè già c'è un qualcosa di base nella SLackware 10.2???

Se si.... come posso cancellare tutto questo popò di roba e iniziare da 0??? :?:
ChriD
Linux 2.4
Linux 2.4
 
Messaggi: 329
Iscritto il: dom ott 30, 2005 16:43

Messaggioda Bart » mer nov 09, 2005 19:19

Ciao, di default non c'è nulla, o meglio, è tutto impostato su ACCEPT e cioè viene accettato ogni tipo di traffico su ogni chain.
Per vedere se hai delle opzioni di iptables attive devi dare:
iptables -L
e vedrai che come policy hai tutto ACCEPT.
Ecco il mio modificato:
Codice: Seleziona tutto
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Come puoi vedere è tutto impostato su DROP e cioè viene scartato ogni pacchetto su ogni catena (a parte le connessioni RELATED,ESTABLISHED). Al contrario la catena di OUTPUT è l'unica settata su ACCEPT. Se vuoi puoi droppare anche questa, ma per un uso home è quasi eccessivo.
Se cerchi nel forum pochi giorni fa ho postato uno script che dovrebbe fare al caso tuo.
Bart
Staff
Staff
 
Messaggi: 4248
Iscritto il: dom ago 08, 2004 23:00
Località: Rimini

Messaggioda ChriD » mer nov 09, 2005 19:38

Bart ha scritto:Ciao, di default non c'è nulla, o meglio, è tutto impostato su ACCEPT e cioè viene accettato ogni tipo di traffico su ogni chain.
Per vedere se hai delle opzioni di iptables attive devi dare:
iptables -L
e vedrai che come policy hai tutto ACCEPT.
Ecco il mio modificato:
Codice: Seleziona tutto
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Come puoi vedere è tutto impostato su DROP e cioè viene scartato ogni pacchetto su ogni catena (a parte le connessioni RELATED,ESTABLISHED). Al contrario la catena di OUTPUT è l'unica settata su ACCEPT. Se vuoi puoi droppare anche questa, ma per un uso home è quasi eccessivo.
Se cerchi nel forum pochi giorni fa ho postato uno script che dovrebbe fare al caso tuo.


di che voci ha bisogno, per creare questo firewall, il kernel?????
ChriD
Linux 2.4
Linux 2.4
 
Messaggi: 329
Iscritto il: dom ott 30, 2005 16:43

Messaggioda Bart » mer nov 09, 2005 19:43

Il tool iptables inserisce e rimuove le regole dalla tabella di filtraggio del kernel. Questo significa che tutte le regole impostate andranno perse al reboot. Per poter usarlo devi inserire nel kernel il supporto per iptables (appunto). Se hai usato il config di Pat è sicuramente presente e non devi modificare nulla a livello di kernel. Quello che devi fare è semplicemente creare uno script con delle regole e avviarlo al boot del sistema in modo tale che vengano sempre caricate. Quello che vedi sopra è il risultato di uno script che parte in automatico all'avvio. Guarda qui ---> http://www.slacky.it/forum/viewtopic.ph ... t=firewall
Bart
Staff
Staff
 
Messaggi: 4248
Iscritto il: dom ago 08, 2004 23:00
Località: Rimini

Messaggioda ChriD » mer nov 09, 2005 19:47

Bart ha scritto:Il tool iptables inserisce e rimuove le regole dalla tabella di filtraggio del kernel. Questo significa che tutte le regole impostate andranno perse al reboot. Per poter usarlo devi inserire nel kernel il supporto per iptables (appunto). Se hai usato il config di Pat è sicuramente presente e non devi modificare nulla a livello di kernel. Quello che devi fare è semplicemente creare uno script con delle regole e avviarlo al boot del sistema in modo tale che vengano sempre caricate. Quello che vedi sopra è il risultato di uno script che parte in automatico all'avvio. Guarda qui ---> http://www.slacky.it/forum/viewtopic.ph ... t=firewall


purtroppo ho ricompilato il kernel e credo che dovrò farlo nuovamente!

Basta quindi inserire le voci dell'iptables come modulari (con tutte le sottovoci)?? oppure ci vogliono statiche??
devo abilitare altre voci??
ChriD
Linux 2.4
Linux 2.4
 
Messaggi: 329
Iscritto il: dom ott 30, 2005 16:43

Messaggioda Bart » mer nov 09, 2005 20:09

Credo che di default sia modulare tanto che anche da me è:
CONFIG_IP_NF_IPTABLES=m
comunque prima di compilare fa una prova: lancia da root iptables -L
Se il comando parte allora non devi fare nulla e ti basta creare quello script e seguire le istruzioni che ho messo in quel link.

Questo link ti tornerà utile: http://www.netfilter.org
Qui trovi tutto.
Bart
Staff
Staff
 
Messaggi: 4248
Iscritto il: dom ago 08, 2004 23:00
Località: Rimini

Messaggioda ChriD » mer nov 09, 2005 20:17

Bart ha scritto:Credo che di default sia modulare tanto che anche da me è:
CONFIG_IP_NF_IPTABLES=m
comunque prima di compilare fa una prova: lancia da root iptables -L
Se il comando parte allora non devi fare nulla e ti basta creare quello script e seguire le istruzioni che ho messo in quel link.


ok... il comando funge... però ho provato a digitare il comando da user /usr/sbin/iptables e mi diceva che non poteva eseguire il comando e di ricontrollare il kernel!!!

Senti.... lo script che hai fatto tu.... non è che lo potresti commentare riga per riga in maniera tale da permettermi di capire un pochino di quello che hai fatto e di non farmi fare solo il copione... :P

poi lo salvo in un file che chiamo per esempio in /etc/rc.d/rc.firewall e lo faccio partire da rc.local (come lo chiamo da rc.local)???
ChriD
Linux 2.4
Linux 2.4
 
Messaggi: 329
Iscritto il: dom ott 30, 2005 16:43

Messaggioda Bart » mer nov 09, 2005 20:30

ChriD ha scritto:ok... il comando funge... però ho provato a digitare il comando da user /usr/sbin/iptables e mi diceva che non poteva eseguire il comando e di ricontrollare il kernel!!!

Guarda che succede se lancio iptables da utente:
Codice: Seleziona tutto
iptables v1.3.3: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
Questo accade perchè iptables lo puoi utilizzare solo da root. Pensa a cosa potrebbe succedere se ogni utente potesse cambiare le regole di packet filtering della macchina in questione...
ChriD ha scritto:Senti.... lo script che hai fatto tu.... non è che lo potresti commentare riga per riga in maniera tale da permettermi di capire un pochino di quello che hai fatto e di non farmi fare solo il copione... :P

Se vuoi te lo commento ma a mio avviso ti conviene leggere gli howto che trovi su netfilter(link sopra).
ChriD ha scritto:poi lo salvo in un file che chiamo per esempio in /etc/rc.d/rc.firewall e lo faccio partire da rc.local (come lo chiamo da rc.local)???

Allora procediamo per passi:
1) crei un file che chiami come meglio credi (io l'ho chiamato fw).
Il file puoi crearlo con il comendo:
Codice: Seleziona tutto
touch nomeFile ----> quindi -----> touch fw

Apri il file con un editor qualsiasi e scrivi le regole del firewall.
2)Una volta terminato, lo salvi sotto /sbin. In /sbin ci stanno i file eseguibili che gestisce l'utente root, quindi questo file è giusto che stia qui.
3)Fatto questo basta che apri il file /etc/rc.d/rc.local e gli inserisci la riga:
Codice: Seleziona tutto
/sbin/fw
che richiama appunto il file con le regole del firewall appena creato. Lo metti in /etc/rc.d/rc.local perchè questo file è adibito ai comandi che devono essere eseguiti al boot della macchina.
Occhio che il file fw deve essere eseguibile.
Per renderlo eseguibile da root dai:
Codice: Seleziona tutto
 chmod a+x fw
Bart
Staff
Staff
 
Messaggi: 4248
Iscritto il: dom ago 08, 2004 23:00
Località: Rimini

Messaggioda ChriD » mer nov 09, 2005 20:57

Bart ha scritto:
ChriD ha scritto:ok... il comando funge... però ho provato a digitare il comando da user /usr/sbin/iptables e mi diceva che non poteva eseguire il comando e di ricontrollare il kernel!!!

Guarda che succede se lancio iptables da utente:
Codice: Seleziona tutto
iptables v1.3.3: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
Questo accade perchè iptables lo puoi utilizzare solo da root. Pensa a cosa potrebbe succedere se ogni utente potesse cambiare le regole di packet filtering della macchina in questione...
ChriD ha scritto:Senti.... lo script che hai fatto tu.... non è che lo potresti commentare riga per riga in maniera tale da permettermi di capire un pochino di quello che hai fatto e di non farmi fare solo il copione... :P

Se vuoi te lo commento ma a mio avviso ti conviene leggere gli howto che trovi su netfilter(link sopra).
ChriD ha scritto:poi lo salvo in un file che chiamo per esempio in /etc/rc.d/rc.firewall e lo faccio partire da rc.local (come lo chiamo da rc.local)???

Allora procediamo per passi:
1) crei un file che chiami come meglio credi (io l'ho chiamato fw).
Il file puoi crearlo con il comendo:
Codice: Seleziona tutto
touch nomeFile ----> quindi -----> touch fw

Apri il file con un editor qualsiasi e scrivi le regole del firewall.
2)Una volta terminato, lo salvi sotto /sbin. In /sbin ci stanno i file eseguibili che gestisce l'utente root, quindi questo file è giusto che stia qui.
3)Fatto questo basta che apri il file /etc/rc.d/rc.local e gli inserisci la riga:
Codice: Seleziona tutto
/sbin/fw
che richiama appunto il file con le regole del firewall appena creato. Lo metti in /etc/rc.d/rc.local perchè questo file è adibito ai comandi che devono essere eseguiti al boot della macchina.
Occhio che il file fw deve essere eseguibile.
Per renderlo eseguibile da root dai:
Codice: Seleziona tutto
 chmod a+x fw


Ok... grazies mille...
fra poco mi metto all'opera!
ChriD
Linux 2.4
Linux 2.4
 
Messaggi: 329
Iscritto il: dom ott 30, 2005 16:43


Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron