Schutz von sensiblen Passwörtern

Liebe Habo Community,
ich betreue derzeit ein Homepageprojekt meine Schule, bei welchem es sich um ein CMS handelt. Da unsere Homepage AG die meißte Zeit an unseren Schulrechnern arbeitet, bekomme ich das grauen, wenn ich mir überlege, wie einfach es ist auf den Schulrechnern Schadsoftware oder Hardware zu installieren (hiermit meine ich Rootkits, Hard- und Softwarekeylogger). Ich hab ein wenig gegoogelt und bin auf das Plugin KeyScrampler für Firefox gestoßen. Schutz vor Hardwarekeyloggern bietet das ja auf keinen Fall aber bietet dieses Plugin wenigstens Schutz vor Softwarekeyloggern?
Um sich vor Hardwarekeyloggern zu schützen gibt es nur die Möglichkeit eine virtuelle Tastatur zu benutzen. Die von Windows soll auch nicht mehr so sicher sein also muss ich auf z.B. MOK ausweichen ist Mouse Only Keyboard sicher? Zu 100% bestimmt nicht, weil es ja immernoch rootkits und andere schadsoftware gibt, die z.B desktopscreenshots machen...

Wie kann ich Administratorkennwörter auf den unvermeidlich unsicherem Schul PCs schützen?
Virenscanner werden nicht von der Schule installiert werden, weil die auf ihre Wächterkarten pochen, von denen so gut wie jeder die Passwörter hat -.-

Danke schonmal für Antworten auf meine Fragen

MfG
 
wenn ihr wächterkarten habt, sind doch schadsoftwares ausgeschlossen.. d.h. nach nem neustart ist alles weg.
afaik wird bei neustart ein image zurückgespielt... (ich gehe jetzt von einer dr.kaiser wächterkarte aus...)
 
Hallo,
also etwas optimales gibt es nicht, das sicherste wäre vermutlich Einmalpasswörter zu verwenden.
Generiere für die Leute die an der HP Arbeiten eine indizierte Liste mit Einmalwasswörtern, ähnlich wie beim iTAN Verfahren.
Für den Login geben die Leute erst den Username ein, dann wird in der DB geschaut welches Passwort (Nummer) die angeben sollen (per AJAX gut lösbar) und dann müssen die das PW von der Liste abtippen.

So würden Keylogger nichts mehr bringen, da die Passwörter nur 1 mal verwendet werden können.
Gegen Umleitungen, Man in the Middle, Session Hijacking und ähnliche Attacken bringt das aber auch nix.
Das beste ist wirklich dafür zu sorgen, dass die Rechner sicher sind. Evt. von einer Live-CD aus arbeiten?
 
Danke Elderan ich denke das ist eine gute Idee vielleicht schaffe ich es sowas umzusetzen.
Ist allerdings mit ein wenig aufwand verbunden, weil ich von AJAX bis jetzt noch nicht so die Ahnung habe.

Also ich denke, dass ich soetwas nicht realisieren kann, weil mir dafür einfach zu viele Kenntnisse fehlen, vielleicht muss ich dann auf ein halbsicheres System setzen oder auf Komerzielle Lösungen zurückgreifen. Aber ich denke mal wenn man einige sicherheits Vorkehrungen trifft und es den möchtegernhackern ein wenig erschwert, verlieren sie schnell die lust daran die Sicherheitsvorkehrungen auszuhebeln...

Ich gucke mal, dass ich es hinbekomme regelmäßige Backups zu ziehen, dass wenn es zu nem Hack kommt man wieder alles zurückholen kann.
 
Hallo,
denke kaum das komerzielle CMS Lösungen diese Sicherheit besitzen. Solche Einmalpasswörter sind relativ lästig in der Anwendung, dafür sehr effektiv im Schutz.

Aber wie schon gesagt, die beste Lösung wäre eigentlich die Rechner sicher zu bekommen.


Zum Prinzip zu den Einmalpasswörtern:
Der User gibt seinen Username ein (z.B. Elderan) und springt dann zum PW Feld. Das AJAX Script schaut dann in der DB nach, welches PW der User eingeben muss und zeigt es entsprechend an.

Als Einmalpasswört kann man folgendes gut verwenden:
PHP:
<?php
$startwert_fuer_user = "zufaelliger Wert der in der DB fuer den User hinterlegt ist";

