|
www.vincenzomanzoni.com Homepage personale e blog di Vincenzo Manzoni
|
Precedente :: Successivo |
Autore |
Messaggio |
abaddon Utente adulto
Registrato: 05/04/04 16:32 Messaggi: 2033
|
Inviato: Mer Lug 07, 2004 8:39 pm Oggetto: [tecnico] iptables |
|
|
Oggi durante la pausa gelato si parlava di reti, nat, firewall ecc... ed è saltata fuori pure iptables. visto che non ho un tubazzo da fare vi posto qua sotto una prima versione del firewall del kispios
Codice: |
#FIREWALL SERVER BLACKHOLE KIS Stefano Longhi v.1.0.0 06/07/04
#Script ispirato a quello di Gabriele Tozzi che si ringrazia
#SETUP
#ignoro gli icmp redirect
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
#disabilito le risposte ai broadcast
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#protezione dai msg di errore bogus
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#abilito forward
echo "1" > /proc/sys/net/ipv4/ip_forward
#loggo i pacchetti strani
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
#REGOLE DI ROUTING
#route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
#route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.1
#route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.1.1
#brao... na marea di cazzate
#reset regole/contatori
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
#politica
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
###########################################
#chain log&drop #
###########################################
iptables -N loganddrop
#WinXP noise, droppo e via
iptables -A loganddrop -i eth0 -s 192.168.1.0/24 -p udp -d 192.168.1.253 --dport 1900 -j DROP
iptables -A loganddrop -i eth0 -s 192.168.1.0/24 -p udp -d 192.168.1.253 --dport 137:138 -j DROP
iptables -A loganddrop -i eth0 -s 192.168.1.0/24 -p udp -d 192.168.1.255 --dport 137:138 -j DROP
#evito di floddare i log
iptables -A loganddrop -m limit --limit 10/m --limit-burst 50 -j ULOG --ulog-nlgroup 1 --ulog-qthreshold 1 --ulog-prefix IPTABLES_DROPS:;
iptables -A loganddrop -j DROP
###########################################
###########################################
#chain per scartare i pacchetti non validi#
###########################################
iptables -N dropunvalid
#frammenti
iptables -A dropunvalid -f -j loganddrop
#pacchetti unclean e invalidi
iptables -A dropunvalid -m unclean -j loganddrop
iptables -A dropunvalid -m state --state INVALID -j loganddrop
############################################
############################################
#creo antidos #
############################################
iptables -N antidos
#protezione dos icmp e ping of death
iptables -A antidos -p icmp --icmp-type echo-request -m length --length 128:65535 -j loganddrop
iptables -A antidos -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 5 -j RETURN
iptables -A antidos -p icmp --icmp-type echo-request -j loganddrop
#protezione syn-flood
iptables -A antidos -p tcp --syn -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A antidos -p tcp --syn -j DROP
iptables -A antidos -p tcp ! --syn -m state --state NEW -j DROP
############################################
############################################
#creo antispoof #
############################################
iptables -N antispoof
#lo
iptables -A antispoof -i lo -j RETURN
iptables -A antispoof -o lo -j RETURN
#eth0
iptables -A antispoof -i eth0 -s 127.0.0.1 -j loganddrop
iptables -A antispoof -i eth0 -s 192.168.2.0/24 -j loganddrop
iptables -A antispoof -i eth0 -s 192.168.3.0/24 -j loganddrop
iptables -A antispoof -i eth0 -s 192.168.4.0/24 -j loganddrop
#eth1
iptables -A antispoof -i eth1 -s ! 192.168.2.0/24 -j loganddrop
#eth2
iptables -A antispoof -i eth2 -s ! 192.168.3.0/24 -j loganddrop
#eth3
iptables -A antispoof -i eth3 -s ! 192.168.4.0/24 -j loganddrop
############################################
#controllo validità pacchetti
iptables -A INPUT -j dropunvalid
iptables -A OUTPUT -j dropunvalid
iptables -A FORWARD -j dropunvalid
#protezione da dos su eth0
iptables -A INPUT -i eth0 -j antidos
#protezione da spoofing
iptables -A INPUT -j antispoof
#evito di routare pacchetti in multicast
iptables -A FORWARD -m pkttype --pkt-type multicast -j DROP
#accetto tutto da lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#accetto tutto in uscita
iptables -A OUTPUT -j ACCEPT
#icmp da eth1,eth2,eth3
iptables -A INPUT -p icmp -i eth1 -j ACCEPT
iptables -A INPUT -p icmp -i eth2 -j ACCEPT
iptables -A INPUT -p icmp -i eth3 -j ACCEPT
#icmp da eth0
iptables -A INPUT -p icmp -i eth0 --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp -i eth0 --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i eth0 -m state --state related -j ACCEPT
#ssh
iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT
#http
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#ftp
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#mysql
iptables -A INPUT -p tcp --dport 3336 -i eth0 -j ACCEPT
#ut2004
iptables -A INPUT -p tcp --dport 7777 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 7777 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 7778 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 7778 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -i eth0 -j ACCEPT
#NAT eth1
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j MASQUERADE
#NAT eth2
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.0/24 -j MASQUERADE
#NAT eth3
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.4.0/24 -j MASQUERADE
#traffico eth1->eth0 www,https,dns
#iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --dport www,https -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p udp --dport domain -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#traffico eth2->eth0 www,https,dns
iptables -A FORWARD -i eth2 -o eth0 -p tcp -m multiport --dport www,https -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p udp --dport domain -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
#traffico eth3->eth0 www,https,dns
iptables -A FORWARD -i eth3 -o eth0 -p tcp -m multiport --dport www,https -j ACCEPT
iptables -A FORWARD -i eth3 -o eth0 -p udp --dport domain -j ACCEPT
iptables -A FORWARD -i eth3 -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth3 -m state --state ESTABLISHED,RELATED -j ACCEPT
########################################################
#regole finali #
########################################################
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED -p tcp --dport 1025:65535 -j ACCEPT
iptables -A INPUT -m state --state RELATED -p icmp -j ACCEPT
#monitoraggio traffico bloccato
iptables -A INPUT -i eth0 -j loganddrop
#####################FINE###############################
|
se trovate gabole fate un fischio |
|
Top |
|
|
Francesco Utente adulto
Registrato: 23/12/03 15:24 Messaggi: 2113 Residenza: Busnago (MI)
|
Inviato: Mer Lug 07, 2004 9:34 pm Oggetto: |
|
|
premetto che non ci capisco molto non sapendo i comandi di iptable, cmq è molto ordinato e leggibile, ma questo programmino ti gira sul server principale? dovrebbe essere sempre aperto e monitorare tutto il traffico penso... _________________ God is real........... unless declared integer or long |
|
Top |
|
|
abaddon Utente adulto
Registrato: 05/04/04 16:32 Messaggi: 2033
|
Inviato: Mer Lug 07, 2004 9:44 pm Oggetto: |
|
|
iptables è un programma un po strano^^ ma alquanto potente, la sua stranezza deriva dal fatto che non ha un file di configurazione, il file che ho riportato sopra è un comune file di testo di linux con permessi d'esecuzione. Se ci fai caso infatti si ripete sempre il comando iptables che è il comando da lanciare da console per gestire il firewall. Ogni riga quindi è una impostazione inserita nel firewall che per motivi di comodità vengono inseriri in un file che viene poi eseguito all'avvio della macchina, altrimenti sai che palle inserirle a mano ogni volta
iptables oltre ad essere un firewall permette anche di eseguire operazioni di routing, quindi di instradamento del traffico e inoltre è in grado di monitorare e loggare determinati pacchetti, di solito quelli male formattati o quelli generati da ping troppo insistenti...
comunque anche se non conosci i comandi dando una vista alle regole si intuiscono cosa fanno, ad esempio -i sta per periferica di input, -o perifierica di output, ecc... |
|
Top |
|
|
ice Utente adulto
Registrato: 21/01/04 19:07 Messaggi: 2885 Residenza: Seriate (Bergamo)
|
Inviato: Mer Lug 07, 2004 10:42 pm Oggetto: |
|
|
Codice: | #ut2004
iptables -A INPUT -p tcp --dport 7777 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 7777 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 7778 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 7778 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -i eth0 -j ACCEPT |
mi pare ci sia tutto no? _________________
Ti chiedo:
La saggezza per capire i colleghi...
La pazienza per ascoltarli...
La capacità di stare calmo...
... ma non darmi la forza... perchè se mi dai anche quella...
FACCIO UN MACELLO !!! |
|
Top |
|
|
abaddon Utente adulto
Registrato: 05/04/04 16:32 Messaggi: 2033
|
Inviato: Gio Lug 08, 2004 12:35 pm Oggetto: |
|
|
direi di si |
|
Top |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|