Newsgroup: it.comp.os.linux.sys
Titolo: iptables: Quali porte lasciare aperte???

Ragazzi...
qualcuno mi saprebbe aiutare nella difficile scelta delle porte TCP (o anche
UDP) da lasciare aperte su un firewall???
La mia politica č: "Chiudo tutto, apro solo ciň che serve", ma vorrei capire
cosa sarebbe opportuno lasciare aperto oltre a:
20-21 (FTP)
25 (SMTP)
80 (HTTP)
110 (POP3)
119 (NNTP)
443 (HTTPS)
Ci sono altre porte che conviene aprire oppure no??? Grazie mille...

 La mia politica è: "Chiudo tutto, apro solo ciò che serve", ma vorrei


 cosa sarebbe opportuno lasciare aperto oltre a:
A parte la "domanda-che-sorge-spontanea" e cioe' "Ma hai ben chiaro
quali servizi vuoi offrire?" personalmente lascerei tutto cosi' anzi
leverei FTP se proprio non e' necessario.
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 leverei FTP se proprio non e' necessario.
Mah, allora: nel nostro ambiente servono di sicuro POP3/SMTP, HTTP e di
conseguenza HTTPS (per attività di Banking On-Line)... per il resto pensavo
ad FTP poichè magari ogni tanto serve scaricare qualche cosa che si trova su
FTP...
Sicuramente io che faccio parte del CED ho anche la necessità dell'FTP...
OK, appurata la parte teorica, in pratica devo chiudere tutto e riaprire sia
sulla eth0 (LAN) che sulla eth1 (verso internet), vero???
Mi dai un esempio di riga per una sola porta magari??? Ah, dimenticavo:
chiudo sia TCP che UDP??? E apro anche le corrispondenti UDP di quelle che
intendo usare???
Thanx.


Ho il DNS interno che però fa semplicemente FORWARDING verso quello
esterno... conviene aprire anche la 53???

 443 (HTTPS)
Dipende da te e da quali servizi vuoi lasciare attivi per l'esterno...
Poi fai conto che per le connessioni che fa la macchina verso l'esterno non
devi chiudere le porte che userebbe....
Fare ciò non è facile scegliendo un range di porte, per cui si può optare in
due modi:
1) Negare l'accesso ai pacchetti con flag --syn per tutte le porte tranne
quelle dei servizi
2) Usare il tracciamento della connessione accettando solo i pacchetti di
connessioni già stabilite. Per questo ti consiglio di leggere gli howto che
trovi su 
netfilter.samba.org
Inutile dire che ti consiglio la seconda scelta.
-- 
| /
| \Byte - Andrea Briganti - 
kbyt...@freemail.it
http://digilander.iol.it/kbytesystem
ICQ: 40872731 - C6: andreakbyte

 intendo usare???
Lascia stare UDP, non te ne frega niente, preoccupati invece di TCP e di
capire soprattutto cosa vuoi fare. Per esempio per FTP innanzitutto io
metterei
IPCHAINS="/sbin/ipchains"
LOCALIP=`ifconfig $LOCALIF | grep inet | cut -d : -f 2 | cut -d \  -f 1`
LOCALMASK=`ifconfig $LOCALIF | grep Mask | cut -d : -f 4`
LOCALNET="$LOCALIP/$LOCALMASK"
REMOTENET="
0.0.0.0/0
"
[..]
$IPCHAINS -A input -p tcp -s $REMOTENET -d $LOCALNET ftp -l -j REJECT
e poi una regola che apra la porta 21 solo a chi vuoi tu. Ti consiglio
la lettura dell'ottimo HOWTO di MrShark che e' ben fatto sull'argomento.


 FTP...
Occhio a non confondere le porte da lasciare aperte dall'esterno o
VERSO l'esterno.
Se ho capito bene, tu non hai un server, ma solo un "router" che
permette l'accesso verso internet alla tua rete, quindi dei chiudere
TUTTO nella catena di input (tranne che per le connessioni aperte e
forse per qualcosa in udp), mentre devi aprire quello che serve nella
catena di output e di forward.
Se vuoi che i client possano accedere a quello che vogliono, le puoi
lasciare in ACCEPT (output e forward) e impostare di conseguenza il
masquerading).
Se invece vuoi limitare i collegamenti che i client possono fare a web,
ftp, https ecc., dovrai chiudere tutto e aprire le porte che servono.
Bye.


Intendi ANTONIO FRAGOLA aka Mr. Shark??? Mi indichi il suo URL???


Ossia? OK, accetto solo RELATED ed ESTABLISHED, d'accordo... ma sempre
partendo dal presupposto di avere la politica "chiudo tutto - apro quello
che serve"???

 Intendi ANTONIO FRAGOLA aka Mr. Shark??? Mi indichi il suo URL???
Si. 
http://mrshark.sourceforge.net/


 serve"???
Certo... l'esempio di prima potrebbe essere scritto così (a mio avviso molto
meglio):
iptables -P INPUT DROP
iptables -A INPUT -i $INTERFACE -d $INTERFACEIP -j lan-in
iptables -A lan-in -m state --state ESTABLISHED,RELATED -j ACCEPT
......
iptables -A lan-in -p tcp --syn -j lan-tcp
......
iptables -A internet-tcp -p tcp --dport 80 -j ACCEPT
Io uso questo schema in modo che la ricerca della rule vada a livello... magari
poco efficiente in caso di poche rule, ma in caso di un numero elevato i
miglioramenti si sentono.



Vuoi fare banking on line e lasciare aperto FTP?????? Spero di non
essere un cliente della tua banca.... In ftp le password passano in
chiaro sulla rete per cui se qualcuno intercetta i tuoi pacchetti ti
lascio immaginare le conseguenze (questo in aggiunta al fatto che i
server FTP tedono ad avere buchi di sicurezza). Piuttosto metti su un
server SSH e usi l'SCP, se non altro hai almeno le trasmissioni
criptate e se vuoi puoi anche usare l'autenticazione tramite
certificati. Meglio ancora non usare nessuno dei due e passa
dall'HTTPS, ci sono in giro diversi script già fatti in che consentono
di avere un simil-FTP grafico e anche qui puoi usare i certificati.
--
Rimuovi i caratteri maiuscoli dall'indirizzo e-mail per ottenere
quello reale