View Single Post
Old 04-04-2003, 11:24   #1
_Jc_
Senior Member
 
L'Avatar di _Jc_
 
Iscritto dal: Jul 2000
Cittā: Trana (Torino)
Messaggi: 141
Firewall con iptables... chi ci coregge il compitino ?

Io e miei amici abbiamo cercato di creare uno script per farci un piccolo firewall casalingo con una macchina dedicata ad esso, e prendendo spunto da varie guide abbiamo realizzato questo piccolo script che pubblichiamo qui per farlo correggere e sperando che possa servire anche ad altri.
ilsensine che dici mi correggi il compitino ?

Codice:
#!/bin/sh
#
## ========== IMPOSTAZIONE VARIABILI ========== ##
#
ipt="/sbin/iptables"
echo="/bin/echo"
lan=192.168.0.0/24
red=eth1
green=eth0
#
## ========== PULIZIA DELLE CATENE ========== ##
#
 # RESET DELLE REGOLE INPUT, OUTPUT, FORWARD
$ipt -F
 # 
 # DELETE DELLE CATENE CREATE DALL'UTENTE 
$ipt -X
 # 
 # RESET DEI CONTATORI
$ipt -Z
 #
 # RESET DELLE TABELLE DI MANGLE E DI NAT
$ipt -t mangle -F
$ipt -t nat -F
#
## ========== SETTAGGI DELLE REGOLE DI DEFAULT ========== ##
#
$ipt -P INPUT DROP
$ipt -P OUTPUT DROP
$ipt -P FORWARD DROP
#
## ========== SETTAGGI DI IPFORWARDING ========== ##
# 
 # DISABILITA L'IP FORWARDING
$echo "0" > /proc/sys/net/ipv4/ip_forward
 #
 # DISABILITA TUTTI GLI ECHO ICMP
$echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
 #
 # DISABILITA GLI ECHO BROADCAST ICMP
$echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
 # 
 # IMPOSTA LA PROTEZIONE CONTRO ATTACCHI SPOOFING
$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
 #
 # ABILITA IL LOG IN /var/log/messages DEI PACCHETTI MALFORMATI E LI SCARTA AUTOMATICAMENTE
$echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
$echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
$echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
#
## ========== SETTAGGI NAT ========== ##
# 
 # ABILITA IL MASCHERAMENTO DEGLI INDIRIZZI LAN
$ipt -t nat -A POSTROUTING -s $lan -j MASQUERADE
#
## ========== SETTAGGI PERSONALIZZAZIONE FIREWALL ==========  ##
#
 # SCARTO DEI PACCHETTI MALFORMATI
$ipt -A INPUT -m unclean -j DROP
 # 
 # ABILITA LA CONNESSIONE SSH LATO LAN
$ipt -A INPUT -s $lan -i $green -p tcp --dport 22 -j ACCEPT
$ipt -A OUTPUT -d $lan -o $green -p tcp --sport 22 -j ACCEPT
 #
 # SCARTA I PACCHETTI DESTINATI AL FIREWALL PROVENIENTI DALLA WAN
$ipt -A INPUT -i $red -j DROP
 #
 # BLOCCA I PACCHETTI IN USCITA DAL FIREWALL LATO WAN
$ipt -A OUTPUT -o $red -j DROP
 #
 # ABILITA DNS (53)
$ipt -A FORWARD -s $lan -p tcp --dport 53 -j ACCEPT
$ipt -A FORWARD -s $lan -p udp --dport 53 -j ACCEPT
$ipt -A FORWARD -d $lan -p tcp --sport 53 -j ACCEPT
$ipt -A FORWARD -d $lan -p udp --sport 53 -j ACCEPT
 #
 # ABILITA HTTP (80), HTTPS (443), PROXY (8080)
$ipt -A FORWARD -s $lan -p tcp --dport 80 -j ACCEPT
$ipt -A FORWARD -d $lan -p tcp --sport 80 -j ACCEPT
$ipt -A FORWARD -s $lan -p tcp --dport 8080 -j ACCEPT
$ipt -A FORWARD -d $lan -p tcp --sport 8080 -j ACCEPT
$ipt -A FORWARD -s $lan -p tcp --sport 443 -j ACCEPT
$ipt -A FORWARD -d $lan -p tcp --sport 443 -j ACCEPT
 #
 # ABILITA SMTP (25)
$ipt -A FORWARD -s $lan -p tcp --dport 25 -j ACCEPT
$ipt -A FORWARD -d $lan -p tcp --sport 25 -j ACCEPT
 #
 # ABILITA POP3 (110)
$ipt -A FORWARD -s $lan -p tcp --dport 110 -j ACCEPT
$ipt -A FORWARD -d $lan -p tcp --sport 110 -j ACCEPT
 #
 # BLOCCA TUTTI I PACCHETTI IN TRANSITO CHE NON SODDISFANO LE REGOLE 
 $ipt -A FORWARD -j DROP
 #
 # ABILITO L'IP FORWARD
$echo "1" > /proc/sys/net/ipv4/ip_forward
 # 
#
#
## ========== REGOLE DA VERIFICARE ========== ##
# 
# $ipt -A FORWARD -d $lan -p icmp ! --icmp-type echo-request -j ACCEPT
# $ipt -A FORWARD -d $lan -p icmp ! --icmp-type time-exceeded -j ACCEPT
#iptables -N syn-flood
#iptables -A INPUT -i $red -p tcp syn -j syn-flood
#iptables -A syn-flood -m limit limit 1/s limit-burst 4 -j RETURN
#iptables -A syn-flood -j DROP
#iptables -A FORWARD -d $lan -p icmp -j ACCEPT
_Jc_ č offline   Rispondi citando il messaggio o parte di esso