[Pluto-security] Firewall HA

Fabio Panigatti ml-panigatti at minerprint.it
Tue Mar 4 14:28:22 CET 2003


> - -> che tu (voi, ovvio) sappia, come faccio a "salvare" le ESTABLISHED? Io
> sapevo che si perdevano anche quelle.....

In realta' quello che si puo' sfruttare e' un escamotage: netfilter crea uno
stato nella tabella ip_conntrak anche quando passano pacchetti diversi da un
SYN. In particolare vengono considerate sessioni NEW anche quelle che vedono
il passaggio di un solo ACK o FIN. Se si ha l'accortezza di non resettare il
traffico in ingresso dall'esterno per cui non esista uno stato (cioe' usando
-j DROP come target nella direzione in cui non sono ammesse connessioni NEW)
esistono buone possibilita' che passi un ACK nella direzione giusta, creando
il nuovo stato che permetta poi il passaggio anche nella direzione in cui e'
ammesso solo traffico ESTABLISHED.
Sfruttando questo comportamento, il firewall spare, quando salira', avra' la
tabella delle connessioni vuota e dovra' aspettare un ACK nella direzione in
cui e' permesso il traffico NEW, in modo da consentire il flusso in entrambe
le direzioni.
Questo non sempre funziona: alcune sessioni vanno in timeout sul lato server
prima di essere nuovamente accettate in ingresso. Le percentuali di successo
variano con i protocolli utilizzati.

> - -> se io volessi mettere Frees/wan come servizio cluster, ci sono
> controindicazioni? Ovviamente mi aspetto che le VPN attive cadranno, se passo
> sul secondo nodo, ma ci sarebbero problemi a ritornare su'?

Mi spiace, ma non so darti risposte adeguate. Non ho mai fatto qualche prova
ma temo proprio che in effetti non ci sia niente da fare per la VPN senza un
supporto specifico per questa funzionalita': se la VPN e' stabilita tra host
o firewall esterni e il firewall che cade, le sessioni dovrebbero essere poi
rinegoziate con il secondo firewall (spare) e non possono continuare da dove
si sono interrotte. Quest'ultimo, infatti, non ha una SA che gli consenta di
gestire il traffico dell'altro endpoint. Pero' non vedo perche' non si possa
rinegoziare una nuova sessione con lo spare: se le applicazioni sopravvivono
potrebbe funzionare. Il problema e' proprio l'applicazione: se e' un browser
web e' un conto, ma se e' qualcosa che gestisce una sessione anche a livello
applicativo (ssh, smb, rdp, ecc) questa muore e dovra' essere riavviata, con
buona pace di quello che stavi facendo nel mentre. I timeout per l'abbandono
di una SA sono molto lunghi ed e' difficile che qualcosa possa sopravvivere.
Ricordo di aver letto qualcosa a proposito di soluzioni proprietarie per dei
protocolli keepalive per tunnel ipsec, che forse potrebbero aiutare, e delle
relative proposte di standardizazione, ma non ho mai seguito la questione.

Tutto questo molto molto IMVVHO :-)

> P.S. Da quanto ne so io, anche i prodotti Cisco, se non quelli di fascia molto
> alta, non riescono a mantenere lo stato delle connessioni in caso di down del
> primo nodo.... Almeno, così mi è stato detto...

Anche a me hanno detto cosi', anche non conosco adeguatamente quei cosi col
ponte di brooklin verde (soprattutto quando i costi cominciano ad avere una
quantita' di cifre eccessiva). Ma quando m'e' capitato di verificare queste
informazioni ho trovato che in realta' il failover VPN e' sempre stateless.
Cioe': se uno dei firewall e' giu' vengo mandato su un altro, garantendo il
servizio, ma se va giu' mentre sono in linea... cade tutto. Direi che tutto
questo si puo' fare anche con la soluzione che stai prevedendo tu.


Fabio



More information about the pluto-security mailing list