WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Perl/Mysql Zugriffschutz mit Passwort (http://www.wcm.at/forum/showthread.php?t=60215)

snatch 19.06.2002 12:25

Perl/Mysql Zugriffschutz mit Passwort
 
Ich hab auf einer Seite einen Passwortschutz für den Adminbereich eingerichtet der folgendermassen aussieht:

Es gibt eine Tabell Users, mit drei Berchtigungsstufen
1 normaler User - darf gar nichts ausser Beiträge im Forum schreiben
2 BereichAdmin - darf nur seinen Bereich verwalten
3 Admin - darf alles

Die User und Passwort eingabe erfolg über ein Textfeld.
Das handler programm checkt ob der User vorhanden ist und welche berechtigungsstufe er hat.

Falls das Login erfolgreich ist werden der Name und das Passwort in einem Cookie gespeichert.

vor jedem zugriff auf ein CGI-Programm (Admin) wird das Cookie ausgelesen und die Berechtigungsstufe ermittelt. Je nach Berechtigungsstufe -> User darf oder User darf nicht.

Nun meine Frage:

Welche sicherheitstechnischen Aspekte sprechen gegen so eine Lösung.
In mehreren Forenbeiträgen wurde halt gepostet das eine htaccess lösung auf jeden fall einer perl lösung vorzuziehen ist.

Warum?

Es befinden sich keine hochsensiblen Daten in der Datenbank, es geht halt nur ums editíeren der Beiträge oder sonstige Eingaben.

sagi 19.06.2002 20:21

Der einzige Sicherheitsaspekt, der dagegen spricht ist, dass jeder, der Zugang zu einem der Admins hat, einfach nur den Cookie kopieren kann und damit die gleichen Zugangsrechte hat.

Alle anderen Aspekte sind wohl zu Vernachläsigen, weil du ja keinen Bankrechner sichern musst, sondern "nur" ein Forum.

Die einzige Möglichkeit die .htaccess Authentifizierung sinvoll zu nutzen ist, wenn der PHP Interpreter als Apache Modul ausgeführ wird.

Ich hab allerdings noch nie solche Anwendungen programmiert.

mfg

c.

koe 19.06.2002 23:24

Zutrittsberechtigung mit Cookies
 
Für deinen Zweck muss ich sagen, ist die Cookie Lösung sicherlich die Beste.
1. weil sie einfach ist
2. weil sie schnell implementiert ist
3. weil sie sicher ist (siehe unten)

Ich würde nur empfehlen die daten nicht einfach so inns Cookie zu schreiben (macht man einfach nicht!)
Empfähle dir stattdessen den usernamen unverschlüsselt, das Passwort aber mit md5 verschlüsselt zu speichern.
--> ist genauso einfach zu überprüfen wie ohne verschlüsselung, zeigt aber vielmehr stil und professionalität.
:ms:

sagi 20.06.2002 00:27

Ja, da kann man das Passwort nicht so leicht auslesen. Das Problem ist allerdings wenn jemand win98 oder winME hat. Da sind die Cookies ja quasi "öffentlich". Es ist zwar nicht möglich, das Passwort auszulesen (zumindest nicht ohne Hilfsmittel) allerdings würde es reichen, den Cookie zu kopieren.

mfg

c.

koe 20.06.2002 00:34

cookie kopieren...
 
tja das sollte kein Problem darstellen!
einfach ins cookie die ipadresse mitreinnehmen.
Wird in der Praxis nahezu überall gemacht (im professionellen Rahmen)
Das Cookie setzt sich dann meist aus folgenden Dingen zusammen:
username (verschlüsselung nicht nötig)
passwort (md5 verschlüsselung empfohlen)
ipadr (md5 verschlüsselung empfohlen)

dann einfach die ip von der das script aufgerufen wurde mit md5 verschlüsseln und mit der gespeicherten ip vergleichen.
wenn sie gleich sind is ja alles ok!
:ms:

koe 20.06.2002 00:42

passwort auslesen...
 
außerdem:
Sicherlich kann man das verschlüsselte Passwort aus dem Cookie lesen,
aber man kann es nicht entschlüsseln (md5 ist irreversibel).
Man kann nur verschiedene Passwörter mit md5 verschlüsseln und schauen ob eins die selbe zeichenfolge ergibt.
Und spätestens nach ablaufzeit des Cookies muss man das Passwort eingeben und dann steht man an.
Außerdem kann man die Möglichkeit des decodierens über codieren von anderen Passwörtern eliminieren, wenn man statt md5 ein anderes Verschlüsselungsverfahren verwendet und mit einem eigenen Schlüsselwort verschlüsselt.
Außerdem kann man ja vorher die 32bit CRC bilden und die dann in der Verschlüsselung dazugeben ....
Man kann ja sooooooo gemein sein wenns ums verschlüsseln geht!

_m3 20.06.2002 17:08

Jede Übertragng eines Passwortes (verschlüsselt oder unverschlüsselt) ist ein Sicherheitsrisiko.

Warum nicht einfach eine generische Session-ID als Cookie setzen, über welche die User-Session identifiziert wird. Diese mit einem Ablaufdatum versehen - viola!

koe 20.06.2002 20:00

sessions
 
Sorry Chef,
Sessions sind so ziemlich das einzige,
mit dem ich mich noch nicht auseinandergesetzt hab.
Aber ich bin ja noch jung und dynamisch und kann ja noch viel lernen!

SNo0py 20.06.2002 20:35

Session-IDs sind zwar eine saubere und schöne, aber leider auch eine sehr aufwendige Lösung.

Am einfachsten ist wirklich ein Cookie mit dem Kennwort und der IP des Hosts zu speichern und zu überprüfen. Dann kannst schon mal nicht kopiert werden ;)

lg

_m3 20.06.2002 21:04

Und wenn mehrere Personen über eine IP kommen (proxy)? ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag