#!/bin/sh #============================================================================== # F I R E W A L L #============================================================================== # Moreno Beninca' # Creato il 15/03/2003 # Versione 0.1 # Ultima modifica 15/03/2003 # Note: # # # #============================================================================== #-> VARIABILI AMBIENTE #RETI: INTERNET="0.0.0.0/0" MY_NETWORK="192.168.0.0/24" #INTERFACCIE: #INT_IF = INTERFACCIA DI RETE LOCALE INT_IF="eth0" #EXT_IF = INTERFACCIA GATAWAY COLLEGATA AD INTERNET EXT_IF="eth1" #"MACCHINE": GATW="192.168.1.3" LOCALHOST="127.0.0.1/32" #-> CANCELLO TUTTE LE EVENTUALI REGOLE PRESENTI iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -t nat -F #-> CANCELLO IL "route default" route del default case "$1" in start) echo "INIZIALIZZAZIONE FIREWALL" #CANCELLO TUTTE LE EVENTUALI REGOLE PRESENTI iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -t nat -F #DISABILITO IL FORWARDING: echo "0" > /proc/sys/net/ipv4/ip_forward #CATENA DI INPUT: #ACCETTO TUTTE LE CONNESSIONI RELATED, ESTABLISHED iptables -A INPUT -i $EXT_IF -m state --state RELATED,ESTABLISHED -j ACCEPT #ACCETTO TUTTE LE CONNESSIONI LOOPBACK iptables -A INPUT -i lo -j ACCEPT #ACCETTO TUTTE LE CONNESSIONI DA $INT_IF iptables -A INPUT -i $INT_IF -j ACCEPT #RIFIUTO TUTTE LE CONNESSIONI CHE ARRIVANO DALLA $EXT_IF #CATENA DI OUTPUT: #CATENA FORWARD: #CONSENTO LE CONNESSIONI NUOVE, STABILITE E QUASI PRONTE iptables -A FORWARD -i $EXT_IF -o $INT_IF -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT #CONSENTO IL FORWARD DA $INT_IF A $EXT_IF iptables -A FORWARD -i $INT_IF -o $EXT_IF -j ACCEPT #NAT: #iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE #POLITICHE DELLE CATENE: iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #iptables -t nat -P POSTROUTING DROP iptables -A INPUT -i $EXT_IF #RIPRISTINO IL FORWARD DEI PACCHETTI: echo "1" > /proc/sys/net/ipv4/ip_forward #PROTEZIONE AVANZATA: #BLOCCO I PING VERSO LA MIA MACCHINA #echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all #IGNORO TUTTI I MESSAGGI DI BROADCAST [DOS ATTACK] echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses #ABILITO I SYNCOOKIES [SYN FLOOD ATTACK] echo "1" > /proc/sys/net/ipv4/tcp_syncookies #ABILITO PROTEZIONE CONTRO ATTACCHI SPOOFING echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter #LOGGA IN /var/log/messages I PACCHETTI MALFORMATI E SCARTATI AUTOMATICAMENTE echo "1" > /proc/sys/net/ipv4/conf/all/log_martians #IGNORO ALCUNI FLAG TCP CHE MODIFICANO IL ROUTING echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects ;; *) echo "Usage: fire{start|close}" ;; esac #-> AGGIUNGO IL "route default" route add default gw $GATW