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

Re: domanda su iptables




Leonardo Canducci wrote:
> ripropongo il mio dubbio perch? forse mi sono spiegato male. 
> a casa ho un PC con adsl e modem ethernet.ho 3 sole interfaccie: lo,
> ppp0 e eth0. la scheda ethernet serve solo per il modem adsl. pensavo di
> usare questo script (da mettere in /ppp/ip-up.d/) per fare packet
> filtering (niente NAT o port forwarding):
> 
> #!/bin/sh
> modprobe ip_conntrack_ftp		#carica i moduli
> iptables -F 				#flush delle chains 
> iptables -P FORWARD DROP		#default policies
> iptables -P OUTPUT ACCEPT
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Non è una buona politica impostare ad ACCEPT la policy di OUTPUT. Come
punto di partenza per un firewall packet filtering è ok, ma per
affinarlo metti tutto a DROP e apri solo ciò che ti interessa (questo
vale in generale per tutte le catene).
> iptables -P INPUT DROP
> iptables -A INPUT -i lo -j ACCEPT 	# accetta pacchetti da lo
> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
> 					# accetta pacchetti da
> 					# connessioni estab. e related
> iptables -A INPUT -m state --state NEW -i ! eth0 -j ACCEPT
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 	# accetta traffico che non
> 					# proviene da eth0
> iptables -A INPUT -j LOG -m limit --limit 30/minute --log-prefix
> "Dropping: "				# logga il resto
> 
> mi chiedevo se non era superflua la regola che accetta traffico che non
> proviene da eth0. infatti le interfaccie restanti sono lo e ppp0; ma per
> la prima c'era gi? una regola e ppp0 dovrebbe 'utilizzare' eth0, anche
> se non mi ? ben chiaro come funzioni pppoe.
> 
> volendo considerare anche il syn flood questo dovrebbe essere bloccato,
> visto che si tratta di connessioni NEW.
> 
> che altro posso aggiungere?
> 
> ciao
Tornando alla tua prima domanda:
<<iptables -A INPUT -i lo -j ACCEPT>>
<<iptables -A INPUT -m state --state NEW -i ! eth0 -j ACCEPT>>
<<
<<la prima accetta connessioni dal loopback e la seconda accetta nuove>>
<<connessioni da interfacce diverse da eth0 (ho l'adsl col modem>>
<<ethernet). non fanno entrambe la stessa cosa?>>
non è proprio la stessa cosa perchè la prima ti accetta tutto in lo, la
seconda ti accetta i pacchetti il cui stato è NEW nelle interfacce !
eth0. Ora, d'accordo che nel tuo caso !eth0 == lo ma con questa policy
"droppi" in "lo" i pacchetti il cui stato è related o established.

Una cosa che sicuramente aggiungerei nel tuo script è:
# Anti-Spoofing
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f; done
# Enable syn-cookies (syn-flooding attacks)
	echo "1" >/proc/sys/net/ipv4/tcp_syncookies
# Disable ICMP echo-request to broadcast addresses (Smurf amplifier)
	echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

Spero di esserti stato d'aiuto.
Ciao
Vincenzo








Reply to: