Probleme mit der neuen Forensoftware

Status
Für weitere Antworten geschlossen.
AW: Probleme mit der neuen Forensoftware

Falls es keine befriedigende Lösung aus der Software selbst heraus gibt, wäre das mal ein Grund, beim Softwarehersteller ein Ticket aufzumachen und Nachbesserung zu fordern.

Da wir in Kürze (vgl. Beitrag #1) eine neue Forensoftware einsetzen, nehme ich keine Nachbesserungen an der jetzigen Version mehr vor. Wenn das Problem nach dem Update weiterhin besteht, kann ich es aber gerne an die Entwickler der Software weitergeben.
 
AW: Probleme mit der neuen Forensoftware

Da wir in Kürze (vgl. Beitrag #1) eine neue Forensoftware einsetzen, nehme ich keine Nachbesserungen an der jetzigen Version mehr vor. Wenn das Problem nach dem Update weiterhin besteht, kann ich es aber gerne an die Entwickler der Software weitergeben.

Ja, das macht Sinn - falls "in Kürze" nicht gleichbedeutend mit noch einmal gestandenen 7 Monaten ist (siehe Datum Beitrag #1 ;)). Den Punkt werden nach dem Update sicherlich einige (ggf. mich eingeschlossen) in ihre Testliste aufnehmen :)

@Hefeteich: wie gesagt: das ist von mir auch nur eine Einschätzung aufgrund früherer Erfahrungen - freut mich, wenn es nützt.
 
AW: Probleme mit der neuen Forensoftware

Hallo!

@...Wenn es tatsächlich so ist (ich kann es nicht nachprüfen, da ich selbst diese Software nicht im Einsatz habe), daß der Server beim expliziten Abmelden

- das Session Cookie auf dem Browser löscht aber
- die Verbindung zwischen Cookie und Konto auf dem Server *nicht* löscht

dann sehe ich das - ebenso wie freiwild - als potentielles Sicherheitsproblem.

Ich auch, wobei ich das Wort "Server" vermeiden möchte, denn das ist ein Problem von

a) PHP
b) der Software (dieses Forum), die mit dieser Progammiersprache geschrieben wurde
c) und /oder Programmierfehlern in der Forensoftware.

Ein Apache hat mit PHP-Sessions erstmal gar nix zu tun.

Wenn es stimmt, daß "die Verbindung zwischen Cookie und Konto auf dem Server *nicht* gelöscht" wird, dann müssen die nach dem Abmelden normalerweise "verwaisten" Sessionkeys noch irgendwo auf dem Server gespeichert sein. Dann sind wir aber genau an dem Punkt, den ich in #43 ganz unten beschrieben habe: Der Server wird irgendwann aufgrund von Speichermangel in die Knie gehen. Das Ding wird lahmer und lahmer, irgendwann geht gar nix mehr.

Und so langsam dämmert es mir. So muß das damals gewesen sein: Auf einem Server (physikalisch beim Provider vorhanden) werden ja viele Domains gehostet. Das ist erstmal kein Problem. Eine Domain hatte aber ein Forum laufen, welches über ein, zwei Jahre die offenen Sessions "gehütet" hat. Und auf diese Weise ging der Speicherplatz im RAM langsam zu Ende, der Server fängt an zu swappen... Das Ende naht. Unaufhaltsam. Irgendwann hilft eigentlich nur noch ein RESET und schon läuft der Server wieder für zwei Jahre völlig problemlos. ;). Richtig ist das natürlich nicht, denn es wurde ja nur an den Symptomen rumgedockert.

Ich ahne, wo ich diese alte Story wiederfinde: Im Support-Forum meines Lieblingsproviders. Das ist aber schon mindestens sechs, sieben Jahre her.


Und nur nebenbei: Ein Cronjob könnte die Datenbanktabelle mit den Sessions dieses Forums aller 24 Stunden automatisch aufräumen und dabei alle offenen Sessions löschen, die länger als 24 Stunden offen sind. Ganz sicher. Natürlich ist das nicht die Toplösung (das wäre das Löschen, sobald sich der User abmeldet), aber zumindest eine Endlösung, die letztendlich keinen Schaden anrichtet, falls sich User nicht offiziell abmelden.

VG Zwerg#8
 
AW: Probleme mit der neuen Forensoftware

Tatsache ist aber, dass es sich hier gar nicht um ein generelles Problem des Servers oder der Forensoftware handeln kann, denn ich habe mit CrazyBrowser (und somit IE8) versucht, eine solche (halb)offene Session zu provozieren und sie nochmals zu benutzen: Fehlanzeige. Einmal ausgeloggt bin ich weg und ich komme erst wieder, wenn ich mich wieder korrekt einlogge.
 
AW: Probleme mit der neuen Forensoftware

Da steh' ich drüber. Das weißt du doch. Aber schön, daß du "aufgepasst" und mich gewarnt hast. ;)


Ich möchte aber eigentlich nur einen Satz inhaltlich verbessern, den ich oben geschrieben habe:

Ein Cronjob könnte die Datenbanktabelle mit den Sessions dieses Forums aller 24 Stunden automatisch aufräumen und dabei alle offenen Sessions löschen, die länger als 24 Stunden offen sind.

Besser:

Ein Cronjob könnte die Datenbanktabelle mit den Sessions dieses Forums aller 24 Stunden automatisch aufräumen und dabei alle offenen Sessions löschen, die länger als 24 Stunden nicht benutzt wurden.

Das trifft es besser. Dabei hilft der Cookie bb_lastvisit. Das ist ein ganz normaler Unix-Timestamp.

Wenn ich keinen Denkfehler gemacht habe, wird damit jede Session nach spätestens 48 Stunden Inaktivität automatisch geschlossen. Wer jeden Tag hier reinschaut, ist immer "drin", wer mal kurz in den Urlaub fährt, muß sich danach halt wieder anmelden. Richtig gut ist das natürlich nicht, aber wenigstens ein "Hotfix", der schlimmeres verhindert.

BTW: Ich war noch nie in einem "Internetcafe". Ich dachte bisher, daß jeder Rechner nach der Benutzung durch einen Besucher "plattgemacht" wird und dann über LAN und eine "unbeaufsichtigte Installation" innerhalb von wenigen Minuten wieder "hergerichtet" wird. Praktisch erhält jeder neue Nutzer ein "frisches Windows". Das ist wohl nicht so? Das wäre natürlich ganz schlecht.

Zwerg#8
 
AW: Probleme mit der neuen Forensoftware

BTW: Ich war noch nie in einem "Internetcafe". Ich dachte bisher, daß jeder Rechner nach der Benutzung durch einen Besucher "plattgemacht" wird und dann über LAN und eine "unbeaufsichtigte Installation" innerhalb von wenigen Minuten wieder "hergerichtet" wird. Praktisch erhält jeder neue Nutzer ein "frisches Windows". Das ist wohl nicht so? Das wäre natürlich ganz schlecht.
Ja, so sollte es theoretisch jedesmal sein, und an professionell betriebenen Poolcomputern ist es auch so. Nur eben nicht überall.
 
AW: Probleme mit der neuen Forensoftware

@Zwerg#8:
Der Begriff "Server" ist sehr ambivalent - man kann ihn nicht auf die Hardware reduzieren. Deshalb schrieb ich im Verlauf des Artikels von "Software" (im Sinne von "Forensoftware"). Mit der Verortung des Problems hast Du aber schon grundlegend recht. Ob die Diskussion über solche Themen allerdings zielführend ist (wir sind ja nicht in einem Entwicklerforum hier) steht auf wieder einem anderen Blatt ;)

Zu dem vorgeschlagenen cronjob möchte ich noch anmerken, daß so etwas als Interimslösung (neudeutsch auch "Workaround" ;)) durchaus passabel ist - aber generell sehe ich da doch den Hersteller in der Pflicht (womit wir wieder bei meinem Lieblingsthema "Ingenieursgrundsätze in der Softwareentwicklung" wären ;)) Der Kunde wird leider viel zu oft als "Beta-Tester" mißbraucht, anstatt die Software vorher gründlich zu entwickeln und zu testen.

