Supportnet / Forum / Datenbanken
passwort-sicherheit von mysql_connect()
Frage
Guten Tag,
ich habe schon danach gegooglet. aber eine wirkliche präzise aussage habe ich nicht dazu gefunden.
und zwar wollte ich wissen, wie sicher denn das DB-passwort ist, wenn man mit mysql_connect() sich mit einer mysql-datenbank verbindet.
weil das passwort ja eigentl. öffentlich im quellcode steht.
klar, bekommt man den idR nicht zu gesicht da er ausgeführt wird.
dennoch würde mich die sicherheit interessieren, bzw. welche sicherheitsmechanismen man da anwenden kann.
vielen dank schonmal.
grüsse,
manwe131
Antwort 1 von Jaja
hi,
1. ich kenne mich mit den php5 bibliotheken nicht aus, aber wie ich das sehe benutzt diese funktion keine geschützte verbindung.
denach wird das passwort im klartext übertragen, was bei verbindung zum gleichen rechner über localhost/127.0.0.1 kein probem ist - wohl aber über ein netzwerk oder gar internet.
lösung wäre hier zunächst eine gesicherte verbindung über ssl herzustellen und die db-verbindungsanfrage dann darüber zu tunneln.
2. wie schon geagt kenne ich mich mit php nicht aus, weshalb ich dir nur indirekt sagen kann, wie du das passwort im quelltext absichern kannst.
zunächst solltest du die file permissions für den quellcode oder den ordner so setzen, das nur du lese/schreibrechte hast und natürlich der nutzer, dem der php prozess gehört lese zugriff hat.
unter linux/unix machst du das mit "chmod".
an sonsten nutzt du einen vom system spendierten schlüsselring. auf linux/unix ibt es da einige wie z.b. den gnome keyring.
diesen müsstest du über bibliotheken ansprechen - keine ahnung ob es da welche für php gibt. alternativ könnten kommandozeilentools helfen, die sich ja aus php aufrufen lassen.
so wäre das passwort nicht mehr im quelltext zu finden.
1. ich kenne mich mit den php5 bibliotheken nicht aus, aber wie ich das sehe benutzt diese funktion keine geschützte verbindung.
denach wird das passwort im klartext übertragen, was bei verbindung zum gleichen rechner über localhost/127.0.0.1 kein probem ist - wohl aber über ein netzwerk oder gar internet.
lösung wäre hier zunächst eine gesicherte verbindung über ssl herzustellen und die db-verbindungsanfrage dann darüber zu tunneln.
2. wie schon geagt kenne ich mich mit php nicht aus, weshalb ich dir nur indirekt sagen kann, wie du das passwort im quelltext absichern kannst.
zunächst solltest du die file permissions für den quellcode oder den ordner so setzen, das nur du lese/schreibrechte hast und natürlich der nutzer, dem der php prozess gehört lese zugriff hat.
unter linux/unix machst du das mit "chmod".
an sonsten nutzt du einen vom system spendierten schlüsselring. auf linux/unix ibt es da einige wie z.b. den gnome keyring.
diesen müsstest du über bibliotheken ansprechen - keine ahnung ob es da welche für php gibt. alternativ könnten kommandozeilentools helfen, die sich ja aus php aufrufen lassen.
so wäre das passwort nicht mehr im quelltext zu finden.
Antwort 2 von Nessus
Hi,
das Passwort ist IMHO recht sicher, solange du einige Dinge beachtest.
Lege u.a. das Passwort in ein Inc.-File, das außerhalb des Dokument_root liegt, d.h. in irgendeinem Verzeichnis, wo von Außen nicht zugegriffen werden kann.
Logischerweise auch ein sicheres Passwort wählen.IMHO ist es allerdings gefährlicher Datenbankeinträge nicht auf Exploids zu prüfen, das hat schon ganze Datenbanken lahm gelegt.
HTH
Nessus
das Passwort ist IMHO recht sicher, solange du einige Dinge beachtest.
Lege u.a. das Passwort in ein Inc.-File, das außerhalb des Dokument_root liegt, d.h. in irgendeinem Verzeichnis, wo von Außen nicht zugegriffen werden kann.
Logischerweise auch ein sicheres Passwort wählen.IMHO ist es allerdings gefährlicher Datenbankeinträge nicht auf Exploids zu prüfen, das hat schon ganze Datenbanken lahm gelegt.
HTH
Nessus
Antwort 3 von manwe131
vielen dankt für die ausführlichen antworten!
die datenbank liegt auf dem selben server wie das PHP script.
das mit chmod und dem passwort in ein inc-file nicht im Dokument_root zu legen ist auch ne gute idee.
Vielen dank dafür!
mit exploids kann ich jedoch recht wenig anfangen.
habe gerade gegooglet aber dazu keine ausreichende infos bekommen. habt ihr da noch einen link?
DANKE
manwe131
die datenbank liegt auf dem selben server wie das PHP script.
das mit chmod und dem passwort in ein inc-file nicht im Dokument_root zu legen ist auch ne gute idee.
Vielen dank dafür!
mit exploids kann ich jedoch recht wenig anfangen.
habe gerade gegooglet aber dazu keine ausreichende infos bekommen. habt ihr da noch einen link?
DANKE
manwe131
Antwort 4 von Jaja
meine links dazu wären hier im board nicht zulässig, da sie dem hackerparagraphen entgegenstehen. es ist halt so das der stein als mordwerkzeug verboten wurde, obgleich sich damit auch nüsse knacken lassen.
Antwort 5 von manwe131
ok ^^ habe verstanden.
vielen dank trozdem.
manwe131
vielen dank trozdem.
manwe131
Antwort 6 von Supermax
Such mal nach dem Stichwort "SQL INJECTION"
Antwort 7 von manwe131
habe ich schon gefunden. vielen dank
manwe131
manwe131

