[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Primo script Iptables: suggerimenti,commenti,correzioni



On Mon, Apr 19, 2004 at 09:57:04AM +0200, gianni wrote:
> #!/bin/sh

come prima cosa bisogna fare il flush delle tabelle, altrimenti quando
rilanci lo script te le trovi prima doppie, poi triple ecc.

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

iptables -X INPUT
iptables -X OUTPUT
iptables -X FORWARD
> 
> iptables -P INPUT DROP
> iptables -P OUTPUT DROP
> iptables -P FORWARD DROP
> 
> #telnet 192.168.1.2->192.168.1.1
> iptables -A INPUT -s 192.168.1.0/24 -p tcp  --dport 23 -j ACCEPT
> iptables -A OUTPUT -d 192.168.1.0/24 -p tcp --sport 23 -j ACCEPT

intanto userei ssh invece di telnet. con win putty e winscp. poi
indicherei l'IP esatto e, volendo essere paranoici, anche il MAC della
scheda di rete dell'unico pc che deve connettersi
> 
> 
> #risoluzione nomi: richieste client->server
> iptables -A OUTPUT -o ppp0 -p udp -d 194.185.97.134 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
> iptables -A FORWARD -o ppp0 -p udp -d 194.185.97.134 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
> 
> 
> #risoluzione nomi: risposte server->client
> iptables -A INPUT -i ppp0 -p udp -s 194.185.97.134 --sport 53 -m state --state ESTABLISHED -j ACCEPT
> iptables -A FORWARD -i ppp0 -p udp -s 194.185.97.134 --sport 53 -m state --state ESTABLISHED -j ACCEPT
> 
usi un solo dns? mi sembra di capire che il tuo approccio è bloccare
tutto da LAN verso WAN... strano se a usare il pc in LAN sei solo tu.
> 
> #icmp in entrata
> iptables -A INPUT -i ppp0 -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
> iptables -A FORWARD -i ppp0 -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
> 
> #icmp in uscita
> iptables -A OUTPUT -o ppp0 -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
> iptables -A FORWARD -o ppp0 -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

lo state è superfluo se li indichi tutti.
> 
> #icmp mio_client->firewall/gateway
> iptables -A INPUT  -i eth0 -s 192.168.1.2 -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
> iptables -A OUTPUT -o eth0 -d 192.168.1.2 -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
> 
> #posta in uscita (194.185.97.20 e' l'SMTP del mio provider)
> iptables -A FORWARD -i ppp0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
> iptables -A FORWARD -o ppp0 -p tcp -d 194.185.97.20 --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
> 
> #posta in ingresso
> iptables -A FORWARD -i ppp0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT
> iptables -A FORWARD -o ppp0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
> 
> #news
> iptables -A FORWARD -i ppp0 -p tcp --sport 119 -m state --state ESTABLISHED -j ACCEPT
> iptables -A FORWARD -o ppp0 -p tcp --dport 119 -m state --state NEW,ESTABLISHED -j ACCEPT
> 
> #http in uscita
> iptables -A FORWARD -i ppp0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
> iptables -A FORWARD -o ppp0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
> 
> #https in uscita
> iptables -A FORWARD -i ppp0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
> iptables -A FORWARD -o ppp0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
> 
> #masquerading
> echo "1" > /proc/sys/net/ipv4/conf/all/forwarding
> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

io uso echo "1" > /proc/sys/net/ipv4/ip_forward

comunque l'approccio mi sembra troppo restrittivo. e mancano alcune
regolette per la sicurezza.
consiglio vivamente, oltre al packet filtering howto, l'ottimo tutorial
 http://iptables-tutorial.frozentux.net/chunkyhtml/index.html e per
 generare uno script decente da modificare
 http://easyfwgen.morizot.net/gen/

 ciao
-- 
Leonardo Canducci 
GPG Key ID: 429683DA



Reply to: