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.