Eine Ergänzung noch zu dem Thema "mehrere Domains auf einem Host[1]": Heutzutage ist es so, daß die Virtualisierung der Domains meist auch in irgendeiner Form Einschränkungen der durch die jeweilige Domain nutzbaren Ressourcen vorsieht - was bedeutet, daß Speicherlecks, die in einer Domain auftreten, zumindest keinen negativen Einfluß auf die anderen haben. Das ist allerdings Sache des Providers, dafür zu sorgen, und nicht alle haben das technische Know-How um solche Rechenzentren anständig zu betreiben - ich hab da schon Sachen gesehen, da standen mir als Admin die Haare zu Berge. Aber auch das geht zu weit ;)

@dea:
Hast Du bei Deinem Experiment vor dem Anklicken des "Abmelden"-Knopfes den "Keks" (Cookie) gesichert und vor der erneuten Verbindung wiederhergestellt? freiwild hat das Vorgehen im Beitrag #40 sehr schön beschrieben. Wenn Du die gleichen Schritte durchgeführt hast, dann ist es in der Tat wahrscheinlich, daß es u.U. eine bestimmte Kombination von Komponenten ist, die problematisch ist - oder etwas an der Testmethode nicht stimmt. Aber um das zu verifizieren, müßte man echt in's Labor ;)

Noch eine ganz kurze Abschweifung zum Thema Internetcafe: ich war in München jahrelang (Mitte bis Ende der 90er) Stammgast eines Internetcafes (als ich mir als Student noch keinen "eigenen" Anschluß leisten konnte). Deren Pool lief auf Unix (ich meine, es war Slackware, könnte aber auch BSD gewesen sein), da gab es Stammbenutzer, die einen eigenen Account hatten, und Gastbenutzer, deren Konto beim Beenden der Session einfach zurückgesetzt wurde. Für Windows würde ich heute Terminal Server empfehlen, weil man auch da die Sessions am Ende einfach platt machen kann. Den Aufwand, einen PC komplett neu zu installieren halte ich für zu hoch - oder gibt es da mittlerweile Möglichkeiten, so etwas schnell (im Sinne von <5min) zu erledigen? Bei Windows bin ich echt nur Benutzer ;)

LG

McCavity

[1] das ist übrigens der Begriff, den ich gewöhnlich für die Physik verwende, da "Server" in meinem Sprachgebrauch eher für die Kombination aus Hard- und Software steht
 
AW: Probleme mit der neuen Forensoftware

@dea: Hast Du bei Deinem Experiment...

Ja, habe ich. Ich habe das Experiment auch deshalb mit dem CB (IE) gemacht, weil der Firefox Cache & Co. hinter Schlüsseln verbirgt und ich deshalb eigentlich auch gar nicht wüsste, wie ich seine Cookies separat hätte handlen sollen.
Insofern legt mir das die Vermutung nahe, dass da irgendwas anderes passiert, was den Effekt eines unsicheren Abmeldens vortäuscht. Auf der Seite den Anbieters bzw. Betreibers scheint jedenfalls nichts vorzuliegen, was nachvollziehbar nicht in Ordnung wäre.
 
AW: Probleme mit der neuen Forensoftware

Ich will ja nicht immer nur der Mecker-Zwerg sein, aber mir ist bei der Beantwortung einer PN, die Zitate von mir aus einer älteren PN enthält und die der Verfasser extra dringelassen hat damit der Kontext erhalten bleibt, gerade wieder aufgefallen, daß diese "Zitat im Zitat"-Funktion im Editor für PN durchaus funktioniert. Hier, beim normalen Verfassen eines Postings, funktioniert das nicht. Warum ist das so?


