(R)ex : [Pluto-help] firewall script

(R)ex Sanna 77512746 a tiscali.it
Ven 21 Feb 2003 15:06:22 CET


gianni a cln.it: ..riguardo "[Pluto-help] firewall script" 

# Salve ragazzi,
Ciao..

# esistono dei buoni script per iptables gia' pronti e magari facilmente
# customizzabili per rendere "sicura" (ho messo le virgolette) una
# macchina?
#
# me lo posso anche scrivere, ma sicuramente si trovano gia' fatti da chi
# ne sa molto piu' di me...
Non ne so molto piu' di te, ma ho creato questo, che sto ancora ultimando..
Se ti serve qualche dritta, inizia con questo, sono sicuro che ti schiarisce un poco 
le idee su come fare il tuo filtro preferito.. :o)


Dimenticavo :
ZERO e' una macchina che concede la connessione a tutti quelli che stanno sotto LAB [192.168.0.0/24]
e di conseguenza ha qualcosa che probabilmente non ti serve, a meno che tu non stia pacioccando su 
una macchina server.. 

Se la tua macchina e' la sola di casa, allora la parte sotto PIPPO puoi saltarla a piedi pari.. :o)


===================================================================
= /root/scripts/iptables-settings
===================================================================

# ### (R)ex Hacked File
# Come gestire il firewall casalingo.
# Questa macchina e' gestita per la connessione 24/7 ad internet. Ovviamente questa connessione
# deve essere condivisa con tutte le macchine che appartengono alla zona.
#
# Non e' un file definitivo, anche perche' nulla e' definitivo in casa mia..
# Quindi ci sono controlli ridondanti e superflui, ma dato che questo e' da considerarsi una opera
# in sviluppo, se non posto questo, nessuno inizia a darci una occhiata..
#
# Creiamo un FW standard per i servizi che girano...
# ATTENZIONE : Per controllare come far girare ICQ, leggere :
# 			http://www.pluto.linux.it/ildp/HOWTO/mini/Firewall-Piercing.html
# 
#
# Grazie per l'attenzione, Dido, attendo qualche tuo commento [in privato] ..
INTERNET=0.0.0.0/0
LAB=192.168.0.0/24

EXTIF=ppp+
INTIF=eth0


# Questo e' il nome della mia macchina, ma sono sicuro che e' meglio se lo cambi con il 
# tuo, per capire meglio come ti va..
ZERO=192.168.0.1
LOCALHOST=127.0.0.1

# BANNER :
# [Lo so, sono un maniaco.. :o) ]
echo "# ### (R)ex Hacked Script : [IPTABLES]"



echo -n "# Flushing regole : "
iptables -F
iptables -t nat -F

echo " OK! "


echo -n "# Disabilitazione forward : "

echo 0 > /proc/sys/net/ipv4/ip_forward

if [ -e /proc/sys/net/ipv4/conf/eth0/rp_filter ]; then
    echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
fi

if [ -e  /proc/sys/net/ipv4/conf/ppp0/rp_filter ]; then
    echo 0 > /proc/sys/net/ipv4/conf/ppp0/rp_filter
fi

echo " OK!"


# ATTENZIONE!!! 
# Questa catena esiste sui sistemi Red Hat. NON CONSIGLIO DI TOGLIERLA fin quando
# non saprete gestire il FW come io rollo una sigaretta++ :o)
#
# [uomo avvisato.. ]
echo "# Cancellazione della catena Red Hat LOKKIT :"
iptables -X RH-Lokkit-0-50-INPUT
echo "# OK!"


# #######################################################################
echo -n "# Configurazione catena di INPUT :"
# #######################################################################
iptables -P INPUT ACCEPT

# Accetto TCP stuff:
iptables -A INPUT -p tcp --src $LAB -d $ZERO -j ACCEPT
iptables -A INPUT -p tcp --src $LOCALHOST -d $LOCALHOST -j ACCEPT

# Accetto UDP stuff:
iptables -A INPUT -p udp --src $LAB -d $ZERO -j ACCEPT
iptables -A INPUT -p udp --src $LOCALHOST -d $LOCALHOST -j ACCEPT


# dns
iptables -A INPUT -p tcp -s $LAB -d $ZERO --dport 59 -j ACCEPT

# netbios
#iptables -A INPUT -p tcp -s $LAB -d $ZERO --dport 137 -j ACCEPT
#iptables -A INPUT -p tcp -s $LAB -d $ZERO --dport 139 -j ACCEPT
#iptables -A INPUT -p udp -s $LAB -d $ZERO --dport 137 -j ACCEPT
#iptables -A INPUT -p udp -s $LAB -d $ZERO --dport 139 -j ACCEPT

# mail
#iptables -A INPUT -p tcp -d $ZERO --dport 25 -j ACCEPT


# ftp
#iptables -A INPUT -p tcp -d $ZERO --dport 21 -j ACCEPT

