Repository 32bit  Forum
Repository 64bit  Wiki

script firewall

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.

script firewall

Messaggioda salbutamolo » dom apr 17, 2005 13:34

Ciao a tutti, <BR>navigo dietro ad un router linksys con protezione dmz e ho deciso di fare anche uno script per iptables. Su zeus news ho trovato un bello script e l´ho adattato alle mie esigenze tuttavia una volta caricato mi impedisce l´accesso ad ogni cosa. Internet, posta, tutto insomma! Vi posto lo script, è un po´ lungo scusate, perchè non capisco dove sbaglio: <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> #!/bin/bash <BR>############################################################################### <BR># <BR># rc.firewall <BR># <BR># script di configurazione per Netfilter: il computer dispone di una <BR># connessione non permanente a Internet con indirizzo IP dinamico e di una <BR># scheda ethernet per il collegamento a una LAN privata <BR># <BR># rc.firewall, lanciato senza opzioni, configura Netfilter e kernel; con <BR># l´opzione -v configura Netfilter e kernel e visualizza la configurazione <BR># <BR># nota: i range di porte utilizzati per la definizione delle regole sono qui <BR># specificati con la notazione abbreviata (gli estremi 0 e 65535 sono omessi) <BR># <BR>############################################################################### <BR>############################################################################### <BR># <BR># lo script deve essere eseguito da root: se le permissions del file non sono <BR># corrette (700) e ne consentono l´esecuzione anche da parte di utenti non <BR># privilegiati, entra in azione il controllo che segue <BR># <BR>############################################################################### <BR>if [ "$(id -u)" -ne "0" ] <BR>then <BR> echo "$0: You must be root to run this script" >&2 <BR> exit 1 <BR>fi <BR>############################################################################### <BR># <BR># variabili di environment: modificare secondo la propria configurazione <BR># <BR>############################################################################### <BR>LAN_NET="192.168.1.0/24" # range di indirizzi della LAN <BR>LAN_IP="192.168.1.2" # indirizzo del computer sulla LAN <BR>LAN_IF="eth0" # interfaccia di rete LAN <BR>INET_IF="eth0" # interfaccia virtuale di collegamento a Internet <BR>############################################################################### <BR># <BR># setup preliminare <BR># <BR>############################################################################### <BR>modprobe ip_conntrack_ftp <BR>iptables -F <BR>iptables -X <BR>############################################################################### <BR># <BR># definizione della chain STOP (logga e scarta i pacchetti) <BR># <BR>############################################################################### <BR>iptables -N STOP <BR>iptables -A STOP -j LOG <BR>iptables -A STOP -j DROP <BR>############################################################################### <BR># <BR># tutto il traffico che richiede routing viene scartato <BR># <BR>############################################################################### <BR>iptables -A FORWARD -j STOP <BR>############################################################################### <BR># <BR># tutto il traffico sospetto (pacchetti non validi e frammenti) viene scartato <BR># <BR>############################################################################### <BR>iptables -A INPUT -j STOP -m state --state INVALID <BR>iptables -A INPUT -j STOP -f <BR>iptables -A OUTPUT -j STOP -m state --state INVALID <BR>iptables -A OUTPUT -j STOP -f <BR>############################################################################### <BR># <BR># loopback: tutto il traffico locale e´ abilitato senza limitazioni <BR># <BR>############################################################################### <BR>iptables -A INPUT -i lo -j ACCEPT <BR>iptables -A OUTPUT -o lo -j ACCEPT <BR>############################################################################### <BR># <BR># lan: il traffico da e verso la rete locale e´ abilitato con la sola <BR># esclusione dei pacchetti con indirizzi non lan o sospetti <BR># <BR>############################################################################### <BR>iptables -A INPUT -i $LAN_IF -j STOP -s $LAN_IP <BR>iptables -A INPUT -i $LAN_IF -j STOP -d ! $LAN_IP <BR>iptables -A INPUT -i $LAN_IF -j STOP -s ! $LAN_NET <BR>iptables -A INPUT -i $LAN_IF -j ACCEPT <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -d $LAN_IP <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -s ! $LAN_IP <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -d ! $LAN_NET <BR>iptables -A OUTPUT -o $LAN_IF -j ACCEPT <BR>############################################################################### <BR># <BR># internet: sono scaratati i pacchetti provenienti o destinati a reti private <BR># o indirizzi riservati (classi a, b, c, e) <BR># <BR>############################################################################### <BR>iptables -A INPUT -i $INET_IF -j STOP -s 10.0.0.0/8 <BR>iptables -A INPUT -i $INET_IF -j STOP -d 10.0.0.0/8 <BR>iptables -A INPUT -i $INET_IF -j STOP -s 172.16.0.0/12 <BR>iptables -A INPUT -i $INET_IF -j STOP -d 172.16.0.0/12 <BR>iptables -A INPUT -i $INET_IF -j STOP -s 192.168.0.0/16 <BR>iptables -A INPUT -i $INET_IF -j STOP -d 192.168.0.0/16 <BR>iptables -A INPUT -i $INET_IF -j STOP -s 240.0.0.0/5 <BR>iptables -A INPUT -i $INET_IF -j STOP -d 240.0.0.0/5 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 10.0.0.0/8 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 10.0.0.0/8 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 172.16.0.0/12 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 172.16.0.0/12 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 192.168.0.0/16 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 192.168.0.0/16 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 240.0.0.0/5 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 240.0.0.0/5 <BR>############################################################################### <BR># <BR># internet: sono bloccati i pacchetti da e per indirizzi di loopback <BR># <BR>############################################################################### <BR>iptables -A INPUT -i $INET_IF -j STOP -s 127.0.0.0/8 <BR>iptables -A INPUT -i $INET_IF -j STOP -d 127.0.0.0/8 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 127.0.0.0/8 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 127.0.0.0/8 <BR>############################################################################### <BR># <BR># internet: sono bloccati i pacchetti da e per indirizzi di broadcast atipici <BR># <BR>############################################################################### <BR>iptables -A INPUT -i $INET_IF -j STOP -s 0.0.0.0 <BR>iptables -A INPUT -i $INET_IF -j STOP -d 0.0.0.0 <BR>iptables -A INPUT -i $INET_IF -j STOP -s 255.255.255.255 <BR>iptables -A INPUT -i $INET_IF -j STOP -d 255.255.255.255 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 0.0.0.0 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 0.0.0.0 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 255.255.255.255 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 255.255.255.255 <BR>############################################################################### <BR># <BR># internet: i multicast (classe d) sono accettati in ingresso se l´indirizzo <BR># multicast e´ quello di destinazione; in uscita sono sempre scartati <BR># <BR>############################################################################### <BR>iptables -A INPUT -i $INET_IF -j STOP -s 224.0.0.0/4 <BR>iptables -A INPUT -i $INET_IF -j ACCEPT -d 224.0.0.0/4 -p udp \ <BR> -m limit --limit 5/second --limit-burst 10 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -s 224.0.0.0/4 <BR>iptables -A OUTPUT -o $INET_IF -j STOP -d 224.0.0.0/4 <BR>############################################################################### <BR># <BR># internet: bloccati tutti i pacchetti in ingresso diretti a indirizzi diversi <BR># da quello locale e tutti i pacchetti in uscita con indirizzo di origine <BR># diverso da quello locale <BR># <BR>############################################################################### <BR>iptables -A INPUT -i $INET_IF -j DROP <BR>iptables -A OUTPUT -o $INET_IF -j DROP <BR>############################################################################### <BR># <BR># internet: dns (solo query) <BR># <BR>############################################################################### <BR>iptables -A OUTPUT -o $INET_IF -j ACCEPT -p udp --sport 1024: --dport 53 \ <BR> -m state --state NEW,ESTABLISHED <BR>iptables -A INPUT -i $INET_IF -j ACCEPT -p udp --dport 1024: --sport 53 \ <BR> -m state --state ESTABLISHED <BR>############################################################################### <BR># <BR># internet: ftp (controllo), smtp, http, pop3, https <BR># <BR>############################################################################### <BR>iptables -A OUTPUT -o $INET_IF -j ACCEPT -p tcp --sport 1024: \ <BR> -m multiport --dports 21,25,80,110,443 -m state --state NEW,ESTABLISHED <BR>iptables -A INPUT -i $INET_IF -j ACCEPT -p tcp --dport 1024: \ <BR> -m multiport --sports 21,25,80,110,443 -m state --state ESTABLISHED <BR>############################################################################### <BR># <BR># internet: ftp (dati / active); per attivare le regole rimuovere i <BR># caratteri "#" in testa alle righe <BR># <BR>############################################################################### <BR>#iptables -A INPUT -i $INET_IF -j ACCEPT -p tcp --dport 1024: --sport 20 \ <BR># -m state --state RELATED -m limit --limit 10/minute --limit-burst 15 <BR>#iptables -A INPUT -i $INET_IF -j ACCEPT -p tcp --dport 1024: --sport 20 \ <BR># -m state --state ESTABLISHED <BR>#iptables -A OUTPUT -o $INET_IF -j ACCEPT -p tcp --sport 1024: --dport 20 \ <BR># -m state --state ESTABLISHED <BR>############################################################################### <BR># <BR># internet: ftp (dati / passive) <BR># <BR>############################################################################### <BR>iptables -A OUTPUT -o $INET_IF -j ACCEPT -p tcp --sport 1024: --dport 1024: \ <BR> -m state --state RELATED,ESTABLISHED <BR>iptables -A INPUT -i $INET_IF -j ACCEPT -p tcp --dport 1024: --sport 1024: \ <BR> -m state --state ESTABLISHED <BR>############################################################################### <BR># <BR># internet: traceroute solo verso host remoti <BR># <BR>############################################################################### <BR>iptables -A OUTPUT -o $INET_IF -j ACCEPT -p udp --sport 32769: \ <BR> --dport 33434:33523 -m state --state NEW <BR>############################################################################### <BR># <BR># internet: icmp ok verso host remoti; in ingresso solo in risposta a <BR># connessioni gia´ attive <BR># <BR>############################################################################### <BR>iptables -A OUTPUT -o $INET_IF -j ACCEPT -p icmp -m state --state NEW <BR>iptables -A INPUT -i $INET_IF -j ACCEPT -p icmp \ <BR> -m state --state RELATED,ESTABLISHED <BR>############################################################################### <BR># <BR># tutto cio´ che non e´ stato esplicitamente ammesso viene bloccato ora <BR># <BR>############################################################################### <BR>iptables -A INPUT -j STOP <BR>iptables -A OUTPUT -j STOP <BR>############################################################################### <BR># <BR># kernel settings: i comandi che seguono richiedono al kernel di Linux di <BR># scartare alcune tipolgie di pacchetti che potrebbero essere utilizzate <BR># per diversi tipi di attacco. Non si tratta di comandi dati a Netfilter: <BR># vengono valorizzate variabili di stato interne al kernel scrivendo i <BR># valori opportuni sul filesystem virtuale /proc <BR># <BR>############################################################################### <BR>echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts <BR>echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses <BR>echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route <BR>echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects <BR>############################################################################### <BR># <BR># display della configurazione attivata <BR># <BR>############################################################################### <BR>if [ "$1" = "-v" ] <BR>then <BR> iptables -L -nv --line-numbers <BR> echo <BR> echo kernel: icmp_echo_ignore_broadcasts = \ <BR> $(cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts) <BR> echo kernel: icmp_ignore_bogus_error_responses = \ <BR> $(cat /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses) <BR> echo kernel: accept_source_route = \ <BR> $(cat /proc/sys/net/ipv4/conf/all/accept_source_route) <BR> echo kernel: accept_redirects = \ <BR> $(cat /proc/sys/net/ipv4/conf/all/accept_redirects) <BR>fi <BR>############################################################################### <BR># <BR># fine <BR># <BR>############################################################################### <BR>exit 0 <BR> </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Qualche idea? have a nice day <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda salbutamolo » lun apr 18, 2005 7:20

Ciao a tutti, <BR>ho risolto modificando questa riga in questa maniera....ora funziona tutto però ditemi se magari ho fatto una bestiata :-] <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> LAN_NET="192.168.1.0/24" # range di indirizzi della LAN <BR>LAN_NET="192.168.1.0/0" # range di indirizzi della LAN </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>have a nice day <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda oneshow » lun apr 18, 2005 8:55

La modifica che hai fatto è errata, in questo modo identifichi QUALSIASI indirizzo come appartenente alla tua rete. <BR> <BR>Il problema è un altro.... <BR>LAN_IF="eth0" # interfaccia di rete LAN <BR>INET_IF="eth0" # interfaccia virtuale di collegamento a Internet <BR> <BR>Per effettuare Routing tra due reti (la lan e la wan) devi usare due interfaccie, INET_IF deve essere un altra scheda di rete .... eth1 oppure ppp0 oppure.... non so dipende dalla tua rete ma questa configurazione sicuramente non è corretta. <BR> <BR>Ciauz <BR>Stefo<br>
oneshow
Linux 1.0
Linux 1.0
 
Messaggi: 22
Iscritto il: gio dic 09, 2004 0:00

script firewall

Messaggioda salbutamolo » lun apr 18, 2005 9:01

Ciao, <BR>grazie del chiarimento. Tuttavia io non ho 2 interfacce di rete ne ho solo una! Come faccio a fare fungere questo script? Mi sembra abbastanza completo per una prorezione "casalinga" quindi ci terrei a farlo funzionare! E poi, perchè con la modifica fatta riesco a navigare e a scaricare la posta? Forse quella modifica annulla in qualche maniera le regole sottostanti e quindi il firewall non filtra un bel nulla? Ripeto io non ho ppp0 perchè uso un router! Have a nice day <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda salbutamolo » mar apr 19, 2005 6:36