Würde ich beispielsweise das Posting #59 von dea zitieren, wäre das dort eingebettete Zitat von McCavity nicht vorhanden. Und das ist Mist. Natürlich kann man mit rudimentären HTML-Kenntnissen ein ordentliches Posting zusammenbasteln, aber das ist umständlich und dauert einfach zu lange. Ein abendfüllendes Programm wird es, wenn man Zitate aus mehreren Postings unterschiedlicher Autoren in einem Post vereinigen will. Das sieht dann zwar gut aus, ist aber eine Schweinearbeit. Und bringen tut das auch nix, denn wenn jemand auf dieses Posting mittels "Zitieren" antworten will, sind alle mühsam zusammengetragenen Zitate weg. So macht das einfach keinen Spaß.

Zwerg#8
 
AW: Probleme mit der neuen Forensoftware

So wie ich die Forenleitung verstanden habe, sind lange Zitate in Beiträgen unerwünscht. Vermutlich hat man es deshalb nicht implementiert.
 
AW: Probleme mit der neuen Forensoftware

Mir geht es nicht um "längere Zitate", sondern um sinnvolles zitieren. Und dazu gehört halt auch manchmal ein Zitat, welches schon in der Antwort des gerade zitierten Vorposters von eben diesem zitiert wurde. Es geht um die Zusammenhänge, den Kontext einer Aussage. Wenn man auf diese Weise zitieren kann, dann lassen sich einige (alle?) Mißverständnisse gleich ausräumen. Gerade hier im Forum, in dem sehr genau auf die Wortwahl (und Rechtschreibung) geachtet wird, wäre eine funktionierende "Zitat im Zitat"-Funktion eine große Hilfe. Verstanden? Ja, ja - es ist etwas kompliziert. ;)
 
AW: Probleme mit der neuen Forensoftware

Viel nerviger finde ich, dass man - obwohl angemeldet - aus der Antwort-Funktion rausgeschmissen wird, wenn man sich für seine Aktivität zu viel Zeit lässt. Dann muss man sich neu anmelden, und wenn man es versäumt hat, einen längeren Text abzuspeichern,bzw. zu kopieren, ist er verschwunden und man kann neu ans Formulieren gehen. - Oder ist das nur bei mir so?
 
AW: Probleme mit der neuen Forensoftware

@Mannis Fan & Makeitso: Ohne es jetzt ausprobiert zu haben (das mache ich mit der nächsten Antwort ;)): habt Ihr das Häkchen bei "immer angemeldet bleiben" aktiviert, wenn Ihr Euch anmeldet?

LG

McCavity
 
AW: Probleme mit der neuen Forensoftware

Nee, als das passiert ist, hatte ich das nicht. Das macht's aber nicht weniger ärgerlich.

Die Software sollte nicht entscheiden, wann ich ausgelogt werde, und, jedenfalls solange ich die Seite geöffnet habe, annehmen, daß ich eingelogt bleiben möchte.
 
AW: Probleme mit der neuen Forensoftware

Njet! Ich will auch gar nicht "immer angemeldet bleiben", denn dann taucht mein Name in der Übersicht der Aufzählung "registrierte Benutzer" auf, obwohl ich vielleicht mit ganz anderen Dingen beschäftigt bin, jedenfalls Diskussionen nicht aktuell verfolge.
 
AW: Probleme mit der neuen Forensoftware

Antworttest: Fenster geöffnet 22.11.2011 15:33:00 GMT+1; 2. Eingabe 23.11.2011 06:27 GMT+1 - mal sehen, ob's klappt ("immer angemeldet bleiben" war aktiviert)

LG

McCavity
 
AW: Probleme mit der neuen Forensoftware

Mifft, jetzt habe ich dann doch länger als 30 Minuten genraucht, um den Beitrag unten zu editieren - zum Glück hatte ich mir den Text vorher rauskopiert ;)

Also, dann ist der Grund gefunden. Das ist aber ein technisches Problem. So ein Forum wie dieses ist eine sogenannte "Webanwendung" (wird mit dem Browser bedient und das "Frontend" ist eine "Internetseite"). Diesem zugrunde liegt der Dienst HTTP, der bereits Anfang der 80er Jahre entwickelt wurde. der ursprüngliche Zweck war *nur*, statische Textdokumente anzuzeigen und die Möglichkeit der Verlinkung zu geben - "dynamische" Anwendungen, die Benutzereingaben erfordern waren zwar vorgesehen, aber zu Anfang nicht in einer Interaktiven Form; diese Anforderung kam erst später.

