Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
websty

Bringt es was,

Recommended Posts

Hallo,

ich wußte nicht genau, ob ich hier und in "Generelle Fragen" posten sollte. Da es vielleicht etwas allgemeiner ist, habe ich es hier gemacht. Wenn falsch, bitte verschieben! :lol:

Also es geht darum, dass ich "mein Forum" ein wenig sicherer machen möchte.

das /admin/ Verzeichnis habe ich schon erfolgreich mit .htaccess geschützt!

Nun würde mich noch interessieren, ob es was bringt, wenn ich in der conf_global (heißt sie so?) die Angaben zur MySQL-DB verschlüssel. Geht das überhaupt?

Das dumme ist, ich habe mehrere Datenbanken bei meinem Hoster, nur alle mit dem selben Login/Passwort. Sollte es doch jemand schaffen, an die Datei zu kommen, könnt er auch auf andere Datenbanken zugreifen!

Vielen Dank für Eure Meinungen!

Gruß

Sebastian

Share this post


Link to post

Eine Verschlüsselung bringt nichts, da die Daten ja auch wieder entschlüsselt werden müssen. Alles, was das Forum entschlüsseln kann, kann auch jeder Mensch entschlüsseln (zumindest, wenn er ein gewisses Grundwissen besitzt - die anderen sind uns diesbezüglich eh egal ;) ).

Fazit: bringt meines Erachtens nach nichts, da erstens sowieso niemand von aussen an die config Datei kommt und wenn doch, er dann eh schon alle Türen offen hat.

Die Frage ist doch folgende: Wie soll jemals jemand an die Datei kommen? Mach gute Passwörter und am besten überall unterschiedliche. Ausserdem solltest Du regelmässig Backups machen - man weiss ja nie.

Share this post


Link to post

Du könntest den Zugriff auf die conf_global.php (und auf das Backup der Datei) und auf die admin.php sichern, indem du entsprechende Einträge in deine .htaccess-Datei machst:

AuthType Basic

AuthName "Restricted File"

AuthUserFile /path/.htpasswd

<Files admin.php>

require valid user

</Files>

<Files conf_global.php>

require valid user

</Files>

<Files conf_global-bak.php>

require valid user

</Files>

In deiner .htpasswd-Datei muß dann natürlich ein entsprechender User mit Paßwort angegeben sein.

Dieser Dateischutz sorgt dafür, daß bei direktem Zugriff über einen Browser erstmal eine Authentifizierung stattfindet, bevor der Zugriff gestattet wird. Bei der conf_global.php erfolgt zwar keine Ausgabe. Aber sollte mal der Webserver durch einen Fehler ohne PHP-Interpreter laufen (dürfte eigentlich niemals passieren, habe ich aber leider schon mal beobachten müssen), dann wird durch diesen Schutz verhindert, daß diese Datei im Browser als Textdatei ausgegeben werden kann (wenn man sie direkt aufruft) und jeder die DB-Zugangsdaten sehen kann. (Eine vom PHP-Interpreter nicht geparste php-Datei wird im Browser als Text ausgegeben, da eine PHP-Datei nichts anderes als eine Textdatei ist.)

Und wenn man sich ins ACP einloggen will, muß man zunächst User + Paßwort angeben, bevor man zur IPB-Login-Seite für das ACP kommt. Mag auf den ersten Blick etwas umständlich sein, sich zweimal zu authentifizieren. Es hat aber den Vorteil, daß kein direkter Brute-Force-Angriff auf den ACP-Login möglich ist, da zunächst die erste Hürde, die Authentifizierung über den Apache-Webserver, zu nehmen ist, was bei vernünftiger Konfiguration des Webservers eigentlich nicht möglich ist. Damit kann man relativ ruhig schlafen, selbst wenn der ACP-Bereich Sicherheitslücken aufweisen sollte, was man nie wirklich ausschließen kann.

Außerdem kannst du die Dateirechte der conf_global.php und conf_global-bak.php auf 600 setzen. Damit kann nur noch das Script auf diese Datei zugreifen. Ich persönlich habe den Sourcecode bei Änderungen dieser Datei dahingehend geändert, daß auch nach den Änderungen die Rechte bei 600 bleiben. So muß ich nicht nach jeder Änderung die Rechte manuell von 777 auf 600 zurücksetzen.

Gruß,

AC

Edited by AliCremerU333

Share this post


Link to post

ich muß mal meinen hoster fragen - der hat das geil gelöst

es funzt so:

egal, wo ich die mysql daten angeben muß, ich brauch nur die " entfernen, und variablen verwenden.

also anstatt des usernamens, passworts und des namens dar db geb ich $DB_USER, $DB_PASS, $DB_NAME an.

hat nebenher noch den vorteil, das ich mir die daten nicht merken muß

solange ich also nirgendwo eine phpinfo fahr auf der seite, kriegt auch keiner meine daten raus - egal wie.

einziger nachteil: installationsscripte, wies vom ipb verwendet werden, haben damit ihre probleme, weils die eingegebenen daten grundsätzlich in " setzen.

ich muß also beim insten des z.b. forums die echten daten angeben, und nachträglich in variablen ändern.

wens wen interessiert für seinen eigenen server, kann i ja mal nachfragen.

will nur nix versprechen - in solchen sachen is mein mann doch recht verschlossen.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×