$hash = md5($startwert_fuer_user);

//Liste generien
for($i=0;$i<100;$i++)  {
    $hash = md5($hash);
   $array[$i] = $hash;
}

//Liste rückwärts ausgeben!
for($i=99;$i>=0;$i--)  
    echo "Passwort ".(100-$i).": ".substr(base64_encode(pack("H*", ($array[$i]))),0,5)."<br>",


//Passwort testen
$verwendetes_pw = 2; //Nummer die der User eingeben soll.
$hash = md5($startwert_fuer_user);
for($i=$verwendetes_pw;$i<100;$i++)
   $hash = md5($hash);

if(substr(base64_encode(pack("H*", $hash)),0,5) == $eingabe_vom_user)
//Alles Okay

So in etwa kann das Aussehen.

Dabei ist wichtig, den Hashwert mit dem meisten md5()-Aufrufen als erstes abzufragen, davor den mit einem weniger usw.
 
Ah danke php versteh ich ok dann muss ich mich mal mit extension Programmierung befassen und dann werd ich mich mal ransetzen und was machen solange müssen wir halt erstmal mit einfacheren Lösungen auskommen.
Das mit dem Auslesen kann doch aber auch per php geschen oder nicht?
 
Hallo,
ja klar, gibt der User sein Username ein, drückt dann weiter/enter und dann steht da, bitte gib Passwort '#3' ein.
Nur mit AJAX wäre es etwas komfortabler, aber auch umständlicher.
 
wie kann ich wirklich zufällige werte generieren, die z.B. von der Computerzeit abhänig sind? Danke erstmal dass du mir da nen bisschen hilfst :) sehr nett von dir
 
Hallo,
in PHP ist es gar nicht so einfach, aber sha1(microtime()) wäre schonmal ein Anfang.

Da du das aber ja nicht regelmäßig brauchst und auch nur dann wenn du neue Passwörter brauchst (und ausdrucken musst), kann man einmal ein Masterpasswort nehmen, dann sieht das ca. so aus:
sha1(microtime()."sicheres, geheimes Masterpasswort");

Oder du hast ein Eingabeformular, wo du einen zufälligen String eingibst, also so:
$rand = sha1(microtime().$_POST['eingabefeld']);

Du brauchst ja nur diesen zufälligen Startwert, wenn ein User eine neue PW Liste benötigt.
 
Aso ja klar... Am besten dann noch diese Verbindung (Übertragen des Startstring/Masterpasswort) per https abzusichern nen paar zusätzliche sicherheitsvorkehrungen auf dem Übertragungsrechner treffen und dann dürfte es nichmehr so das Problem sein gut hast mir sehr geholfen :)
 
Eine weitere Möglichkeit wäre, den Zugang zum CMS zeitlich zu beschränken. Wenn die Homepage-AG nur Mittwochs für 2 Stunden stattfindet in denen du auch siehst, wer da an den Rechnern sitzt, muss der Zugang ja nicht Montags in der Mittagspause funktionieren. Das ist nur problematisch, wenn man wann anders mal schnell was ändern will. Aber für diesen Fall kannst du ja beispielsweise einen Account einrichten, der immer funktioniert, aber auf den nur von Rechnern zugegriffen wird, die du als vertrauenswürdig einstufst (du könntest z.B. zeitgesteuert das IP-Netz der Schulrechner ausschließen *g).

Eine Bildschirmtastatur wäre auch dann einigermaßen sicher, wenn sie nicht bei jedem Aufruf gleich aussieht. Wenn du die Tasten zufällig durcheinanderwürfelst, dann dauert das Suchen nach den richtigen Charakteren für das zu verwendende Passwort natürlich länger, aber anhand der Mauswege kann dann das Passwort zumindest nicht nachvollzogen werden ;)
 
Jo also ich meine für das IP gebundene Einloggen gibt es sogar ein Plugin das könnte man ja dementsprechend verändern und dann hat sich das. Aber das ist eine gute Idee :)

Das mit den durcheinander gewürfelten Tasten wusste ich denke mal das wird anfangs schonmal ein bisschen mehr sicherheit schaffen :)

Super dass ihr mit mit dem Problem helft ich denke das sind genug Lösungsansätze kann glaub ich geschlossen werden es sei denn irgendwem fällt noch was ein^^
 
Zurück
Oben