Das Problem ist das zugrunde liegende Protokoll, HTTP: dieses basiert auf einem Request-Response-Prinzip: der Browser stellt genau eine Anfrage und erhält darauf genau eine Antwort. Wie man sieht, taucht hier nirgends das Wort "Session" auf: solche waren zu Anfang gar nicht vorgesehen. Deshalb wurden Mechanismen entwickelt, um eine Serie von HTTP-Request-Response-Zyklen zu einer Session zusammenfassen zu können: nur so lassen sich interaktive Webanwendungen wie diese Forensoftware überhaupt erst entwickeln.

Die Statuslose Natur des HTTP-Protokolls birgt aber genau aufgrund dieser Eigenschaft das eigentliche Problem eines darüber gestülpten Session-Mechanismus: wann ist die Session zuende? Wir erinnern uns, HTTP bedeutet ausschließlich: Browser stellt Anfrage, Server antwortet. D.h. einen Mechanismus zu entwickeln, der für verschiedene Benutzer verschiedene Sessions verwalten kann (i.e. nachverfolgen, wo war der Benutzer, welche Daten hat er eingegeben, welche Seite wird als nächste angezeigt usw.) ist einfach: man muß nur jeder Session einen eindeutigen Wert (Token oder Session ID genannt) mitgeben, der in jedem Request und in jeder Response steckt. Solange dies gegeben ist, ist die Session aktiv.

Beendet der Benutzer die Session aktiv, kann man einfach den Session Key verfallen lassen, kommt der Benutzer später wieder, wird er zunächst nicht erkannt und ein neuer Session Key wird vergeben. Erst nach erfolgter Anmeldung kann der Session Key einem bestimmten Benutzer zugeordnet werden (davor ist er "Gast" und kann in den allermeisten Software Varianten das System nur eingeschränkt nutzen).

Jetzt wird aber langsam deutlich, wo das eigentliche Problem liegt: eine Session aufzubauen ist einfach, habe ich gerade in zwei Sätzen erklärt. Eine Session aktiv abzubauen ist ebenfalls kein Problem, siehe darüber.

Aber was passiert denn, wenn
- der Benutzer das Haus verläßt, aber den Computer und Browser angeschaltet läßt?
- der Browser/PC abstürzt oder abgeschaltet wird, ohne sich in der Webanwendung abgemeldet zu haben?
- der Benutzer in der Adreßzeile des Browsers eine andere Adresse manuell eintippt?
- der Benutzer die "Zurück / Vorwärts"-Knöpfe seines Browsers benutzt (die Seiten können dann unter bestimmten Voraussetzungen allein aus dem Cache des Browsers dargestellt werden, der Server "erfährt" von dieser "Navigation" nichts)?

Es sind noch eine Reihe anderer Szenarios denkbar, die die Verwaltung von Sessions für den Server erschweren - um's nochmal deutlich zu machen: der Grund dafür ist der fehlende Status im HTTP-Protokoll - außer "sende genau eine Antwort auf jede eintreffende Frage" kann dieses Protokoll recht wenig (was es im übrigen so robust macht).

Offene Sessions sind ein Sicherheitsproblem. Auch wenn die Session Keys heutzutage kryptographisch erzeugt werden, besteht dennoch die Möglichkeit, Session Keys durch "normale" Kommunikation abzhören, da sie ja in jedem Request / Response enthalten sind. Natürlich gibt es auch dagegen Schutzmechanismen (zum Beispiel, indem man die gesamte Session nur verschlüsselt überträgt (z.B. mit SSL: HTTPS)), aber wenn wir uns unsere radioforen.de da oben anschauen, steht da in der Adreßzeile "http://..." (<-- ha-ha, da wollte die Forumsoftware schlauer sein als ich und hat da URL-Tags drum gebastelt - klicken kann man den Link trotzdem nicht :p ;)) - nix "s", also keine Verschlüsselung. Bedeutet: auf dem Weg zwischen Server und Browser kann an jeder Stelle jemand sitzen, Dein Paket lesen (das Bild vom "Senden" eines Paketes ist eigentlich unvollständig, es ist mehr ein "kopiere zum nächsten Knoten, bei Erfolg lösche die lokale Kopie"-Mechanismus...) und daraus den Session Key extrahieren.

