PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwort sicher über Netzwerk übertragen?



Poison Nuke
14.08.09, 15:04
Hallo,

ich arbeite gerade an einer Lösung wo auf Festplattenlosen Arbeitstationen ein System über PXE gebootet werden soll. An sich recht easy, läuft auch schon soweit.

Einziges Problem ist jetzt, diese Systeme sollen dann gleich beim Start den Zugang für den betreffenden User einrichten, damit auch nur dieser sich einloggen kann mit seinem Passwort.


Der Rechner lädt sich über einen HTTP Server über seine MAC Adresse seine spezifische Config runter. Diese Config liegt auf dem HTTP Server eh nur für den Moment wo der Boot stattfindet danach wird sie automatisiert gelöscht. Dennoch wäre ja wenn ein Angreifer die MAC kennt und weiß wann exakt das System gebootet wird die Möglichkeit, ein über so einen Weg übertragendes Passwort auszulesen.


Welche möglichkeit gibt es, dem Client ein Passwort zu übertragen ohne das (auch wenn sie nur minimalst ist) eine Möglichkeit besteht es auszulesen?

muell200
14.08.09, 15:21
Welche möglichkeit gibt es, dem Client ein Passwort zu übertragen ohne das (auch wenn sie nur minimalst ist) eine Möglichkeit besteht es auszulesen?

welche loesung hast du verwendet?

ist es evt. moeglich ueber eine https-verbindung die daten zu laden...

Poison Nuke
14.08.09, 15:39
derzeit lädt der client über wget eine klartext scriptdatei runter die die finalen Einstellungen vornimmt. Fürs Passwort wäre das halt nicht soo prickelnd. Und https ist ja an sich nur eine verschlüsselte Verbindung, es geht aber auch darum, das theoretisch jeder andere einfach die Datei runterladen könnte. Es sei denn man könnte dem Apache2 irgendwie sagen htaccess vllt?) das eine Datei auch nur ausschließlich von einer IP geladen werden dürfte?
darf halt nur nicht in die Config vom Apache wandern weil es sich schon um einige viele Rechner handelt und der Apache nicht jedesmal rebootet werden soll nur wenn ein neuer Rechner dazukommt oder sich eine IP ändert.

stefaan
14.08.09, 15:59
Servus!


Es sei denn man könnte dem Apache2 irgendwie sagen htaccess vllt?) das eine Datei auch nur ausschließlich von einer IP geladen werden dürfte?

mod_access, in die .htaccess z.B.


<Directory /verzeichnis>
Order Deny,Allow
Deny from all
Allow from deineIP
</Directory>


Grüße, Stefan

Poison Nuke
14.08.09, 16:37
Hallo,

das habe ich auch schon eingefügt, allerdings halt den gesamten Netzbereich in dem die Clients sind. Nur ich bin halt so misstrauisch das einer der Clients eben böswillige absichten hat und das macht und er ist ja in dem IP Bereich drin den ich so schon eingegrenzt habe, das keiner von extern zugreifen kann. Ich müsste also jede einzelne Datei für jeden einzelnen Client irgendwie freigeben sozusagen.

sagen wir mal so die Wahrscheinlichkeit das überhaupt erstmal einer im lokalen Netz mitbekommt wie genau die Passwörter übertragen werden ist relativ unwahrscheinlich, da es beim boot im hintergrund passiert. Und wenn es es wüsste müsste er sich dann auch noch in dem kleinen IP Subnetz befinden in dem auch sein Ziel ist und dann müsste er auch erst noch wissen welche IP sein Ziel hat und dann müsste er auch noch genau den Moment des Bootens abpassen, da die Config nach erfolgreichem herunterladen automatisiert gelöscht wird.
Die Wahrscheinlichkeit ist also schon relativ gering. Vorallem der Fakt das abpassen von dem Moment wo es bootet ist reichlich schwer. Aber dennoch, kann ja seiner einer lauscht im Subnetz bis ein DHCP req kommt und lässt dann automatisiert auf die MAC von dem DHCP req ein wget ausführen. Er hat dann zwar nur die MAC aber die rückwärts auf eine IP aufzulösen ist ja auch nicht unbedingt schwer.


Tante edith:
kurz nach dem absenden fiel mir dann ein...ich kann ja für jeden Client ein eigenes Verzeichnes machen und da eine .htaccess für den Client reinpacken. Dürfte wohl das sinnvollste sein.

oziris
14.08.09, 21:12
Du kannst die Datei auch einfach verschlüsseln, z.B. mit GPG oder so.

rudelgurke
14.08.09, 23:16
Naja - es bringt vielleicht recht wenig von MAC Spoofing auszugehen und dann mit Apache IP's einzugrenzen ;)

Vielleicht besteht die Möglichkeit die jeweiligen User in eine LDAP / Kerberos Umgebung zu "portieren" - lohnt vielleicht den Aufwand.

Alternative wäre vielleicht noch für die Übertragung kurz einen Tunnel aufzubauen (SSH z. Bsp.)

Poison Nuke
15.08.09, 09:17
Naja - es bringt vielleicht recht wenig von MAC Spoofing auszugehen und dann mit Apache IP's einzugrenzen ;)

das ist mein Netzwerk, da ist MAC-Spoofing und IP Klau unmöglich, wenn nicht gerade das Cisco IOS irgendeinen Bug hat und einer die ACLs umgehen kann. Ansonsten ist jeder Port auf eine MAC und eine IP festgelegt was anderes kann dieser Port nicht nutzen. Und dank pVLANs und zusätzlich noch DHCP Snooping kann mir auch keiner den DHCP server "klauen" oder überhaupt irgendwas auf Layer2 Ebene machen.

Wenn also der Apache nicht auch noch einen Bug hat wäre im Endeffekt die aktuelle Lösung schon ziemlich sicher. Problem bei einem SSH Tunnel wäre, der muss ja auch erstmal irgendwie aufgebaut werden. Wie will man verhindern das dieser nicht auch von einem anderen Rechner aufgebaut wird. ist ja identisch wie der HTTP req.

Und was bringt es zu verschlüsseln? alles zur Entschlüsselung ist zwangsweise dann auch wieder auf dem Client drauf.


Eine Authentifizierung ist aufgrund der Art und Struktur der Clients nicht möglich, bzw nur extrem umständlich. Ich denke das Vertrauen auf die Funktion von Cisco und Apache und den Zeitfaktor reicht schon mehr als genug. Wenn ich mir überlege wie extrem viel Aufwand nötig wäre um überhaupt jetzt noch die Chance zu bekommen ein Pw auszulesen ist wohl weit höher als eine BruteForce Attacke auf das laufende System zu fahren. Absolut sicher geht eh nicht.