Condividi:        

Script per IpTables

Per tutti i tuoi problemi Linux entra qui e risolvili!

Moderatori: Anthony47, gunter, zendune

Script per IpTables

Postdi segugiofan » 28/03/05 22:54

Sono alla ricerca di uno script per iptable già compilato con regole valide per un computer client, quindi per navigare, scaricare la posta etc...Potete dirmi dove posso trovarlo?
segugiofan
Utente Senior
 
Post: 955
Iscritto il: 05/08/03 19:53

Sponsor
 

Postdi zello » 31/03/05 19:24

Io uso le seguenti regole (mandrake le carica automaticamente all'avvio se le piazzi come /etc/sysconfig/iptables):
Codice: Seleziona tutto
# Generated by iptables-save v1.2.9 on Sat Sep 18 15:05:24 2004
*filter
:INPUT DROP [1:154]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:LOGNDROP - [0:0]
#accetto in input se è una connessione già stabilita
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#accetto tutto sull'interfaccia di loopback in entrata
-A INPUT -i lo -j ACCEPT
#le regole sotto sono inutili, ma mi servono giusto per il log
#rifiuto su ppp0 chi fa spoofing con gli indirizzi di loopback
-A INPUT -s 127.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
#rifiuto su ppp0 in entrata tutte le connessioni da IP impossibili
-A INPUT -s 10.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 172.16.0.0/255.240.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 192.168.0.0/255.255.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 0.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 2.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 5.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 7.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 14.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 23.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 27.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 31.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 36.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 37.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 39.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 41.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 42.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 49.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 50.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 58.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 71.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 72.0.0.0/248.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 85.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 86.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 96.0.0.0/240.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 112.0.0.0/248.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 120.0.0.0/252.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 124.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 126.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 197.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 224.0.0.0/240.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 240.0.0.0/240.0.0.0 -i ppp0 -j LOGNDROP
#rifiuto in generale tutto il resto, loggandolo (basterebbe la policy, senno')
-A INPUT -p tcp -j LOGNDROP
#lascio passare praticamente ogni stato non malformato in uscita
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
#droppo in uscita il poco che rimane
-A OUTPUT -j LOGNDROP
#la catena logndrop prima logga, poi rigetta
-A LOGNDROP -j LOG
-A LOGNDROP -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sat Sep 18 15:05:24 2004
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44

Postdi zendune » 31/03/05 19:53

Un'altra base di partenza è questa:
#!/bin/sh
#####################
VERSION=0.0.1
#####################
#
echo "Avvio il Firewall ver. $VERSION"
echo "..."
echo "Attivazione Firewall..."
#
#####################################
# policy predefinita
chain=DROP
#porte locali
LPRANGE="56000:65096"
#####################################
#
echo "Abilito forwarding... "
echo "0" > /proc/sys/net/ipv4/ip_forward
#
echo "Abilito syn-cookies (protezione syn-flood attacks)..."
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
#
echo "Riduco il numero di possibili SYN Floods..."
echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog
#
echo "Disabilito ICMP echo-request su broadcast (Smurf amplifier)..."
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#
#echo "Disabilito ICMP echo-request (use only if DOS'ed)"
#echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
#
echo "Abilito protezione defrag error... "
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#
echo "Abilito time-wait assassination hazards in tcp (RFC 1337)..."
echo "1" >/proc/sys/net/ipv4/tcp_rfc1337
#
echo "Abilito sourcerouting and spoofing protection..."
for i in /proc/sys/net/ipv4/conf/*; do
#
echo "Drop all source-routed packets..."
echo "0" > $i/accept_source_route
#
echo "Deactivate ICMP Redirect accept/send..."
echo "0" > $i/accept_redirects
echo "0" > $i/send_redirects
#
echo "Activate secure ICMP redirects..."
echo "1" > $i/secure_redirects
#
echo "Enable source-address verification (prevent spoofing)..."
echo "1" > $i/rp_filter
#
done
#
echo "Abilito il Log su spoofed, source routed e redirect packets..."
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
#
echo "Attivazione dynamic socket address rewriting..."
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
#
echo "Setto le porte locali..."
echo $LPRANGE |sed 's/:/ /'>/proc/sys/net/ipv4/ip_local_port_range
#
echo "Azzero le chain..."
iptables -t filter -F
iptables -t filter -X
#
echo "Genero Policy & Chains..."
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -P INPUT $chain
iptables -N SYN-FLOOD
iptables -A INPUT -i lo -j ACCEPT
#
echo "Abilito Logging..."
iptables -A INPUT -p tcp --syn -j LOG --log-level info
#
echo "Dirotto pacchetti NEW e INVALID verso CHAIN..."
iptables -A INPUT -i ! lo -m state --state NEW,INVALID -j RETURN
#
echo "Attivo SYN-FLOODING protection..."
iptables -A INPUT -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 $chain
#
echo "Accetto DNS replays..."
iptables -A INPUT -p udp -s 0.0.0.0 --sport 53 -j ACCEPT
#
echo "Accetto ICMP type 0,3,11,16 packets..."
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 16 -j ACCEPT
#
echo "Accetto RELATED/ESTABLISHED packages..."
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
echo "Done."

Su internet trovi anche guide per creare / personalizzare il tuo firewall e questo sopra è solo una base.
Non exercitus neque thesauri praesidia regni sunt, verum amici, quos neque armis cogere neque auro parare queas: officio et fide pariuntur
Avatar utente
zendune
Moderatore
 
Post: 1660
Iscritto il: 15/03/03 18:34
Località: Brescia

Postdi segugiofan » 31/03/05 21:51

Bene,grazie. Zello se ho capito bene, quello script lo devo salvare con kwrite, denominarlo iptables e metterlo in quella directory?
segugiofan
Utente Senior
 
Post: 955
Iscritto il: 05/08/03 19:53

Postdi segugiofan » 31/03/05 21:58

Dato che ho disinstallato guarddog ed installato shorewall+webmin, disinstallo anche questo e metto quello script nel percorso che hai indicato, senza cancellare nessuna regola?
segugiofan
Utente Senior
 
Post: 955
Iscritto il: 05/08/03 19:53

Postdi segugiofan » 10/04/05 13:51

zello ha scritto:Io uso le seguenti regole (mandrake le carica automaticamente all'avvio se le piazzi come /etc/sysconfig/iptables):
Codice: Seleziona tutto
# Generated by iptables-save v1.2.9 on Sat Sep 18 15:05:24 2004
*filter
:INPUT DROP [1:154]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:LOGNDROP - [0:0]
#accetto in input se è una connessione già stabilita
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#accetto tutto sull'interfaccia di loopback in entrata
-A INPUT -i lo -j ACCEPT
#le regole sotto sono inutili, ma mi servono giusto per il log
#rifiuto su ppp0 chi fa spoofing con gli indirizzi di loopback
-A INPUT -s 127.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
#rifiuto su ppp0 in entrata tutte le connessioni da IP impossibili
-A INPUT -s 10.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 172.16.0.0/255.240.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 192.168.0.0/255.255.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 0.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 2.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 5.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 7.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 14.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 23.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 27.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 31.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 36.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 37.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 39.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 41.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 42.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 49.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 50.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 58.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 71.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 72.0.0.0/248.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 85.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 86.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 96.0.0.0/240.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 112.0.0.0/248.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 120.0.0.0/252.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 124.0.0.0/254.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 126.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 197.0.0.0/255.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 224.0.0.0/240.0.0.0 -i ppp0 -j LOGNDROP
-A INPUT -s 240.0.0.0/240.0.0.0 -i ppp0 -j LOGNDROP
#rifiuto in generale tutto il resto, loggandolo (basterebbe la policy, senno')
-A INPUT -p tcp -j LOGNDROP
#lascio passare praticamente ogni stato non malformato in uscita
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
#droppo in uscita il poco che rimane
-A OUTPUT -j LOGNDROP
#la catena logndrop prima logga, poi rigetta
-A LOGNDROP -j LOG
-A LOGNDROP -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sat Sep 18 15:05:24 2004

Zello, ho provato il tuo script, l'ho testato su grc.com e ha superato brillantemente i test, però su http://www.pcflank.com non ha passato il quick test e nello stealth test, TCP FIN e TCP XMAS risultano unknown invece di stealth. Puoi spegarmi il perchè?
segugiofan
Utente Senior
 
Post: 955
Iscritto il: 05/08/03 19:53


Torna a Software Linux


Topic correlati a "Script per IpTables":

Script batteria < 30%
Autore: GiuCi
Forum: Software Windows
Risposte: 7

Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti