DigitalKiller
09-01-2007, 10:36
Ciao a tutti!
In questi giorni sto provando a configurare per la prima volta il firewall della mia debian etch.
Ho letto un po' di documentazione su vari siti ed ho provato a scrivere un primo script. Essendo alle prime armi con iptable, naturalmente sono sorti dei problemi con lo script.
Questo č lo script che ho scritto per le prove
#!/bin/bash
# Carico i moduli necessari
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Disabilito il forwarding dei pacchetti
echo "0" > /proc/sys/net/ipv4/ip_forward
# Svuoto le tabelle
iptables -F
iptables -X
#==============================OUTPUT==============================
# Accetto i pacchetti in uscita dall'interfaccia lo (localhost)
iptables -A OUTPUT -o lo -j ACCEPT
# Accetto tutti i pacchetti riguardanti una connessione stabilita o relativa
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#
iptables -A OUTPUT -o eth0 -p TCP --dport 80 -j ACCEPT
# Scarto tutti i pacchetti non accettati esplicitamente
iptables -A OUTPUT -j DROP
#=============================FORWARD=============================
# Il pc non č posto a protezione di una rete
# Scarto tutti i pacchetti non accettati esplicitamente
iptables -A FORWARD -j DROP
#==============================INPUT==============================
# Accetto tutti i pacchetti che fanno parte di una connessione da
# stabilita (ESTABLISHED) o che sono relativi (RELATED) come ad esempio
# pacchetti ICMP di errore.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Accetto
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
# Accetto alcuni tipi di pacchetti ICMP che possono essere utili
iptables -A INPUT -p ICMP -s 0/0 -m icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 -m icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 -m icmp --icmp-type 11 -j ACCEPT
# Scarto tutti i pacchetti non accettati esplicitamente
iptables -A INPUT -j DROP
Dopo aver eseguito lo script, la navigazione via browser smette di funzionare dopo qualche minuto. Cosa ho sbagliato? :)
Grazie
In questi giorni sto provando a configurare per la prima volta il firewall della mia debian etch.
Ho letto un po' di documentazione su vari siti ed ho provato a scrivere un primo script. Essendo alle prime armi con iptable, naturalmente sono sorti dei problemi con lo script.
Questo č lo script che ho scritto per le prove
#!/bin/bash
# Carico i moduli necessari
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Disabilito il forwarding dei pacchetti
echo "0" > /proc/sys/net/ipv4/ip_forward
# Svuoto le tabelle
iptables -F
iptables -X
#==============================OUTPUT==============================
# Accetto i pacchetti in uscita dall'interfaccia lo (localhost)
iptables -A OUTPUT -o lo -j ACCEPT
# Accetto tutti i pacchetti riguardanti una connessione stabilita o relativa
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#
iptables -A OUTPUT -o eth0 -p TCP --dport 80 -j ACCEPT
# Scarto tutti i pacchetti non accettati esplicitamente
iptables -A OUTPUT -j DROP
#=============================FORWARD=============================
# Il pc non č posto a protezione di una rete
# Scarto tutti i pacchetti non accettati esplicitamente
iptables -A FORWARD -j DROP
#==============================INPUT==============================
# Accetto tutti i pacchetti che fanno parte di una connessione da
# stabilita (ESTABLISHED) o che sono relativi (RELATED) come ad esempio
# pacchetti ICMP di errore.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Accetto
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
# Accetto alcuni tipi di pacchetti ICMP che possono essere utili
iptables -A INPUT -p ICMP -s 0/0 -m icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 -m icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 -m icmp --icmp-type 11 -j ACCEPT
# Scarto tutti i pacchetti non accettati esplicitamente
iptables -A INPUT -j DROP
Dopo aver eseguito lo script, la navigazione via browser smette di funzionare dopo qualche minuto. Cosa ho sbagliato? :)
Grazie