Ciao a tutti, <BR>ho apportato un´altra modifica che ha avuto scarso successo....quindi aspetto trepidante vostri suggerimenti. Vi parlo della modifica: visto che non ho 2 schede di rete ma che comunque il router si occupa del traffico internet ho pensato di indicare quest´ultimo come interfaccia di rete internet nel seguente modo: <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> LAN_NET="192.168.1.0/24" # range di indirizzi della LAN <BR>LAN_IP="192.168.1.2" # indirizzo del computer sulla LAN <BR>LAN_IF="eth0" # interfaccia di rete LAN <BR>INET_IF="192.168.1.1" # interfaccia virtuale di collegamento a Internet </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Il risultato è stato lo stesso, il firewall blocca qualunque cosa e non mi dà la possibilità di "uscire" su internet in qualsivoglia maniera. Non capisco prorpio perchè, questa mi era sembrata un´iidea gagliarda...invece era malsana :-D <BR> <BR>Have a nice day <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda gerardo_sl » ven apr 22, 2005 4:04

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> #script di configurazione per Netfilter: il computer dispone di una <BR># connessione non permanente a Internet con indirizzo IP dinamico e di una <BR># scheda ethernet per il collegamento a una LAN privata </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Non sono riuscito a trovare lo script originale, ma suppongo che la variabile dovesse essre: <BR> <BR>INET_IF="ppp0" <BR> <BR>più avanti si ha la regola: <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> <BR># lan: il traffico da e verso la rete locale e´ abilitato con la sola <BR># esclusione dei pacchetti con indirizzi non lan o sospetti <BR># <BR>############################################################################### <BR>iptables -A INPUT -i $LAN_IF -j STOP -s $LAN_IP <BR>iptables -A INPUT -i $LAN_IF -j STOP -d ! $LAN_IP <BR>iptables -A INPUT -i $LAN_IF -j STOP -s ! $LAN_NET <BR>iptables -A INPUT -i $LAN_IF -j ACCEPT <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -d $LAN_IP <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -s ! $LAN_IP <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -d ! $LAN_NET <BR>iptables -A OUTPUT -o $LAN_IF -j ACCEPT <BR> </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>che significa che a LAN_IF (coé alla scheda di rete) arriveranno tutti e solo i pacchetti della LAN. <BR>Se si pone INET_IF="eth0", si ha : <BR>LAN_IF=INET_IF="eth0". <BR>A questo punto tutti i pacchetti saranno stati processati dalla regola di cui sopra ed il resto del firewall non farà storia. <BR>Come detto dal commento introduttivo, lo script é basato sul fatto che avvenga una prima discriminazone di pacchetti utilizzando interfacce diverse per il collegamento LAN e quello internet. <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> E poi, perchè con la modifica fatta riesco a navigare e a scaricare la posta? <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Assegnando una netmask di bit zero ad un indirizzo IP, significa che ogni bit di tutti e quattro gli ottetti che compongono l´IP stesso assumeranno combinatoriamente i valori 0 ed1 ottenendo così un intervallo che va da 0.0.0.0 a 255.255.255.255, ossia l´intero indirizzario IP di internet con le conseguenze descritte da Oneshow: potrai collegarti ad internet, ma se finisci sotto attacco il tuo computer é spacciato.<br>
gerardo_sl
Linux 1.0
Linux 1.0
 
Messaggi: 55
Iscritto il: mer mar 16, 2005 0:00

script firewall

Messaggioda salbutamolo » ven apr 22, 2005 7:08

Ciao a tutti, <BR>grazie delle risposte. ho capito quello che non va, tuttavia grazie alla mia tordadiggine su iptables non ho capito come risolvere. Secondo voi esiste un modo di adattare questo script alla mia configurazione o mi conviene riprogettarlo da zero? Have a nice day <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda gerardo_sl » sab apr 23, 2005 3:32

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>Secondo voi esiste un modo di adattare questo script alla mia configurazione o mi conviene riprogettarlo da zero? </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Lo script é senz´altro adattabile con un po´ di pazienza e, comunque, lo trovo un esercizio molto utile. <BR>Se fai caso, la funzione della variabile LAN_IF si esaurisce nella regola per il collegamento LAN <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> <BR># lan: il traffico da e verso la rete locale e´ abilitato con la sola <BR># esclusione dei pacchetti con indirizzi non lan o sospetti <BR># <BR>####################################### <BR>iptables -A INPUT -i $LAN_IF -j STOP -s $LAN_IP <BR>iptables -A INPUT -i $LAN_IF -j STOP -d ! $LAN_IP <BR>iptables -A INPUT -i $LAN_IF -j STOP -s ! $LAN_NET <BR>iptables -A INPUT -i $LAN_IF -j ACCEPT <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -d $LAN_IP <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -s ! $LAN_IP <BR>iptables -A OUTPUT -o $LAN_IF -j STOP -d ! $LAN_NET <BR>iptables -A OUTPUT -o $LAN_IF -j ACCEPT </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Il resto del firewall (ossia il filtraggio internet) ruota attorno alla variabile INET_IF. <BR>Dunque, si potrebbe eliminare LAN_IF (e la regola che lo implica) ed imporre <BR>INET_IF="eth0" (come d´altra parte avevi già intuito). <BR>Con questo il filtraggio sarebbe impostato sulla scheda di rete. <BR>Dovrai modificare qualcosa per farlo funzionare: non ho analizzato il resto dello script (se guardi l´ora in cui posto i miei messaggi capirai perché), ma anche con un´occhiata superficiale credo che non dovresti ancora riuscire ad accedere ad internet e neppure al tuo router, ma non ti sarà difficile risolvere il problema. <BR>Concludo indicandoti uno dei più bei siti sull´argomento: <BR>http://www.linux-firewall-tools.com/ <BR>Ci troverai tutto quello che occorre: vari script di esempio che é utile confrontare (ben redatti anche per la stampa) e guide per lo scopo.<br>
gerardo_sl
Linux 1.0
Linux 1.0
 
Messaggi: 55
Iscritto il: mer mar 16, 2005 0:00

script firewall

Messaggioda salbutamolo » sab apr 23, 2005 6:35

Ciao a tutti, <BR>grazie gerardo_sl per la cortese risposta ora vedrò visitando anche il sito che mi hai suggerito di rendere funzionante lo scriptone :-D : Ancora grazie per l´ottimo suggerimento, have a nice day <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda salbutamolo » gio apr 28, 2005 14:38

Ciao a tutti, <BR>ho letto con estremo interesse gli esempi di firewall riportati nel sito <a href="http://www.linux-firewall-tools.com/" target="_blank" target="_new">http://www.linux-firewall-tools.com/</a>! Uno in particolare ha attirato la mia attenzione, quello chiamato stand-alone firewall. studiato per una macchina dotata di una sola scheda di rete, esattamente come la mia. Ci sono dei parametri che non riesco a comprendere mi date una mano a districare la cosa? :-] Riporto di seguito uno stralcio dello script <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> INTERNET="eth0" Questa l´ho capita <BR>LOOPBACK_INTERFACE="lo" Anche qui nessun problema <BR>IPADDR="my.ip.address" Nessun Probelma <BR>SUBNET_BASE="network.address" # ISP network segment base address ( Questa non ho idea di cosa sia) <BR>SUBNET_BROADCAST="directed.broadcast" # network segment broadcast address (Purtroppo anche qui buio assoluto) <BR>MY_ISP="my.isp.address.range" # ISP server & NOC address range ( Idem come sopra) <BR> <BR>NAMESERVER="isp.name.server.1" # address of a remote name server <BR>POP_SERVER="isp.pop.server" # address of a remote pop server <BR>MAIL_SERVER="isp.mail.server" # address of a remote mail gateway <BR>NEWS_SERVER="isp.news.server" # address of a remote news server <BR>TIME_SERVER="some.timne.server" # address of a remote time server <BR>DHCP_SERVER="isp.dhcp.server" # address of your ISP dhcp server </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Presumo che questi ultimi 6 indirizzi ip si possano reperire da alice, ma non ci penso nemmeno a telefonare sono sicuro che non saprebbero rispondermi, c´è un modo "hackeroso" pe recuperarli? Grazie a tutti in anticipo! Have anice day <BR> <BR> <br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda gerardo_sl » ven apr 29, 2005 1:59

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> <BR>Presumo che questi ultimi 6 indirizzi ip si possano reperire da alice, ma non ci penso nemmeno a telefonare sono sicuro che non saprebbero rispondermi, c´è un modo "hackeroso" pe recuperarli? </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Non hai bisogno di quasi niente di quello che non sai, quindi tranquillo e non telefonare ad Alice. Lo script che hai trovato é completo oltre le necessità perché contempla esigenze diverse e che spesso non si possono presentare contemporaneamente: ad esempio non puoi avere simultaneamente un IP fisso ed un DHCP sulla stessa interfaccia. <BR>Quello che ti serve é esattamente quello che hai capito, più il DNS che dovrebbe corrispondere alla voce NAMESERVER. Se ti colleghi al tuo router mediante dhcp, troverai tale numero nel file /etc/resolv.conf, altrimenti sai già la cosa perché lo avrai configurato manualmente. Purtroppo ho qualche problema, ma nei prossimi giorni cercherò di seguire un pò il problema. <BR> <BR>Intanto, in questo collegamento troverai un pò di teoria sul filtraggio; é la traduzione autorizzata del manuale di Rusty Russell, lo sviluppatore di Netfilter: <BR> <BR>http://www.netfilter.org/documentation/HOWTO/it/packet-filtering-HOWTO.txt <BR><br>
gerardo_sl
Linux 1.0
Linux 1.0
 
Messaggi: 55
Iscritto il: mer mar 16, 2005 0:00

script firewall

Messaggioda useless » ven apr 29, 2005 7:36

NAMESERVER="ip del tuo dns che trovi in resolv.conf a connessione avvenuta" <BR>POP_SERVER="box.alice.it o qualcosa di simile" <BR>MAIL_SERVER="mail.alice.it o simile" <BR>NEWS_SERVER="se non leggi newsgroupd fregatene" <BR>TIME_SERVER="se non usi ntp fregatene" <BR>DHCP_SERVER="uhm, che storia. prova a non mettere niente"<br>
Avatar utente
useless
Staff
Staff
 
Messaggi: 3896
Iscritto il: sab ott 11, 2003 23:00
Località: A place where the streets have no name

script firewall

Messaggioda salbutamolo » ven apr 29, 2005 8:24

