Kennwörter im DocumentRoot

Jan 27.08.2020, 21:23

Eine beliebte Sicherheitslücke ist es leider immer noch, Kennwörter von Webanwendungen im Dateien im DocumentRoot abzulegen, die öffentlich abrufbar sind.

Zum Beispiel die Datei /config.yml

password: myscret

Es gibt ein paar Gegenmittel:

Diese Angaben kann man auch in eine .htaccess packen.

Aber was ist, wenn der Apache performanceoptimiert ist und die .htaccess garnicht berücksichtigt? Oder zum NGinx gewechselt wird? Dann stehen die Kennwörter plötzlich frei im Netz

Besser

Eine geschicktere Möglichkeit ist, die Datei als PHP-Datei config.yml.php zu tarnen, dann wird diese durch den PHP-Interpreter ausgeführt und ein Status 403 erzeugt:

# vim: filetype=yaml
    # <?php http_send_status(403); ?>
password: myscret

Danke vim-modeline wird die Datei von vim immer noch als YAML-Datei erkannt ...

Noch besser

Am besten ist es natürlich, die Konfigurationsdatei gleich außerhalb des DocumentRoot abzulegen, sofern das möglich ist. Hier besteht keine Möglichkeit mehr, die Datei irrtümlich abrufbar zu machen.