# telnet
#iptables -A INPUT -p tcp -d $ZERO --dport 23 -j ACCEPT


# -------------------------------------
# LOCALHOST :
# -------------------------------------
#iptables -A INPUT -p tcp -d 127.0.0.1 -j ACCEPT
#iptables -A INPUT -p udp -d 127.0.0.1 -j ACCEPT



#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -j DROP





echo " OK!"

# #######################################################################
echo -n "# Configurazione catena di OUTPUT :"
# #######################################################################
iptables -P OUTPUT ACCEPT

iptables -A OUTPUT -s $LAB -d $ZERO -j ACCEPT
iptables -A OUTPUT -s $ZERO -d $LAB -j ACCEPT

# netbios
iptables -A OUTPUT -p tcp -s $INTERNET -d $ZERO --dport 137 -j DROP
iptables -A OUTPUT -p tcp -s $INTERNET -d $ZERO --dport 139 -j DROP
iptables -A OUTPUT -p udp -s $INTERNET -d $ZERO --dport 137 -j DROP
iptables -A OUTPUT -p udp -s $INTERNET -d $ZERO --dport 139 -j DROP






echo " OK!"

# #######################################################################
echo -n "# Configurazione catena di FORWARD:"
# #######################################################################
iptables -P FORWARD ACCEPT

iptables -I FORWARD -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I FORWARD -s $LAB -d $INTERNET -j ACCEPT




echo " OK!"



#
# PIPPO!!!
#


# #######################################################################
echo -n "# NAT STUFF : "
# #######################################################################
iptables -t nat -A POSTROUTING -o $EXTIF -s $LAB -j MASQUERADE
#iptables -t nat -A OUTPUT -o $EXTIF -s $LAB -j MASQUERADE
#iptables -t nat -A POSTROUTING -o $INTIF -p tcp -s $LAB --sport 1024:65535  -m state --state ESTABLISHED -j ACCEPT


echo " OK!"


# #######################################################################
# Fine della configurazione:
# #######################################################################

echo -n "# Ripristino forward dei pacchetti : "

echo 1 > /proc/sys/net/ipv4/ip_forward

if [ -e /proc/sys/net/ipv4/conf/eth0/rp_filter ]; then
    echo 1 > /proc/sys/net/ipv4/conf/eth0/rp_filter
fi


if [ -e /proc/sys/net/ipv4/conf/ppp0/rp_filter ]; then
    echo 1 > /proc/sys/net/ipv4/conf/ppp0/rp_filter
fi

echo " OK!"

echo
echo

echo "# ## SETTAGGIO CORRENTE : ##############################################"
echo "# ----------------------------------------------------------------- "
echo "# FIREWALL -- Configurazione :"
echo "# ----------------------------------------------------------------- "

iptables -L

echo ""
echo ""
echo "# ----------------------------------------------------------------- "
echo "# NAT -- Configurazione :"
echo "# ----------------------------------------------------------------- "

iptables -t nat -n -L

echo "# ########################################################### DONE ! ###"
====================================================================

Lo script ultimato sara pubblicato nelle mie pagine.
Ora come ora, non ti resta che provare a fare da solo.
RICORDA CHE IL PLUTO NON E' UN SERVIZIO NATO PER TE.
Questo significa che e' una bozza, e che tutto quello che non e' "generico" te lo devi studiare 
e creare da solo, infatti :

"..una cosa e' conoscere la strada giusta, un'altra imboccarla." -- Morpheus

Ti consiglio vivamente di leggere anche qualche documento piu' specifico a riguardo :

http://www.pluto.linux.it/ildp/HOWTO/PPP/index.html
http://www.tldp.org/HOWTO/mini/Bridge+Firewall+DSL.html
http://www.pluto.linux.it/ildp/HOWTO/mini/Firewall-Piercing.html

Come vedi, e' tutta roba pluto.. [pluto stuff]

LA CONSIGLIO A TUTTI QUELLI CHE HANNO INTENZIONE DI METTERE SU IN FIREWALL IN CASA!!!
[E anche quelli che non .. :o) ]




PS :  ATTENZIONE!!!
L'argomento FIREWALL e' da trattarsi nella ML pluto-security, dove trovate anche Dido e (R)ex che
vi raccontano qualche trucco.. :o)

[

Scusate la verbosita' di questo messaggio, ma dato che ho cambiato font, e che mi piace un casino, 
mi piace anche leggere quello che ho scritto, e non mi sembra niente male.. :o)

Che maniaco che sono.. 

Qualcuno ha una sigaretta? [OK ale, vado a comprarle non appena spiove..]

]

Baci per tutti, oggi offro io..

-- 
# ===================================================================
# Manuel (R)ex Sanna
# [Studente al Dipartimento di Informatica di Torino]
#--------------------------------------------------------------------
# I computer non servono a nulla. Danno solo risposte
#                                                 -- Pablo Picasso --
# ===================================================================



More information about the pluto-help mailing list