"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Interne IP, Proxy

Gräflicher 15.11.2012 - 21:29 3348 24
Posts

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11890
Zitat von Denne
Sonderlich hardwarehungrig dürfte die Angelegenheit an sich nicht sein.
Klar, wenn du dementsprechend viele Kunden hast, müsstest aufrüsten, aber wenn das mal so weit kommen sollte, wirds am Geld nicht mangeln ;)

Eine moderne CPU schafft mit aktuellem OpenSSL jenseits der 300signs und 8000verifies/s pro Kern fuer RSA2048; das AES/RC4/wasauchimmerfuereinsymmetrischercipher danach fuer die schon bestehenden Verbindungen ist vergleichsweise vernachlaessigbar. Vgl. http://www.imperialviolet.org/2010/...ocking-ssl.html Du wirst lange suchen muessen, um aktuelle (x86-)Hardware zu finden, die vor tausenden gleichzeitiger Verbindungen zu so einem Dienst schlappmacht.

Wenn man authn/authz ueber Zertifikate spielt, erstellt man eine CA, mit der man jedem Kunden ein CA-faehiges Zertifikat erstellt. Mit diesem signiert der Kunde dann die Clientzertifikate seiner Benutzer - damit ist man selbst nur fuer die Validitaet ganzer Kunden (und all seiner User), der Kunde selbst nur fuer die Validitaet seiner User(-Zertifikate) verantwortlich. Das ist der Vorteil der hierarchischen Struktur von X.509.

Gräflicher

Here to stay
Registered: Dec 2001
Location: Baden bei Wien
Posts: 976
Der Chatserver wird in der Amazon-Cloud laufen, sollte also gut skalierbar sein. Die Verbindung vom Kunden zur Cloud liegt ohnehin nicht in meinem Einflußbereich. Ich will gemeinsam mit der IT-Abteilung einen Weg finden, den Chat sicher in ihr Intranet einzubinden. In diesem Sinne sollte der Chatserver über die dafür notwendigen Möglichkeiten der Authentifizierung verfügen. Für welche Art bzw. wie die IT-Abteilung das dann im Detail verwirklicht müssen sie ohnehin selber entscheiden. Denke da wird es solche geben, welche es nur schnell und einfach wollen und andere, die alles perfekt und state of the art haben wollen.

Eine Frage zu den Clientenzertifikaten: ist der einzelne User dann anonym? Die Lösung muss auch eine Anonymität der User garantieren. Weder ich noch die Firma sollte wissen ob es nun Karl, Fritz oder Susi ist. D.h. idealerweise bleibt der betroffene Arbeitsplatzrechner unbekannt. Es soll also die Firma authentifiziert werden, nicht der User.

Denne

Here to stay
Avatar
Registered: Jan 2005
Location: Germany
Posts: 2801
Du stellst pro Firma ein Zertifikat aus, nicht pro User.
Am Zertifikat selbst kannst du nicht sagen, welcher User welcher Firma es ist, nur um welche Firma es sind handelt.
Aber du musst noch andere Vorkehrungen treffen, wenn es absolut anonym sein soll, besonders innerhalb der Firma selbst.

Gräflicher

Here to stay
Registered: Dec 2001
Location: Baden bei Wien
Posts: 976
Wird das Zertifikat auf jedem Arbeitsplatzrechner installiert oder einfach auf einem Proxy der zwischen Intranet und Internet steht?

Absolute Anonymität vor den Augen der Firma wird wohl (?) kaum umzusetzen sein. Zumindest das die Firma weiss, ob ein Mitarbeiter auf der Intranet-Seite des Chats war wird kaum zu verhindern sein. Mir reicht es da eigentlich wenn sie nicht über den Inhalt des Gesprächs bescheid wissen bzw. ob die Seite nur "einfach aus Neugierde" angeclickt wurde oder tatsächlich verwendet wurde.

Wenn ich den Chatserver unter https laufen lasse, ist dann der Inhalt des Chats auch sicher oder sollte da noch eine extra Verschlüsselung rein?

Crash Override

BOfH
Registered: Jun 2005
Location: Germany
Posts: 2951
Ich würde es folgendermaßen machen: Von den Firmen zu dem Server ein IPSec VPN, damit wäre die Seite schon mal sicher. Für den Server selbst ein Extended Validation Zertifikat für SSL (https). Das führt dazu dass der Chatteilnehmer sehen kann ob seine Verbindung sicher ist, denn wenn es sicher ist hat er eine grüne Adressleiste, ansonsten eine blaue (passiert bei SSL Proxys, werden leider immer mehr eingesetzt, rechtlich aber nicht geklärt, da sie im Endeffekt eine Man in the middle Attacke auf alle verschlüsselten Verbindungen machen).

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 11469
ein IPsec VPN fügt aber komplexität hinzu die imho nicht zwingend notwendig wäre...

Denne

Here to stay
Avatar
Registered: Jan 2005
Location: Germany
Posts: 2801
@ Gräflicher: Dürfte beides problemlos möglich sein. Dieser Proxy wäre dann ja sozusagen dieser Chat-Server, den man in der Skizze sieht (je nachdem natürlich mit unterschiedlichen Features).

Statt dem Proxy würde ich dann direkt zum Chat-Server raten, da du so mehr Möglichkeiten hättest (Chat-Service innerhalb des Intranets, obwohl keine Internetverbindung vorhanden ist z.B.).

Also https an sich ist sicher. Das heißt, falls es mal einen Man in the middle Attacke geben sollte, können sie nicht herausfinden, was geschrieben wurde, da verschlüsselt.
Vor Anonymität schützt das ganze jedoch nicht, falls ich es noch Recht weiß.
Der Angreifer wird wohl wissen, von welcher Firma die Pakete ausgehen. Den User wird er afaik nicht identifizieren können.

Das mit VPN wird auch klappen, wobei SSL eigentlich nur mehr für die Beruhigung der User ist oder? Verschlüsselt ist die Verbindung eh mit VPN.

Die Hardcorevariante wäre wohl der lokale Chat-Server bei den Firmen selbst, der über eine IPSec VPN oder SSL Verbindung mit deinem Server verbunden ist.
Ob die Firma dann innerhalb ihres Intranets noch SSL, VPN oder ähnliches benutzen möchte (für die Verbindung vom Client zum lokalen Server im Intranet), sollte deren Angelegenheit sein.
Für eine sichere Verbindung über das_Internet_wird es nicht notwendig sein.

Gräflicher

Here to stay
Registered: Dec 2001
Location: Baden bei Wien
Posts: 976
Vielen Dank für die Vorschläge, das hilft mir schon weiter :)

Der Chat würde immer zwischen Intranet <--> Internet stattfinden.
Prinzipiell kann man sich die Applikation wie einen Support-Chat vorstellen. Auf der einen Seite sitzen die Mitarbeiter der Firma X und chatten mit den Mitarbeitern der Firma Y. Firmen-interner Chat ist eigentlich nicht vorgesehen.

In der Regel werden da keine Top-Secret Informationen ausgetauscht. Die App sollte aber vom Intranet aus erreichbar sein und das ohne sich aktiv irgendwo authentifizieren zu müssen. Der User drückt auf "Chat" und landet quasi direkt im Chatfenster. Idealerweise merkt der User nicht, dass er das Intranet verlassen hat. Verschlüsselung wäre insofern wichtig, als das ich die Ansprüche der einzelnen Kunden bzw. deren Sicherheitskonzept nicht vorab einschätzen kann. Könnte mir aber gut vorstellen, dass die Security-Leute in der IT-Abteilung sich über eine Chat-Verbindung aus dem Intraweb nicht freuen werden.

Würde es also reichen wenn ich für meinen externen Chat-Server ein SSL-Zertifikat kaufe um die Verschlüsselung sicherzustellen? Die Authentifizierung von Kunde vs. Nicht-Kunde könnte dann ja (je nach Kundenwunsch) via Kundenzertifikat oder IP-Adresse stattfinden.

Oder ich da irgendwo einen Denkfehler die Funktionsweise von Zertifikaten / Verschlüsselung betreffend?

Denne

Here to stay
Avatar
Registered: Jan 2005
Location: Germany
Posts: 2801
Wegen der Authentifizierung: Ich sehe da glaub zwei Möglichkeiten.

1) Die Firma hat einen Proxy, der sich mit deinem Server authentifiziert. Die Clients kommunizieren dann über den Proxy mit dir. Vorteil ist, dass du an der Clienthardware eigentlich nichts machen musst. Nachteil ist eben der extra Proxy, der Aufwand bedeutet.

2) Jeder Client authentifiziert sich selbst mit deinem Server. Nachteil wäre, dass jeder Client ersteinmal eingerichtet werden muss (was nicht sonderlich aufwendig ist, aber es muss einmalig gemacht werden).
Vorteil wäre, dass eben dieser Proxy wegfällt.

SSL sollte imho reichen.

deagle

Addicted
Registered: May 2004
Location: Wien
Posts: 381
Zitat von Gräflicher
Gäbe da grundsätzlich auch andere, bessere Möglichkeit in der Linux-Welt?

My 2 cents: ich würde das ganze mit einem XMPP-Server (ejabberd oder OpenFire z.B.) und einem Webclient lösen.

Beim Login (https, sollte ausreichen, ist ja nicht top-secret) soll der Mitarbeiter des Kunden den Namen/Firma eintragen (erleichtert es enorm, u.U telefonisch Kontakt aufzunehmen und macht es möglich, "Mehrfachtäter" im vorhinein einzuschätzen - schont die Nerven des Supports), der Supporter kann mit jedem beliebigen XMPP-Client auf jeder beliebigen Plattform arbeiten.

/edit: Man könnte den Firmennamen evtl. auch mit der aufgerufenen URL übergeben, dann lässt sich die Fehlerquote minimieren ;)

Und man müsste das Rad nicht neu erfinden ;)
Bearbeitet von deagle am 18.11.2012, 16:16
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz