Ich habe gerade versucht bei einem Benutzer md5 Authentifizierung statt plain text zu aktivieren weil dieser sich über eine Weboberfläche einloggen soll. Ich habe also einfach password mit md5 ausgetauscht, das ganze sieht dann ganz unspektakulär so aus:
local all tester_2008 md5
host all tester_2008 0.0.0.0 0.0.0.0 md5
Trotzdem muss ich beim LogIn das Passwort im plain-text angeben, ich dachte das ich dass Passwort nun md5-verschlüsselt angeben müsste?
Hab ich irgendwas übersehen? Die pg_hba.conf habe ich mich pg_ctl neugeladen, das hat auch funktioniert weil der Nutzer vorher garnicht drin stand und jetzt das einloggen mit plain-passwort zumindest funktioniert.
PS, wenn ein Admin mitliest, es währe sehr sinnvoll wenn man bei der Suche die minimal-Länge auf 3 setzen könnte, dann könnte man auch nach md5 suchen
Wenn ich also md5 angebe muss ich trotzdem das Passwort im plain-text übergeben, intern wird es dann aber als md5 gehasht gehandelt oder wie?
Du kannst Dir auch ein Passwort überlegen, davon den MD5 berechnen und diesen Hash als Passwort verwenden. Dann mußt Du das auch so als Passwort eingeben. Beruhigt Dich das?
Im Ernst: der Sinn von md5 ist es, Angreifern an der Leitung es zu erschweren, das Passwort mitzulesen.
Die Übertragung findet ja mit Hilfe der Client Library von PostgreSQL zum Server statt. Erstere verschlüsselt das Passwort nun mit md5 und überträgt es zu zweiterem. Für den Fall, das beides auf dem gleichen Rechner läuft … nun, dann ist das nicht weiter tragisch.
Wenn du jedoch z.B. getrennte Server für Web und Datenbanken hast, dann macht es sehr wohl Sinn, die Übertragung zu verschlüsseln.