[gl-como] rete

Mystery Man mystery_man@tin.it
Lun 2 Feb 2004 23:52:50 CET


On Mon, 2004-02-02 at 19:10, Raysiel wrote:
> uomo dai mille nickname, non avevi tu forse uno scriptino per iptables?!?! =D

Certo che l'avrebbi :)
Ora e' pieno di schifezze perche' ci sto ancora configurando alcune cose ma dovrebbe andare bene pure a te :)
Lo pasto qui di seguito cosi' se qualcuno vuole anche dargli un occhio e darmi qualche consiglio colgo l'occassione per migliorare lo script :)
L'attuale problema sono le dcc irc: riesco a spedire files agli utenti ma nn riesco a riceverli: quando un utente su irc prova a spedirmi un file su un pc interno alla mia rete non riesco ad accettare la connessione.
Il problema si verifica quando la tattica della catena di FORWARD e' DROP: se imposto la tattica su ACCEPT la dcc va senza problemi.

===firewallizier.sh===
#!/bin/bash
#

##############################################
# Ranges di porte da aprire per consetire alcune 'operazionni' dalla lan verso niternet

UT2K3_PORTS_RANGE1="8000,8100,8200,8300,8400,8500,8600"
UT2K3_PORTS_RANGE2="8420,8440,8460,8820,8840,8860"
UT2K3_PORTS_RANGE3="7777,7845"

#############################################

# Trovo dove risiede iptables
IPTAB=`which iptables`
echo "Path iptables: $IPTAB"

# Trovo dove risiede insmod
MODP=`which modprobe`
echo "Path modprobe: $MODP"

# Carico i modili di cui ho bisogno
$MODP ip_conntrack
$MODP ip_conntrack_ftp
$MODP ip_nat_ftp
$MODP ip_conntrack_irc
$MODP ip_nat_irc

# Ripulisco le catene
echo "Pulisco le catene"
$IPTAB -F
$IPTAB -X
$IPTAB -Z

# Definisco le tattiche
echo "Tutte le tattiche sono impostate su DROP"
$IPTAB -P INPUT DROP
$IPTAB -P OUTPUT DROP
$IPTAB -P FORWARD DROP


# Net Address Resolution (nat) per il "mascheramento" dei pacchetti
echo "Abilito il masquerading dei pacchetti"
$IPTAB -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Abilito il forwarding
echo "Abilito il forwarding dei pacchetti"
echo 1 > /proc/sys/net/ipv4/ip_forward

# Inizio dello script

$IPTAB -I INPUT -p icmp -j ACCEPT
$IPTAB -I OUTPUT -p icmp -j ACCEPT

#
# Abilito traffico del localhost
#echo "Abilito traffico del localhost"
$IPTAB -A INPUT  -s 127.0.0.1/255.255.255.0 -i lo -j ACCEPT
$IPTAB -A OUTPUT -s 127.0.0.1/255.255.255.0 -o lo -j ACCEPT

echo "Abilito il traffico in uscita"
$IPTAB -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTAB -A OUTPUT -m state --state NEW -j ACCEPT
$IPTAB -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

echo "Blocco l'ident (evito il timeout sui server irc)"
$IPTAB -A INPUT -p tcp --dport 113 -j REJECT

echo "Abilito le connessioni al server ftp"
$IPTAB -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT

echo "Abilito le connessioni al server ssh"
$IPTAB -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

echo "Abilito le connessioni al server di posta locale"
$IPTAB -A INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT

echo "Abilito le connessioni al server dns"
$IPTAB -A INPUT -p udp --dport 53 -j ACCEPT

echo "Abilito le connessioni al server web"
$IPTAB -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

echo "Abilito le connessioni al server samba"
$IPTAB -A INPUT -p tcp -i eth0 --dport 137:139 -m state --state NEW -j ACCEPT
$IPTAB -A INPUT -p udp -i eth0 --dport 137:139 -m state --state NEW -j ACCEPT
$IPTAB -A INPUT -p tcp -i eth0 --dport 445 -m state --state NEW -j ACCEPT

echo "Abilito le connessioni a cups"
$IPTAB -A INPUT -p tcp -i eth0 --dport 631 -m state --state NEW -j ACCEPT
$IPTAB -A INPUT -p udp -i eth0 --dport 631 -m state --state NEW -j ACCEPT

echo "Abilito le connessioni al server mysql"
$IPTAB -A INPUT -p tcp -i lo --dport 3306 -j ACCEPT

