Newsgroup: it.comp.sicurezza.unix
Titolo: Regole di Ipchains

Ciao a tutti. Ho provato a proteggere il mio server con ipchains. Visto che
sono un po' alle prime armi, ho utilizzato come configurazione iniziale
l'esempio di "Securing and Optimizing Linux Red Hat Edition" per le regole
di partenza. In particolare per il protocollo http ho:
# HTTP server (80)
# ----------------
ipchains -A input  -i $EXTERNAL_INTERFACE -p tcp \
-s $ANYWHERE $UNPRIVPORTS \
-d $IPADDR 80 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 80 \
-d $ANYWHERE $UNPRIVPORTS -j ACCEPT
dove $UNPRIVPORTS sono le porte da 1024 in su.
La maggior parte delle connessioni funziona bene, alcune volte però nei log
vedo che qualcuno non riesce a collegarsi:
May 16 17:42:35 chico kernel: Packet log: input DENY eth0 PROTO=6
sorgente:1564 destinazione:80 L=44 S=0x10 I=56866 F=0x4000 T=120 SYN (#59)
Che non capisco perché venga filtrata, ossia, visto che non so se i
parametri del pacchetto (flag, lunghezza, eccetera) vanno bene o no (perché
sono ignorante) non capisco come modificare le regole di ipchains in modo
tale da non avere questi errori.
Qualcuno mi potrebbe illuminare?
Grazie in anticipo.
Ciao
Nico

sorgente:1564 destinazione:80 L=44 S=0x10 I=56866 F=0x4000 T=120 SYN (#59)
Ma la regola n.59 sull'input-chain qual è ?
Teòria
-- 
?


Quella sbagliata, ovviamente... ;-) Bloccava gli host con un indirizzo 217/8
che era riservato ARIN fino all'estate scorsa, e che ora è assegnato agli
indirizzi europei.
Grazie per avermi insegnato cosa vuol dire l'ultimo parametro che ipchains
scrive sul log ;-)
Ciao
Nico

Ciao a tutti. Ho provato a proteggere il mio server con ipchains. Visto che
sono un po' alle prime armi, ho utilizzato come configurazione iniziale
l'esempio di "Securing and Optimizing Linux Red Hat Edition" per le regole
di partenza. In particolare per il protocollo http ho:
# HTTP server (80)
# ----------------
ipchains -A input  -i $EXTERNAL_INTERFACE -p tcp \
-s $ANYWHERE $UNPRIVPORTS \
-d $IPADDR 80 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p tcp ! -y \
-s $IPADDR 80 \
-d $ANYWHERE $UNPRIVPORTS -j ACCEPT
dove $UNPRIVPORTS sono le porte da 1024 in su.
La maggior parte delle connessioni funziona bene, alcune volte però nei log
vedo che qualcuno non riesce a collegarsi:
May 16 17:42:35 chico kernel: Packet log: input DENY eth0 PROTO=6
sorgente:1564 destinazione:80 L=44 S=0x10 I=56866 F=0x4000 T=120 SYN (#59)
Che non capisco perché venga filtrata, ossia, visto che non so se i


 
Mah, non mi sembra che sia filtrata da quella regola.
Se ricordo bene in ipchains c'e' un modo per fare il dump delle regole
registrate numerandole e a te dice che chi stoppa e' la regola 59 della
catena di input.
Senno' puoi contarle, sappi che la impostazione della policy di default
non si conta poi aggiungi 1 per ogni ipchains -A.

 sorgente:1564 destinazione:80 L=44 S=0x10 I=56866 F=0x4000 T=120 SYN (#59)
nota che viene bloccata eth0 che immagino NON sia
$EXTERNAL_INTERFACE vero? In pratica, e' la rete interna che non
riesce a collegarsi. (E' la regola #59 di ipchains che glielo
vieta, immagino che sia una cosa del tipo: input DENY a tutto il
resto)
da qualche parte, prima della regola 59, dovresti dare la
possibilita' a eth0 di fare quel che deve.
-- 
nebbia