stunnel: Angriffszenarien

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
schoeppchen
Posts: 27
Joined: 2006-06-11 09:51
 

stunnel: Angriffszenarien

Post by schoeppchen »

Hallo,

mal eine rein theoretische Frage:

Ich möchte zwei Netze mit einem stunnel verbinden, ein stunnel läuft im Server- und einer im Clientmodus, getunnelt wird das Protokoll subversion.

Mir stellt sich nun die Frage nach der Sicherheit für das Clientnetzwerk. Da TCP ja bidirektional arbeitet, kann ja auch über den bestehenden Tunnel eine Verbindung vom Server zum Client ohne vorherige Anfrage vom Client aufgebaut werden - richtig? Wenn ja wäre die Frage, inwifern dies für Angriffe genutzt werden kann.

Konfiguration wäre in meinem Falle so:

Code: Select all

Clientnetz (trusted)                              fremdes Netz (untrusted)


Client <-> stunnel-Client:3690    <--->        stunnel-Server:3690 <-> SVN Server
Danke für eine Diskussion und Anregungen.

schoeppchen
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
Contact:
 

Re: stunnel: Angriffszenarien

Post by daemotron »

Wenn ich Dich richtig verstehe (korrigier mich ansonsten bitte) befürchtest Du, dass eine dritte Partei (traditionshalber nenne ich sie mal Eve) Dir vorgaukelt, der stunnel-Server zu sein. Bei vernünftiger Schlüssellänge dürfte sowas für Eve nur sehr schwer zu bewerkstelligen sein - dafür müsste der private Schlüssel des Servers erraten werden, was zwar nicht unmöglich, aber seeeehr unwahrscheinlich ist.
schoeppchen wrote:Da TCP ja bidirektional arbeitet, kann ja auch über den bestehenden Tunnel eine Verbindung vom Server zum Client ohne vorherige Anfrage vom Client aufgebaut werden - richtig?
Nein, da muss ich Dir widersprechen. Natürlich werden bei einer TCP-Verbindung immer Pakete in beiden Richtungen ausgetauscht, aber es gibt auch eine klare Rollentrennung zwischen Client und Server. Dein Client lauscht ja nicht auf eingehende Verbindungen (sonst wäre er eben ein Server und kein Client).

Das einzige Risiko besteht für Dich also darin, dass es Eve gelingt, sich während einer laufenden stunnel-Session zwischen Client und Server zu setzen und gegenüber beiden die Identität des jeweils anderen vorzugaukeln und so an den Inhalt der Kommunikation zu gelangen oder diesen gar zu manipulieren (z. B. zu Angriffszwecken). Für eine solche Man-in-the-middle-Attacke werden aber beide privaten Schlüssel benötigt. Die könnte Eve durch einen Ciphertext-only oder Probable-Plaintext Angriff zu ermitteln versuchen (der verschlüsselte TCP-Header innerhalb des IP-Pakets ist in gewisser Weise vorhersagbar) - ohne massiven Einsatz von Rechnerleistung und häufiges Mithören wird aber auch das nicht zum Erfolg führen.
schoeppchen
Posts: 27
Joined: 2006-06-11 09:51
 

Re: stunnel: Angriffszenarien

Post by schoeppchen »

Hallo jfreund,

nein - leider falsch verstanden. Sagen wir mein Netzwerk (mit dem Stunnel Client) ist Alice und Bob ist das entfernte (untrusted) Network auf welchem der stunnel Server läuft. Über diese Verbindung soll subversion abgehandelt werden.

Meine Befürchtung: Jemand auf Seiten Bob könnte die immer aufrechterhaltene stunnel Verbindung nutzen, um in mein Netzwerk eigeninitiiert zu kommen (z.B. durch Exploit in stunnel oder openSSL).

Wäre das denkbar oder agiert stunnel im Clientmodus (-c) wirklich so restriktiv und beendet eine TCP-Verbindung direkt, wenn diese nicht bekannt (bei iptables würde man sagen RELATED, ESTABLISHED) ist?
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
Contact:
 

Re: stunnel: Angriffszenarien

Post by daemotron »

OK - Gegenfrage: Wozu eine VPN-Verbindung zu einem nicht vertrauenswürdigen Kommunikationspartner?

Mal unabhängig davon - selbst wenn stunnel im Client-Mode restriktiv mit fremdinitiierten Sessions umgeht (was es IMHO tut), würde ich mich nicht einzig und allein darauf verlassen (auch stunnel könnte mal einen schlechten Tag haben), sondern den VPN-Gateway in eine DMZ sperren und vom übrigen Netz trennen, da eingehende Kommunikation wie "böser" Internet-Traffic zu bewerten ist. Zwischen stunnel-Gateway und internes Netz einen Filter, der mit stateful inspection arbeitet und dann sollte das o. a. Szenario (fremdinitiierte Verbindung) auch bei einem stunnel-Bug spätesten am Filter scheitern...
schoeppchen
Posts: 27
Joined: 2006-06-11 09:51
 

Re: stunnel: Angriffszenarien

Post by schoeppchen »

jfreund wrote:OK - Gegenfrage: Wozu eine VPN-Verbindung zu einem nicht vertrauenswürdigen Kommunikationspartner?
Weil es der Kommunikationspartner fordert und ich in einer gewissen Dienstleistungspflicht bin. Allerdings muss ich ja immer davon ausgehen, dass am anderen Ende jemand böses sitzt (Angriffe von innen sind häufig) oder es jemand geschafft hat, bei Bob einzudringen und somit auch mir im Nacken sitzt.
jfreund wrote:Mal unabhängig davon - selbst wenn stunnel im Client-Mode restriktiv mit fremdinitiierten Sessions umgeht (was es IMHO tut), würde ich mich nicht einzig und allein darauf verlassen (auch stunnel könnte mal einen schlechten Tag haben), sondern den VPN-Gateway in eine DMZ sperren und vom übrigen Netz trennen, da eingehende Kommunikation wie "böser" Internet-Traffic zu bewerten ist. Zwischen stunnel-Gateway und internes Netz einen Filter, der mit stateful inspection arbeitet und dann sollte das o. a. Szenario (fremdinitiierte Verbindung) auch bei einem stunnel-Bug spätesten am Filter scheitern...
Ich denke dass dieses Szenario zwar absolut sinnig ist, aber in keinem Verhältnis zum Aufwand in diesem Falle steht. Von daher werde ich die Anfrage erst mal ablehnen und Alternativvorschläge unterbreiten.

Danke für die Entscheidungshilfe.
Post Reply