Ciao gente <BR>avevo risposto anche prima ma il mio messaggio si è perso nell´etere....BTW chiedo scisa nel qual caso dovesse arrivare doppio. Dicevo..grazie a tutti per la consulenza siete troooppo i migliori! :-] Ho apportato le modifiche da voi suggerite allo script e questo è il risultato: <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> #!/bin/bash <BR> <BR>modprobe ip_conntrack_ftp <BR> <BR>CONNECTION_TRACKING="1" <BR>ACCEPT_AUTH="0" <BR>SSH_SERVER="0" <BR>FTP_SERVER="0" <BR>WEB_SERVER="0" <BR>SSL_SERVER="0" <BR>DHCP_CLIENT="0" <BR> <BR>INTERNET="eth0" # Internet-connected interface <BR>LOOPBACK_INTERFACE="lo" # however your system names it <BR>IPADDR="192.168.1.2" # your IP address <BR>#SUBNET_BASE="" # ISP network segment base address <BR>#SUBNET_BROADCAST="" # network segment broadcast address <BR>#MY_ISP="" # ISP server & NOC address range <BR> <BR>NAMESERVER="212.216.112.112" # address of a remote name server <BR>POP_SERVER="any/0" # address of a remote pop server <BR>MAIL_SERVER="out.aliceposta.it" # address of a remote mail gateway <BR>NEWS_SERVER="195.31.190.131" # address of a remote news server <BR>TIME_SERVER="66.206.11.192" # address of a remote time server <BR>DHCP_SERVER="any/0" # address of your ISP dhcp server <BR> <BR>LOOPBACK="127.0.0.0/8" # reserved loopback address range <BR>CLASS_A="10.0.0.0/8" # class A private networks <BR>CLASS_B="172.16.0.0/12" # class B private networks <BR>CLASS_C="192.168.0.0/16" # class C private networks <BR>CLASS_D_MULTICAST="224.0.0.0/4" # class D multicast addresses <BR>CLASS_E_RESERVED_NET="240.0.0.0/5" # class E reserved addresses <BR>BROADCAST_SRC="0.0.0.0" # broadcast source address <BR>BROADCAST_DEST="255.255.255.255" # broadcast destination address <BR> <BR>PRIVPORTS="0:1023" # well-known, privileged port range <BR>UNPRIVPORTS="1024:65535" # unprivileged port range <BR> <BR>SSH_PORTS="1024:65535" <BR> <BR>NFS_PORT="2049" <BR>LOCKD_PORT="4045" <BR>SOCKS_PORT="1080" <BR>OPENWINDOWS_PORT="2000" <BR>XWINDOW_PORTS="6000:6063" <BR>SQUID_PORT="3128" <BR> <BR>############################################################### <BR> <BR># WARNING: <BR> <BR># The following section is written for dhclient. <BR># This section demonstrates what needs to be done <BR># to dynamically modify the IP address and name servers. <BR> <BR># See the "dhclient-script" man page <BR># and the "dhclient.conf" man page for details. <BR> <BR>if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || [ x$reason = xREBIND ]; then <BR> <BR> IPADDR=$new_ip_address <BR> <BR> # Some ISPs use more than one DHCP server. <BR> # In that case, you can leave DHCP_SERVER set to any/0, <BR> # or you can hard-code duplicate DHCP rules that <BR> # reference the specific server IP addresses. <BR> <BR> DHCP_SERVER=$new_dhcp_server_identifier <BR> <BR>elif [ x$reason = xPREINIT ] || \ <BR> [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xTIMEOUT ]; then <BR> <BR> IPADDR="any/0" <BR> DHCP_SERVER="any/0" <BR> <BR>fi <BR> <BR>############################################################### <BR> <BR># Enable broadcast echo Protection <BR>echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts <BR> <BR># Disable Source Routed Packets <BR>for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do <BR> echo 0 > $f <BR>done <BR> <BR># Enable TCP SYN Cookie Protection <BR>echo 1 > /proc/sys/net/ipv4/tcp_syncookies <BR> <BR># Disable ICMP Redirect Acceptance <BR>for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do <BR> echo 0 > $f <BR>done <BR> <BR># Don¹t send Redirect Messages <BR>for f in /proc/sys/net/ipv4/conf/*/send_redirects; do <BR> echo 0 > $f <BR>done <BR> <BR># Drop Spoofed Packets coming in on an interface, which if replied to, <BR># would result in the reply going out a different interface. <BR>for f in /proc/sys/net/ipv4/conf/*/rp_filter; do <BR> echo 1 > $f <BR>done <BR> <BR># Log packets with impossible addresses. <BR>for f in /proc/sys/net/ipv4/conf/*/log_martians; do <BR> echo 1 > $f <BR>done <BR> <BR>############################################################### <BR> <BR># Remove any existing rules from all chains <BR>iptables --flush <BR>iptables -t nat --flush <BR>iptables -t mangle --flush <BR> <BR># Unlimited traffic on the loopback interface <BR>iptables -A INPUT -i lo -j ACCEPT <BR>iptables -A OUTPUT -o lo -j ACCEPT <BR> <BR># Set the default policy to drop <BR>iptables --policy INPUT DROP <BR>iptables --policy OUTPUT DROP <BR>iptables --policy FORWARD DROP <BR> <BR># A bug that showed up as of the Red Hat 7.2 release results <BR># in the following 5 default policies breaking the firewall <BR># initialization: <BR> <BR># iptables -t nat --policy PREROUTING DROP <BR># iptables -t nat --policy OUTPUT DROP <BR># iptables -t nat --policy POSTROUTING DROP <BR> <BR># iptables -t mangle --policy PREROUTING DROP <BR># iptables -t mangle --policy OUTPUT DROP <BR> <BR># Remove any pre-existing user-defined chains <BR>iptables --delete-chain <BR>iptables -t nat --delete-chain <BR>iptables -t mangle --delete-chain <BR> <BR>############################################################### <BR># Stealth Scans and TCP State Flags <BR> <BR># All of the bits are cleared <BR>iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP <BR> <BR># SYN and FIN are both set <BR>iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP <BR> <BR># SYN and RST are both set <BR>iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP <BR> <BR># FIN and RST are both set <BR>iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP <BR> <BR># FIN is the only bit set, without the expected accompanying ACK <BR>iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP <BR> <BR># PSH is the only bit set, without the expected accompanying ACK <BR>iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP <BR> <BR># URG is the only bit set, without the expected accompanying ACK <BR>iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP <BR> <BR>############################################################### <BR># Using Connection State to By-pass Rule Checking <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT <BR> iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT <BR> <BR> # Using the state module alone, INVALID will break protocols that use <BR> # bi-directional connections or multiple connections or exchanges, <BR> # unless an ALG is provided for the protocol. At this time, FTP and is <BR> # IRC are the only protocols with ALG support. <BR> <BR> iptables -A INPUT -m state --state INVALID -j LOG \ <BR> --log-prefix "INVALID input: " <BR> iptables -A INPUT -m state --state INVALID -j DROP <BR> <BR> iptables -A OUTPUT -m state --state INVALID -j LOG \ <BR> --log-prefix "INVALID ouput: " <BR> iptables -A OUTPUT -m state --state INVALID -j DROP <BR>fi <BR> <BR>############################################################### <BR># Source Address Spoofing and Other Bad Addresses <BR> <BR># Refuse spoofed packets pretending to be from <BR># the external interface´s IP address <BR>iptables -A INPUT -i $INTERNET -s $IPADDR -j DROP <BR> <BR># Refuse packets claiming to be from a Class A private network <BR>iptables -A INPUT -i $INTERNET -s $CLASS_A -j DROP <BR> <BR># Refuse packets claiming to be from a Class B private network <BR>iptables -A INPUT -i $INTERNET -s $CLASS_B -j DROP <BR> <BR># Refuse packets claiming to be from a Class C private network <BR>iptables -A INPUT -i $INTERNET -s $CLASS_C -j DROP <BR> <BR># Refuse packets claiming to be from the loopback interface <BR>iptables -A INPUT -i $INTERNET -s $LOOPBACK -j DROP <BR> <BR># Refuse malformed broadcast packets <BR>iptables -A INPUT -i $INTERNET -s $BROADCAST_DEST -j LOG <BR>iptables -A INPUT -i $INTERNET -s $BROADCAST_DEST -j DROP <BR> <BR>iptables -A INPUT -i $INTERNET -d $BROADCAST_SRC -j LOG <BR>iptables -A INPUT -i $INTERNET -d $BROADCAST_SRC -j DROP <BR> <BR>#if [ "$DHCP_CLIENT" = "0" ]; then <BR> # Refuse directed broadcasts <BR> # Used to map networks and in Denial of Service attacks <BR> # iptables -A INPUT -i $INTERNET -d $SUBNET_BASE -j DROP <BR> #iptables -A INPUT -i $INTERNET -d $SUBNET_BROADCAST -j DROP <BR> <BR> # Refuse limited broadcasts <BR> iptables -A INPUT -i $INTERNET -d $BROADCAST_DEST -j DROP <BR>#fi <BR> <BR># Refuse Class D multicast addresses <BR># illegal as a source address <BR>iptables -A INPUT -i $INTERNET -s $CLASS_D_MULTICAST -j DROP <BR> <BR>iptables -A INPUT -i $INTERNET -p ! udp -d $CLASS_D_MULTICAST -j DROP <BR> <BR>iptables -A INPUT -i $INTERNET -p udp -d $CLASS_D_MULTICAST -j ACCEPT <BR> <BR># Refuse Class E reserved IP addresses <BR>iptables -A INPUT -i $INTERNET -s $CLASS_E_RESERVED_NET -j DROP <BR> <BR># refuse addresses defined as reserved by the IANA <BR># 0.*.*.* - Can¹t be blocked unilaterally with DHCP <BR># 169.254.0.0/16 - Link Local Networks <BR># 192.0.2.0/24 - TEST-NET <BR> <BR>if [ "$DHCP_CLIENT" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $BROADCAST_SRC --sport 67 \ <BR> -d $BROADCAST_DEST --dport 68 -j ACCEPT <BR>fi <BR> <BR>iptables -A INPUT -i $INTERNET -s 0.0.0.0/8 -j DROP <BR>iptables -A INPUT -i $INTERNET -s 169.254.0.0/16 -j DROP <BR>iptables -A INPUT -i $INTERNET -s 192.0.2.0/24 -j DROP <BR> <BR>############################################################### <BR># Disallowing Connections to Common TCP Unprivileged Server Ports <BR> <BR># X Window connection establishment <BR>iptables -A OUTPUT -o $INTERNET -p tcp --syn \ <BR> --destination-port $XWINDOW_PORTS -j REJECT <BR> <BR># X Window: incoming connection attempt <BR>iptables -A INPUT -i $INTERNET -p tcp --syn \ <BR> --destination-port $XWINDOW_PORTS -j DROP <BR> <BR># Establishing a connection over TCP to NFS, OpenWindows, SOCKS or squid <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -m multiport --destination-port \ <BR> $NFS_PORT,$OPENWINDOWS_PORT,$SOCKS_PORT,$SQUID_PORT \ <BR> --syn -j REJECT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp \ <BR> -m multiport --destination-port \ <BR> $NFS_PORT,$OPENWINDOWS_PORT,$SOCKS_PORT,$SQUID_PORT \ <BR> --syn -j DROP <BR> <BR>############################################################### <BR># Disallowing Connections to Common UDP Unprivileged Server Ports <BR> <BR># NFS and lockd <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -m multiport --destination-port $NFS_PORT,$LOCKD_PORT \ <BR> -m state --state NEW -j REJECT <BR> <BR> iptables -A INPUT -i $INTERNET -p udp \ <BR> -m multiport --destination-port $NFS_PORT,$LOCKD_PORT \ <BR> -m state --state NEW -j DROP <BR>else <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -m multiport --destination-port $NFS_PORT,$LOCKD_PORT \ <BR> -j REJECT <BR> <BR> iptables -A INPUT -i $INTERNET -p udp \ <BR> -m multiport --destination-port $NFS_PORT,$LOCKD_PORT \ <BR> -j DROP <BR>fi <BR> <BR>############################################################### <BR># DNS Name Server <BR> <BR># DNS Fowarding Name Server or client requests <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $NAMESERVER --dport 53 \ <BR> -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $NAMESERVER --dport 53 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $NAMESERVER --sport 53 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>#............................................................... <BR># TCP is used for large responses <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $NAMESERVER --dport 53 \ <BR> -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $NAMESERVER --dport 53 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> -s $NAMESERVER --sport 53 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>#............................................................... <BR># DNS Caching Name Server (local server to primary server) <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $IPADDR --sport 53 \ <BR> -d $NAMESERVER --dport 53 \ <BR> -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $IPADDR --sport 53 \ <BR> -d $NAMESERVER --dport 53 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $NAMESERVER --sport 53 \ <BR> -d $IPADDR --dport 53 -j ACCEPT <BR> <BR>############################################################### <BR># Filtering the AUTH User Identification Service (TCP Port 113) <BR> <BR># Outgoing Local Client Requests to Remote Servers <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 113 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 113 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport 113 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>#............................................................... <BR># Incoming Remote Client Requests to Local Servers <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 113 \ <BR> -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>if [ "$ACCEPT_AUTH" = "1" ]; then <BR> if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 113 \ <BR> -m state --state NEW -j ACCEPT <BR> fi <BR> <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 113 -j ACCEPT <BR> <BR> iptables -A OUTPUT -o $INTERNET -p tcp ! --syn \ <BR> -s $IPADDR --sport 113 \ <BR> --dport $UNPRIVPORTS -j ACCEPT <BR>else <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 113 -j REJECT --reject-with tcp-reset <BR>fi <BR> <BR>############################################################### <BR># Sending Mail to Any External Mail Server <BR># Use "-d $MAIL_SERVER" if an ISP mail gateway is used instead <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 25 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 25 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport 25 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>############################################################### <BR># Retrieving Mail as a POP Client (TCP Port 110) <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $POP_SERVER --dport 110 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $POP_SERVER --dport 110 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> -s $POP_SERVER --sport 110 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>############################################################### <BR># Accessing Usenet News Services (TCP NNTP Port 119) <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $NEWS_SERVER --dport 119 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $NEWS_SERVER --dport 119 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> -s $NEWS_SERVER --sport 119 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>############################################################### <BR># ssh (TCP Port 22) <BR> <BR># Outgoing Local Client Requests to Remote Servers <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $SSH_PORTS \ <BR> --dport 22 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $SSH_PORTS \ <BR> --dport 22 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --source-port 22 \ <BR> -d $IPADDR --dport $SSH_PORTS -j ACCEPT <BR> <BR>#............................................................... <BR># Incoming Remote Client Requests to Local Servers <BR> <BR>if [ "$SSH_SERVER" = "1" ]; then <BR> if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $SSH_PORTS \ <BR> -d $IPADDR --dport 22 \ <BR> -m state --state NEW -j ACCEPT <BR> fi <BR> <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $SSH_PORTS \ <BR> -d $IPADDR --dport 22 -j ACCEPT <BR> <BR> iptables -A OUTPUT -o $INTERNET -p tcp ! --syn \ <BR> -s $IPADDR --sport 22 \ <BR> --dport $SSH_PORTS -j ACCEPT <BR>fi <BR> <BR>############################################################### <BR># ftp (TCP Ports 21, 20) <BR> <BR># Outgoing Local Client Requests to Remote Servers <BR> <BR># Outgoing Control Connection to Port 21 <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 21 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 21 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport 21 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR># Incoming Port Mode Data Channel Connection from Port 20 <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> # This rule is not necessary if the ip_conntrack_ftp <BR> # module is used. <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport 20 \ <BR> -d $IPADDR --dport $UNPRIVPORTS \ <BR> -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport 20 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp ! --syn \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 20 -j ACCEPT <BR> <BR># Outgoing Passive Mode Data Channel Connection Between Unprivileveg Ports <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> # This rule is not necessary if the ip_conntrack_ftp <BR> # module is used. <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport $UNPRIVPORTS -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>#............................................................... <BR># Incoming Remote Client Requests to Local Servers <BR> <BR>if [ "$FTP_SERVER" = "1" ]; then <BR> <BR> # Incoming Control Connection to Port 21 <BR> if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 21 \ <BR> -m state --state NEW -j ACCEPT <BR> fi <BR> <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 21 -j ACCEPT <BR> <BR> iptables -A OUTPUT -o $INTERNET -p tcp ! --syn \ <BR> -s $IPADDR --sport 21 \ <BR> --dport $UNPRIVPORTS -j ACCEPT <BR> <BR> # Outgoing Port Mode Data Channel Connection to Port 20 <BR> if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport 20\ <BR> --dport $UNPRIVPORTS -m state --state NEW -j ACCEPT <BR> fi <BR> <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport 20 \ <BR> --dport $UNPRIVPORTS -j ACCEPT <BR> <BR> iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 20 -j ACCEPT <BR> <BR> # Incoming Passive Mode Data Channel Connection Between Unprivileved Ports <BR> if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport $UNPRIVPORTS \ <BR> -m state --state NEW -j ACCEPT <BR> fi <BR> <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR> iptables -A OUTPUT -o $INTERNET -p tcp ! --syn \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport $UNPRIVPORTS -j ACCEPT <BR>fi <BR>############################################################### <BR># HTTP Web Traffic (TCP Port 80) <BR> <BR># Outgoing Local Client Requests to Remote Servers <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 80 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 80 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport 80 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>#............................................................... <BR># Incoming Remote Client Requests to Local Servers <BR> <BR>if [ "$WEB_SERVER" = "1" ]; then <BR> if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 80 \ <BR> -m state --state NEW -j ACCEPT <BR> fi <BR> <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 80 -j ACCEPT <BR> <BR> iptables -A OUTPUT -o $INTERNET -p tcp ! --syn \ <BR> -s $IPADDR --sport 80 \ <BR> --dport $UNPRIVPORTS -j ACCEPT <BR>fi <BR> <BR>############################################################### <BR># SSL Web Traffic (TCP Port 443) <BR> <BR># Outgoing Local Client Requests to Remote Servers <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 443 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 443 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport 443 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>#............................................................... <BR># Incoming Remote Client Requests to Local Servers <BR> <BR>if [ "$SSL_SERVER" = "1" ]; then <BR> if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 443 \ <BR> -m state --state NEW -j ACCEPT <BR> fi <BR> <BR> iptables -A INPUT -i $INTERNET -p tcp \ <BR> --sport $UNPRIVPORTS \ <BR> -d $IPADDR --dport 443 -j ACCEPT <BR> <BR> iptables -A OUTPUT -o $INTERNET -p tcp ! --syn \ <BR> -s $IPADDR --sport 443 \ <BR> --dport $UNPRIVPORTS -j ACCEPT <BR>fi <BR> <BR>############################################################### <BR># whois (TCP Port 43) <BR> <BR># Outgoing Local Client Requests to Remote Servers <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 43 -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p tcp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> --dport 43 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp ! --syn \ <BR> --sport 43 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>############################################################### <BR># Accessing Remote Network Time Servers (UDP 123) <BR># Note: some client and servers use source port 123 <BR># when querying a remote server on destination port 123. <BR> <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $TIME_SERVER --dport 123 \ <BR> -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $IPADDR --sport $UNPRIVPORTS \ <BR> -d $TIME_SERVER --dport 123 -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $TIME_SERVER --sport 123 \ <BR> -d $IPADDR --dport $UNPRIVPORTS -j ACCEPT <BR> <BR>############################################################### <BR># Accessing Your ISP´s DHCP Server (UDP Ports 67, 68) <BR> <BR># Some broadcast packets are explicitly ignored by the firewall. <BR># Others are dopped by the default policy. <BR># DHCP tests must precede broadcast-related rules, as DHCP relies <BR># on broadcast traffic initially. <BR> <BR>if [ "$DHCP_CLIENT" = "1" ]; then <BR> # Initialization or rebinding: No lease or Lease time expired. <BR> <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $BROADCAST_SRC --sport 68 \ <BR> -d $BROADCAST_DEST --dport 67 -j ACCEPT <BR> <BR> # Incoming DHCPOFFER from available DHCP servers <BR> <BR> iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $BROADCAST_SRC --sport 67 \ <BR> -d $BROADCAST_DEST --dport 68 -j ACCEPT <BR> <BR> # Fall back to initialization <BR> # The client knows its server, but has either lost its lease, <BR> # or else needs to reconfirm the IP address after rebooting. <BR> <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $BROADCAST_SRC --sport 68 \ <BR> -d $DHCP_SERVER --dport 67 -j ACCEPT <BR> <BR> iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $DHCP_SERVER --sport 67 \ <BR> -d $BROADCAST_DEST --dport 68 -j ACCEPT <BR> <BR> # As a result of the above, we´re supposed to change our IP <BR> # address with this message, which is addressed to our new <BR> # address before the dhcp client has received the update. <BR> # Depending on the server implementation, the destination address <BR> # can be the new IP address, the subnet address, or the limited <BR> # broadcast address. <BR> <BR> # If the network subnet address is used as the destination, <BR> # the next rule must allow incoming packets destined to the <BR> # subnet address, and the rule must preceed any general rules <BR> # that block such incoming broadcast packets. <BR> <BR> iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $DHCP_SERVER --sport 67 \ <BR> --dport 68 -j ACCEPT <BR> <BR> # Lease renewal <BR> <BR> iptables -A OUTPUT -o $INTERNET -p udp \ <BR> -s $IPADDR --sport 68 \ <BR> -d $DHCP_SERVER --dport 67 -j ACCEPT <BR> <BR> iptables -A INPUT -i $INTERNET -p udp \ <BR> -s $DHCP_SERVER --sport 67 \ <BR> -d $IPADDR --dport 68 -j ACCEPT <BR> <BR> # Refuse directed broadcasts <BR> # Used to map networks and in Denial of Service attacks <BR> #iptables -A INPUT -i $INTERNET -d $SUBNET_BASE -j DROP <BR> #iptables -A INPUT -i $INTERNET -d $SUBNET_BROADCAST -j DROP <BR> <BR> # Refuse limited broadcasts <BR> iptables -A INPUT -i $INTERNET -d $BROADCAST_DEST -j DROP <BR> <BR>fi <BR>############################################################### <BR># ICMP Control and Status Messages <BR> <BR># Log and drop initial ICMP fragments <BR>iptables -A INPUT -i $INTERNET --fragment -p icmp -j LOG \ <BR> --log-prefix "Fragmented incoming ICMP: " <BR>iptables -A INPUT -i $INTERNET --fragment -p icmp -j DROP <BR> <BR>iptables -A OUTPUT -o $INTERNET --fragment -p icmp -j LOG \ <BR> --log-prefix "Fragmented outgoing ICMP: " <BR>iptables -A OUTPUT -o $INTERNET --fragment -p icmp -j DROP <BR> <BR>iptables -A INPUT -i $INTERNET -p icmp \ <BR> --icmp-type source-quench -d $IPADDR -j ACCEPT <BR> <BR>iptables -A OUTPUT -o $INTERNET -p icmp \ <BR> -s $IPADDR --icmp-type source-quench -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p icmp \ <BR> --icmp-type parameter-problem -d $IPADDR -j ACCEPT <BR> <BR>iptables -A OUTPUT -o $INTERNET -p icmp \ <BR> -s $IPADDR --icmp-type parameter-problem -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p icmp \ <BR> --icmp-type destination-unreachable -d $IPADDR -j ACCEPT <BR> <BR>iptables -A OUTPUT -o $INTERNET -p icmp \ <BR> -s $IPADDR --icmp-type fragmentation-needed -j ACCEPT <BR> <BR># Don¹t log dropped outgoing ICMP error messages <BR>iptables -A OUTPUT -o $INTERNET -p icmp \ <BR> -s $IPADDR --icmp-type destination-unreachable -j DROP <BR> <BR># Intermediate traceroute responses <BR>iptables -A INPUT -i $INTERNET -p icmp \ <BR> --icmp-type time-exceeded -d $IPADDR -j ACCEPT <BR> <BR># allow outgoing pings to anywhere <BR>if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> iptables -A OUTPUT -o $INTERNET -p icmp \ <BR> -s $IPADDR --icmp-type echo-request \ <BR> -m state --state NEW -j ACCEPT <BR>fi <BR> <BR>iptables -A OUTPUT -o $INTERNET -p icmp \ <BR> -s $IPADDR --icmp-type echo-request -j ACCEPT <BR> <BR>iptables -A INPUT -i $INTERNET -p icmp \ <BR> --icmp-type echo-reply -d $IPADDR -j ACCEPT <BR> <BR># allow incoming pings from trusted hosts <BR>#if [ "$CONNECTION_TRACKING" = "1" ]; then <BR> #iptables -A INPUT -i $INTERNET -p icmp \ <BR> #-s $MY_ISP --icmp-type echo-request -d $IPADDR \ <BR> #-m state --state NEW -j ACCEPT <BR>#fi <BR> <BR>#iptables -A INPUT -i $INTERNET -p icmp \ <BR> #-s $MY_ISP --icmp-type echo-request -d $IPADDR -j ACCEPT <BR> <BR>#iptables -A OUTPUT -o $INTERNET -p icmp \ <BR> #-s $IPADDR --icmp-type echo-reply -d $MY_ISP -j ACCEPT <BR> <BR>############################################################### <BR># Logging Dropped Packets <BR> <BR># Don´t log dropped incoming echo-requests <BR>iptables -A INPUT -i $INTERNET -p icmp \ <BR> --icmp-type ! 8 -d $IPADDR -j LOG <BR> <BR>iptables -A INPUT -i $INTERNET -p tcp \ <BR> -d $IPADDR -j LOG <BR> <BR>iptables -A OUTPUT -o $INTERNET -j LOG <BR> <BR>exit 0 </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Siccome non sapevo cosa fossero i sottoindicati parametri: <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> #SUBNET_BASE="" # ISP network segment base address <BR>#SUBNET_BROADCAST="" # network segment broadcast address <BR>#MY_ISP="" # ISP server & NOC address range </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>ho pensato bene di commentarli sia nella parte iniziale dello script sia all´interno del firewall vero e proprio, in quanto se lasciati "vuoti" e decommentati originano una serie di bad argument da parte di iptables! Ora il firewall "funziona" e sono in grado di fare tutto! Vorrei un vostro parere sulle modifiche da me apportate in quanto non vorrei che fossere delle bestiate come quella che apportai al primo script! In sostanza, così modificato lo script filtra oppure ho fatto un´altra scemenza? Have anice day <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