Gelingt dieses jemandem, der übles vorhat, so kann ihm nichts besseres passieren, als daß die Session offen gelassen wird: dann kann er sie nämlich einfach übernehmen, entführen, hijacken, indem er ein gefälschtes Paket mit dem richtigen Session Key an den Server sendet: da der Benutzer ja bereits authentisiert und authorisiert ist, reicht der Session Key als *alleinige* Legitimation, mit dem Server zu kommunizieren. Andere IP-Adresse? Kein Problem für den Server: er weiß ja nicht, ob Dein Rechner vielleicht ein Notebook ist, das Du mitgenommen und in einem anderen Netz wieder aktiviert hast.

Aus genau diesen Gründen gibt es die Möglichkeit, Sessions automtisch ablaufen zu lassen (nach einer in der Regel einstellbaren Zeit an Inaktivität). Genau dieses passiert, wenn das Häkchen "immer angemeldet bleiben" *nicht* aktiviert ist. Das ist ein Schutz, damit die Wahrscheinlichkeit, daß jemand unbefugt Euren Account verwenden kann eingeschränkt ist. Dieses ist *sehr* empfehlenswert, wenn man zum Beispiel in unverschlüsselten WLANs unterwegs ist, oder sich zum Beispiel von einem öffentlichen PC (z.B. im Internet Cafe) anmeldet. Die beste Methode in solchen Fällen ist natürlich, am Ender der Sitzung diese aktiv zu beenden, aber auch hier kann ja etwas unvorhergesehenes passieren, so daß man vielleicht den PC noch schnell herunterfährt, aber die Session nicht aktiv beendet hat: wie oben beschrieben, der Server *kann* das nicht merken, das gibt das Protokoll nicht her.

Der Vollständigkeit halber sei angemerkt, daß es natürlich auch hier Mechanismen gibt, den man einsetzen könnte um festzustellen, ob die Seite noch geöffnet ist - Stichworte "Heartbeat", asynchrone Kommunikation, AJAX,... aber auch das hat wieder Nachteile, zum Einen muß so eine Lösung natürlich entwickelt (, gesichert und getestet) werden und zum anderen bedeutet das permanente Kommunikation zwischen Browser und Server. Bei den Nutzern von radioforen.de sicherlich noch überschaubar, aber wenn man an Anwendungen wie Amazon, eBay oder andere Riesen denkt, käme man da schon auf ganz schöne Datenmengen in der Summe, die überwiegend nur dazu dienen, festzustellen, ob die Seite noch offen ist (man kann das natürlich mit "Nutzdaten" kombinieren - aber trotzdem!). Insofern muß ein Software-Entwickler schon auch eine gewisse Kosten-Nutzen-Rechnung anstellen, ob dieses Feature wichtig genug ist, um den Entwicklungsaufwand zu rechtfertigen.

Der (mal wieder) langen Rede kurzer Sinn: ich kann Eure Bedenken nachvollziehen, möchte aber darauf hinweisen, daß Eure Erwartungen (aufgrund tief liegender Probleme) recht schwierig zu erfüllen sind. Im Prinzip habt Ihr (leider) keine Wahl, als die Umstände als gegeben hinzunehmen. Ich kenne die Software nicht, deshalb weiß ich nicht, ob sie über die entweder-oder-Wahl "immer angemeldet bleiben" hinaus weitere Möglichkeiten der Session-Kontrolle bietet - aber ich befürchte, daß die Software mehr einfach nicht hergibt. Daher habt Ihr nur die Wahl zwischen der Pest und der Cholera: entweder Ihr bleibt "immer angemeldet" (so mache ich das von allen stationären Rechnern, von denen aus ich radioforen.de verwende) Oder Ihr laßt den Haken weg (mache ich bei unsicheren Netzen und / oder öffentlichen PCs.

LG

McCavity
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben