Newsgroup: it.comp.os.linux.sys
Titolo: Suggerimenti iptables

Ciao a tutti, sto cercando di realizzare un firewall ad hoc con iptables per
la mia lan. Ho il server collegato all'adsl su cui girano apache, postfix,
ssh e fetchmail. Il client passa attraverso il server per raggiungere la
rete. Dall'esterno devono essere disponibili apache e ssh. Postfix gestisce
la posta di un dominio e con fetchmail raccolgo altra posta da alcune
caselle sparse in rete.
La politica che voglio adottare è quella di chiudere tutto e aprire solo ciò
che serve. Ho messo giù una prima versione dello script ma mi trovo in
difficolà in quanto pingo ma non navigo (se cerco di aprire una pagina web
si ferma a resolving...) e penso sia dovuto alla necessità di gestire i
dns; fetchmail si connette alle caselle esterne, vede che c'è posta ma non
scarica (va in timeout)...
Cosa ne pensate?
#!/bin/sh
# Test di script per iptables. Intendo bloccare tutto e concedere solo ciò
che serve.
# Il server ha due schede di rete: eth0 è connessa alla lan, eth1 è connessa
a internet.
# Flush delle tabelle
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# Imposto le politiche
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Masquerading e forward
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables --append FORWARD --in-interface eth0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Abilito l'accesso attraverso loopback alle eth
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.0.2 -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.2.1 -j ACCEPT
# Apro ssh sia alla lan che a internet
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i ppp0 --dport 22 -j ACCEPT
# Apro sftp sia alla lan che a internet
iptables -A INPUT -p tcp -i eth0 --dport 115 -j ACCEPT
iptables -A INPUT -p tcp -i ppp0 --dport 115 -j ACCEPT
# Apro http sia alla lan che a internet
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -i ppp0 --dport 80 -j ACCEPT
iptables -A INPUT -p udp -i ppp0 --dport 80 -j ACCEPT
# Apro smtp solo alla lan
iptables -A INPUT -p tcp -i eth0 --dport 25 -j ACCEPT
# Apro pop solo alla lan
iptables -A INPUT -p tcp -i eth0 --dport 110 -j ACCEPT
# Apro psybnc solo alla lan
iptables -A INPUT -p tcp -i eth0 --dport 31337 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 31337 -j ACCEPT
# Rendo possibili i ping (DA RAFFINARE)
iptables -A INPUT -p icmp -j ACCEPT

 caselle sparse in rete.
Prima di andare a vedere lo script, ho capito bene? hai servizi offerti
all'esterno che girano sul firewall? Nel caso, e' sbagliatissimo.
bye G.L.
-- 
« E' assolutamente evidente che l'arte del cinema
  si ispira alla vita, mentre la vita si ispira alla TV »
(Woody Allen)

 all'esterno che girano sul firewall? Nel caso, e' sbagliatissimo.
Lo script oggi è cambiato radicalmente quindi quello che c'è lì non fa più
testo. Mi son stampato gli howto di 
netfilter.org
 e ho studiato e rifatto
tutto.
Per quanto riguarda la tua osservazione sono d'accordo se si parla di
sistemi di produzione, in questo caso stiamo parlando del mio server
casalingo che gestisce un dominio (http e posta) niente di più. Essendo
l'unica macchina che è perennemente collegata a internet deve fare da
server/router/firewall.
-- 
Spotmusic: tutto sulla musica degli spot!
www.spotmusic.net