Pagina 1 di 1

firewall

Inviato: dom 18 set 2005, 19:58
da annaelisa
Ciao atutti, sto giocando con lo scriprt "FIREWALL" presente nell'apposita sezione di questo sito

Però se modifico questa riga di script con DROP i client navigano lo stesso, qualcuno mi sa dire perchè

## abilita la navigazione WEB ed il traffico HTTPS
## (attivare per policy drop su output)
$IPT -t filter -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

Ciao e grazie

Inviato: dom 18 set 2005, 20:20
da Sawk
verifica che prima non hai dato parametri a iptables che potessero alloweare tutto il traffico di OUTPUT...comunque quel firewall ha diversi problemi, non fidarti delle regole che usa :P

Inviato: dom 18 set 2005, 20:28
da Paoletta
i client navigano lo stesso perchè in quello script la policy di default per la catena di output ($outpolicy) è ACCEPT; di conseguenza viene fatto passare tutto. Infatti quella regola serve solo nel caso in cui la policy sia DROP

ciao!

Inviato: dom 18 set 2005, 20:28
da gallows
http://openskills.info/release/openskil ... rewall.pdf
La cosa migliore è capirlo il firewall.
Nello specifico probabilmente ci sará qualche opzione che permette il traffico, dai iptables -L. per visualizzare come il firewall sta agendo sulla rete.

Inviato: dom 18 set 2005, 23:34
da slackwarelife
Posso consigliare uno script carino, ecco il sito:

http://www.shorewall.net

Provalo, io mi trovo bene.

Inviato: lun 19 set 2005, 21:10
da annaelisa
Ok... vi ringrazio per i suggerimenti.

Ho letto e riletto un sacco di HOWTO sufirewall e iptables.
Conclusioni: Ho fatto un mio file con tutte le regole che potrebbero servirmi.
Risultato: Non funziona :oops:

A questo punto penso che non ho capito come funziona.

Vi posto il mio file

## Cancellazione delle regole esistenti
iptables -F
iptables -X
iptables -t nat -F

## Chiusura di tutti le porte
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

## Catene necessarie
#Catena Internet - LAN
iptables -N inetlan
#Catena LAN - Internet
iptables -N laninet

## Controllo il traffico tra le due schede di rete
iptables -A FORWARD -i eth1 -o eth0 -j inetlan
iptables -A FORWARD -i eth0 -o eth1 -j laninet

## Policy LAN -internet
# Controllo che venga accettato solo ciò che proviene dalla mia rete interna
iptables -A laninet -s ! 192.168.1.0/24 -j DROP
# Permetto la navigazione su internet
iptables -A laninet -p tcp -m multiport --sport 80,443 -d 192.168.1.0/24 -j ACCEPT
# Permetto di inviare e-mail (smtp)
iptables -A laninet -p tcp --sport 25 -d 192.168.1.0/24 - j ACCEPT
# Permetto di scaricare e-mail (pop3)
iptables -A laninet -p tcp --sport 110 -d 192.168.1.0/24 -j ACCEPT
# Permetto l'accesso dei pacchetti ottenuti da connessioni già stabilite e delle connessioni già esistenti
iptables -A laninet -m state --state ESTABLISHED,RELATED -j ACCEPT
# Resetta le connessione effettuate su porte chiuse
iptables -A laninet -p tcp -j REJECT --reject-with tcp-reset

## Policy Internet - LAN
# controllo che venga accettato solo ciò che arriva in risposta dalla mia rete interna
iptables -A inetlan -s ! eth1 -j DROP
# controllo che venga accettato solo ciò che non abbia come sorgente la rete interna
iptables -A inetlan -s 192.168.1.0/24 -j DROP
# Permetto l'accesso dei pacchetti ottenuti da connessioni già stabilite e delle connessioni già esistenti
iptables -A inetlan -m state --state ESTABLISHED,RELATED -j ACCEPT
# Resetta le risposte inviate su porte chiuse
iptables -A inetlan -p tcp -j REJECT --reject-with tcp-reset

## Plicy Firewall - Firewall
# Permette l'accesso tramite ssh limitando la frequenza
#iptables -A INPUT -p tcp --syn --dport ssh -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 23 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 23 -j ACCEPT
# Permetto il ping
iptables -A INPUT -i eth1 -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type 11 -j ACCEPT
# Permetto l'accesso dei pacchetti ottenuti da connessioni già stabilite e delle connessioni già esistenti
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Resetta le risposte inviate su porte chiuse
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
# Abilita il DHCP
iptables -A INPUT -p udp --sport 67 --dport 68 -j ACCEPT
# DHCPd - abilitare in presenza di DHCP interno
iptables -A INPUT -i eth1 -p tcp --sport 68 --dport 67 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport 68 --dport 67 -j ACCEPT

## NAT
# Mascheramento della rete LAN
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE


Mi dovrebbe permettere il collegamento tramite DHCP e non lo fa
Dovrei riuscire a connetermi tramite putty al firewall ma mi sbatte fuori.

Dove sto sbagliando?????

Grazie mille a tutti
Anna

Inviato: lun 19 set 2005, 21:12
da annaelisa
Per slackwarelife:

Ho provato a guardare il sito che mi hai consigliato, ma non ho capito cosa scaricare.

Grazie ancora

Inviato: mar 20 set 2005, 9:40
da -Shark-
Le catene che vengono processate di default solo input, output e forward (oltre alle altre pre,post routing etc etc...)! Se fai altre catene per semplificarti la modularità del firewall dovresti redirigere il traffico dalle varie catene principali alle catene personalizzate!
A mio avviso comunque, a meno che tu non abbia esigenze particolari, tipo filtrare anche il traffico in uscita, di default io OUTPUT la lascerei con policy ACCEPT, visto che da quel che ho capito si parla di una lan casalinga :)

Inviato: mar 20 set 2005, 14:21
da Paoletta
se fossi in te non starei a complicarmi la vita con catene personalizzate ma userei quelle di default;

ciao!

Inviato: mer 21 set 2005, 21:27
da annaelisa
Rieccomi con i miei problemi con il firewall...
Ho scritto questo script prendendo spunto da un libro.

Qualcuno di voi esperto, potrebbe gentilmente dirmi se è corretto??????
Qui a casa non riesco a capirlo anche perchè il client naviga, poi non naviga, poi torna a navigare...
E' un problema di script?????

#!/bin/bash

# Cancellazione delle regole esistenti
iptables -F
iptables -X
iptables -t nat -F

# Chiusura di tutti le porte
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Accesso tramite ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Apertura porta DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
# Accesso da Rete locale al Firewall
iptables -A INPUT -i eth0 -j ACCEPT
# Controllo della contraffazione dell'IP (SPOOFING)
iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j DROP
iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -j DROP
# Scarto dei pacchetti derivanti dall'esterno con sorgente uguale a LO
iptables -A INPUT -s 127.0.0.0/3 -i eth1 -j DROP
iptables -A FORWARD -s 127.0.0.0/3 -i eth1 -j DROP
# Attivazione del traffico in ingresso su TCP e UDP
iptables -A INPUT -i eth1 -p tcp --dport 1024:65535 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 1024:65535 -j ACCEPT
# Attivazione del traffico passante per ICMP
iptables -A INPUT -i eth1 -p icmp -j ACCEPT
# Scarto dei pacchetti con flag SYN
iptables -A INPUT -i eth1 -p tcp --syn -j DROP
# Controllo sullo stato delle connessioni
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Attivazione del traffico attraverso il firewall
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# Mascheramento degli ip
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Help me.... Sono 3 giorni che ci provo e non so più che inventarmi. :cry:

Grazie mille a tutti
ciao
Anna

Inviato: gio 22 set 2005, 9:20
da -Shark-
# Apertura porta DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
Il dns funziona in udp e non in tcp.

comunque non ricordo la configurazione della tua rete, ma dovrebbe essere che la tua linux box che fa da firewall ha la eth0 all'interno (rete lan)e la eth1 all'esterno (interfaccia verso il router o internet) giusto?
Cosa significa che a volte va e a volte no... :?:

Inviato: gio 22 set 2005, 13:12
da Paoletta
quando la risposta al una query dns è più lunga della dimensione massima di un pacchetto udp, il dns apre una connessione tcp; quindi conviene tenere aperte entrambe le versioni; fai così:

iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT

forse i client navigano un po' sì e un po' no perchè si basano su quello che hanno in cache...

P.S. in input devi accettare la porta sorgente 53, non destinazione...il server dns ascolta sulla porta 53!