PHP -> MySQL-Zugriff (Sicherheit)

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

PHP -> MySQL-Zugriff (Sicherheit)

Beitrag von Sebastian.S » 27.08.2003 22:18:47

Hallo,
nicht unbedingt Debian-spezifisch, aber ich frage trotzdem mal, da es hier ja einige Spezialisten für solche Fälle zu geben scheint:

Ein freier Mitarbeiter hat das Betsellsystem (von den T-Shirts) sehr weit angepasst. Mein provider bietet mir jetzt eine MySQL-Datenbank, auf die ich vom Webserver (PHP) aus mit localhost zugreifen kann. Logisch. Aber ich muss antürlich auch Benutzername und Passwort einstellen ( in Variable $con, in connection.inc). Natürlich ist die connection.inc für jeden sichtbar, denn er braucht ja nur im Browser folgendes einzugeben: http://domain.de/warenkorb/cnt/connection.inc und bekommt alles im Klartext sichtbar übermittelt.

Wie umschiffe/entferne ich diese Sicherheitslücke???


Danke.


Sebastian.
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 27.08.2003 23:03:00

Imo gibts doch zwei möglichkeiten für http, einmal get und einmal post.
Ich denke bei einer wird da nix angezeigt.

gruss
man'keinhtmlkenner'uel

Benutzeravatar
kleiner_Held
Beiträge: 61
Registriert: 16.07.2002 17:12:08
Wohnort: Dresden
Kontaktdaten:

Beitrag von kleiner_Held » 27.08.2003 23:20:48

Wenn ich das richtig sehe, soll die Datei connection.inc von php gelesen werden, aber vom Webserver nicht verschickt werden.

Einfachste Lösung ist, die Datei direkt im Webserver zu sperren.
Beim Apache geht das über die Datei .htaccess
Diese Datei im gleichen Verzeichnis ablegen und folgenden Eintrag hinzufuegen

Code: Alles auswählen

<FilesMatch "^connection\.inc">
deny from all
</FilesMatch>
Ich würde außerdem in der MySQL-Datenbank einstellen, daß sich der entsprechende user nur von localhost einloggen kann. Voraussetzung ist natürlich, daß die DB auf dem gleichen Rechner läuft wie der Webserver.

Gruß

theangel
Beiträge: 29
Registriert: 21.05.2003 18:02:38
Kontaktdaten:

Beitrag von theangel » 28.08.2003 09:24:49

Generell würde ich für Dateien, die in PHP-Scripten included werden sollen, die Endung PHP verwenden. Dann würden die Zugriffsdaten auch nicht angezeigt werden, wenn jemand die Datei direkt im Browser aufruft... da sie erst durch den PHP Parser geschickt wird und der PHP-Code gefiltert wird.

ivo
Beiträge: 629
Registriert: 29.04.2002 12:41:22
Wohnort: Lichtenstein/Sa.
Kontaktdaten:

Beitrag von ivo » 28.08.2003 14:15:04

Und ich würde einen anderen freien Mitarbeiter nehmen.

*iv

Chimerer
Beiträge: 514
Registriert: 28.01.2002 16:10:44

Beitrag von Chimerer » 28.08.2003 17:21:37

Hi,

das ist keine Sicherheitslücke. Du kannst die connection.inc einfach ein Verzeichnis höher ablegen. Damit man übers Web nicht darauf zugreifen kann, das php-Script aber schon. Ist sogar standardmäßig so eingerichtet, jedenfalls bei der Version auf sf.net, aber kann es sein, das ich dir (Sebastian.Steins) irgendwann mal eine ziemlich frühe Version des Bestellsystems geschickt habe, möglicherweise war das bei der noch nicht so? Oder war das jemand anderes?

PS: Kannst mir ja dann mal den Link schicken, würde mich interessieren was aus unserem Bestellsystem gemacht wurde.

Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

Beitrag von Sebastian.S » 28.08.2003 17:27:25

@Chimerer:
Die Version ist auf jeden Fall von sf.net, weil du mir per E-Mail mal eine sehr frühe (ungepackte) Version geschickt hast, in der aber z.B. die connection.inc fehlte. Ich habe die unmittelbar nach der Veröffentlichung auf sf runtergeladen.

Das Problem ist, dass ich bei meinem Provider nur Zugriff auf den Document-Root habe, und nicht noch auf übergeordnete Verzeichnisse. Ich werde mir mal die .htaccess-Lösung von kleiner_Held ansehen.

Den Link kann ich noch nicht schicken, weil noch alles im Teststadium ist, ich werde dies aber auf jeden Fall nachholen.


Sebastian
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 29.08.2003 20:13:18

Sebastian.Steins hat geschrieben:@Chimerer:
Die Version ist auf jeden Fall von sf.net, weil du mir per E-Mail mal eine sehr frühe (ungepackte) Version geschickt hast, in der aber z.B. die connection.inc fehlte. Ich habe die unmittelbar nach der Veröffentlichung auf sf runtergeladen.
Kann sein, das wir vergessen haben die Datei in das Packet zu packen (weil die ebend ein Verzeichnis hoeher ist).

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Antworten