script firewall

Messaggioda gerardo_sl » dom mag 01, 2005 3:52

Che strano: Useless é scomparso! <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> MAIL_SERVER="out.aliceposta.it" # address of a remote mail gateway </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Questa variabile non é valida, se non é definita nel file /etc/hosts. La ragione per la quale riesci comunque ad accedere alla posta è che é discrezionale e la regola non la implica. In effetti può essere utile se si impiega un server di posta interno ad una LAN. <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> #SUBNET_BASE="" # ISP network segment base address <BR>#SUBNET_BROADCAST="" # network segment broadcast address</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Queste due variabili sono implicate da due regole per attacchi DOS. Nel firewall che ti posta più sotto le ho attivate: se ti danno fastidio puoi commentarle. <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> #MY_ISP="" # ISP server & NOC address range <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>E´ impiegata per abilitare il ping all´IP definito. Io ti ho scritto quello che dovrebbe essere l´indirizzo del tuo router, ma potresti mettere quello del gateway del tuo provider: serve a provare lo stato della linea. <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE> DHCP_SERVER="any/0" # address of your ISP dhcp server <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Se usi il DHCP, é quello del router (tu sei client del router, é il router ad essere client del provider); ma é conveniente utilizzare l´IP statico se possibile (credo che sia la tua situazione). <BR>Ora, nell´allegato, il firewall sfrondato di tutto quello che non dovrebbe servire; é previsto per IP statico, con DHCP non funzionerebbe, in questo caso imponi al tuo router di assegnarti un indirizzo fisso. <BR>Lo sto usando io in questo momento, per cui funziona. <BR> <BR>Spero di non avere dimenticato nulla. Avrei dovuto guardare meglio le regole icmp, ma mi é venuto il mal di testa. <BR><br>
gerardo_sl
Linux 1.0
Linux 1.0
 
Messaggi: 55
Iscritto il: mer mar 16, 2005 0:00

script firewall

Messaggioda salbutamolo » dom mag 01, 2005 7:23

Ciao a tutti, <BR>fantastico grazie ho apportato le necessarie modifiche e tutto va a cannone. Vi ringrazio soprattutto delle pazienti spiegazioni riguardo al funzionamento del firewall...ora ne so un po´ di più! Buona domenica a tutti <BR> <BR><br>
Avatar utente
salbutamolo
Linux 2.6
Linux 2.6
 
Messaggi: 905
Iscritto il: lun gen 12, 2004 0:00

Prossimo

Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite