[LatinaLUG] Progetto interessante e buchi per la sicurezza
Enrico Bassetti
enrico.bassetti@q4q5.it
Gio 7 Ago 2008 18:03:27 CEST
Enrico Bassetti ha scritto:
>
> Altre idee?
>
> Enrico
Un'altra cosa: dovrei impedire l'inizio di nuove connessioni da sto coso
virtuale all'esterno, tranne ovviamente per l'IP della macchina "host"
che ha sopra un servizio che deve comunicare con questo virtuale. Ora,
visto che il pc "host" è anche router di questa "immensa rete virtuale"
(qemu con il pc virtuale <-> host), e visto che non sono un grande mago
di iptables, vi chiedo lumi.
Da quanto ho capito, quando si inizia una connessione il pc invia un
pacchetto con il flag SYN per dire che vuole iniziare una comunicazione
con l'altro PC. Ora, se io non faccio passare 'sto pacchetto, la
comunicazione non avviene (mi pare ovvio...). Quindi la regola dovrebbe
essere qualcosa tipo:
Se PcDestinazione = Locale Allora
Consenti tutto
Altrimenti
Consenti solo pacchetti != SYN
Fine
Il mio dubbio è: CUPS non dovrà mai inviare un pacchett con SYN vero? (o
meglio, non dovrà mai fare connessioni all'esterno, vero?)
Il dubbio è questo: il pacchetto "ci sono e sono pronto alla
comunicazione" (aka: SYN/ACK), se io tronco tutti quelli con SYN mi
tronca anche quello? Quindi prima di quella regola devo inserire
"Accetta gli ack" ? Cioè:
Se PcDestinazione = Locale Allora
Consenti tutto
Altrimenti
Se pacchetto Contiene ACK Allora
Accetta
Altrimenti Se contiene SYN
Tronca
Altrimenti
Accetta
Fine
Fine
Che possiamo semplificare (grazie ad un parametro di iptables "--syn") come:
Se PcDestinazione = Locale Allora
Consenti tutto
Altrimenti
Se pacchetto Contiene SYN Ma Non ACK Allora
Tronca
Altrimenti
Accetta
Fine
Fine
Che si traduce in:
iptables -A INPUT --in-interface tap0 -p tcp --destination 172.16.1.1 \
-j ACCEPT
iptables -A INPUT --in-interface tap0 -p tcp --syn -j DROP
iptables -A INPUT --in-interface tap0 -j ACCEPT
Giusto secondo voi?
Altra domanda: cups usa solo TCP (almeno per le connessioni IPP tramite
HTTP) ? Perché se si potrei troncare tutto il resto (non serve udp,
icmp, $protocolloDelCacchio). Cioè:
iptables --A INPUT --in-interface tap0 --protocol ! tcp -j DROP
E secondo voi, se invece di troncare subito i pacchetti, mi faccio
inviare una notifica via email (e poi li tronco ovviamente), credete che
l'hd da 40 (che ricordo essere un LVM su tanti hd da qualche giga) ne
risentirà per l'eccessiva quantità di posta?
E tutto questo per casa...
PS: oggi il server ha superato per ben due volte il livello di guardia
per la temperatura... sarà che un ubuntu server e un windows 2003 server
virtuali non gli piacciono? Devo attaccare il raffreddamento a liquido
(aka: immergere il PC nel serbatorio-riserva d'acqua)...
Enrico
Maggiori informazioni sulla lista
latina