echo "Abilito le connessioni al proxy"
$IPTAB -A INPUT -p tcp --dport 8080 -i eth0 -m state --state NEW -j ACCEPT
echo "- - = = <Creo il Transparent Proxy> = = - -"
$IPTAB -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

echo "Abilito porte emule"
$IPTAB -A INPUT -p tcp --dport 4662 -m state --state NEW -j ACCEPT
$IPTAB -A INPUT -p udp --dport 4672 -m state --state NEW -j ACCEPT

echo "Abilito server VNC solo per la lan"
$IPTAB -A INPUT -p tcp --dport 5901 -i eth0 -m state --state NEW -j ACCEPT

echo "Abilito le connessioni a webmin su tutte le interfacce tranne la ppp0 (internet)"
$IPTAB -A INPUT -p tcp --dport 10000 -i eth0 -m state --state NEW -j ACCEPT

# Come ultima regola scelgo di elimiare tutti i pacchetti che sono arrivati fin qui
echo "Tutto quello che nn corrisponde alle precedenti regole viene eliminato"

$IPTAB -A INPUT  -j DROP
$IPTAB -A OUTPUT -j DROP

##################################################################################
# Gestione Catena Forwaring
#$IPTAB -A FORWARD -m state --state NEW,ESTABLISHED -j ACCEPT #Con questa si abilita tutto

echo "Permetto il proseguo delle connessioni gia' esistenti"
$IPTAB -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

echo "Permetto dalla lan di avere sessione ftp su internet"
$IPTAB -A FORWARD -p tcp --dport 21 -m state --state NEW -j ACCEPT

echo "Permetto dalla lan di avere sessione ssh su internet"
$IPTAB -A FORWARD -p tcp --dport 22 -m state --state NEW -j ACCEPT

echo "Permetto dalla lan di consultare i newsgroup"
$IPTAB -A FORWARD -p tcp --dport 119 -m state --state NEW -j ACCEPT

echo "Permetto dalla lan di autenticarsi con emule"
$IPTAB -A FORWARD -p tcp --dport 4661:4662 -m state --state NEW -j ACCEPT

echo "Permetto dalla lan di autenticarsi con ICQ"
$IPTAB -A FORWARD -p tcp --dport 5190 -m state --state NEW -j ACCEPT

echo "Permetto dalla lan di utilizzare IRC"
$IPTAB -A FORWARD -p tcp --dport 6666:6667 -m state --state NEW -j ACCEPT

echo "Permetto dalla lan di utilizzare winmx"
$IPTAB -A FORWARD -p tcp --dport 6699 -m state --state NEW -j ACCEPT
$IPTAB -A FORWARD -p tcp --dport 7950:7952 -m state --state NEW -j ACCEPT

#echo "Permetto dalla lan di usare ASE: porte master scan server"
$IPTAB -A FORWARD -p tcp --dport 27243 -m state --state NEW -j ACCEPT
$IPTAB -A FORWARD -p tcp --dport 27952 -m state --state NEW -j ACCEPT

echo "Permetto dalla lan di gioare a q3 su internet"
$IPTAB -A FORWARD -p tcp --dport 27960:27970 -m state --state NEW -j ACCEPT
$IPTAB -A FORWARD -p udp --dport 27960:27970 -m state --state NEW -j ACCEPT
$IPTAB -A FORWARD -p tcp --dport 28020 -m state --state NEW -j ACCEPT #mnet
$IPTAB -A FORWARD -p udp --dport 28020 -m state --state NEW -j ACCEPT #mnet

echo "Permetto dalla lan di gioare a Unreal Tournament 2003 su internet"
$IPTAB -A FORWARD -p udp -m multiport --dport $UT2K3_PORTS_RANGE1 -m state --state NEW -j ACCEPT
$IPTAB -A FORWARD -p udp -m multiport --dport $UT2K3_PORTS_RANGE2 -m state --state NEW -j ACCEPT
$IPTAB -A FORWARD -p udp -m multiport --dport $UT2K3_PORTS_RANGE3 -m state --state NEW -j ACCEPT

$IPTAB -A FORWARD -j DROP

##################################################################################

echo "Fine dello script"
#EOF

===FINE===


Sciauz all

-- 
KNOWLEDGE IS POWER
http://tric.games4mac.it/



Maggiori informazioni sulla lista gl-como