Sicherheit von Web-App-Dateien und Datenbankkennwörtern in einer Linux-Shared-Hosting-Umgebung

Sicherheit von Web-App-Dateien und Datenbankkennwörtern in einer Linux-Shared-Hosting-Umgebung

Ich habe eine Webanwendung auf einem Linux-Shared-Hosting-Rechner. Nehmen wir an, ich habe eine .htpasswdDatei, einige Konfigurationen, die ein Datenbankkennwort speichern, und möchte grundsätzlich nicht, dass Leute meinen Quellcode nach Schwachstellen durchsuchen.

Der Webserver (Apache) benötigt Lesezugriff (und in manchen Fällen auch Schreibzugriff) auf die oben genannten Dateien. Ich möchte jedoch nicht, dass andere Personen auf demselben gemeinsam genutzten Host Zugriff haben.

Ich habe nie ganz verstanden, wie das funktionieren soll. Die FrageHierist ähnlich, scheint aber eher darauf abzuzielen, die Webanwendung daran zu hindern, versehentlich eine Kennwortdatei zu hosten.

Soweit ich weiß, muss ich nur mit grundlegenden Linux-Berechtigungen arbeiten. Auf einem Server soll ich „anderen“ Berechtigungen für Apache erteilen. Wenn ich dann die Gruppenberechtigungen entferne, denen alle anderen Benutzer angehören, wird ihnen der Zugriff verweigert. Das scheint ziemlich umständlich. Auf einem anderen Server ist eine nobodyGruppe eingerichtet, public_htmlfür die nur Gruppenberechtigungen festgelegt sind.

Eine Sorge besteht darin, dass, wenn der Apache-Benutzer Zugriff auf meine Dateien hat, ein einfaches Skript geschrieben und ausgeführt werden könnte, um einem anderen Benutzer Zugriff zu verschaffen:

<?php
header("Content-Type: text/plain");
include $_GET['f'];
?>

TLDR: Ich brauche Apache, um Zugriff auf die Quelldateien und Passwörter zu haben, aber nicht auf andere Benutzer auf demselben Rechner (außer natürlich Administratoren).

Was ist ein übliches Setup?

Ähnliche Fragen:

Antwort1

Erstellen Sie eine Gruppe und fügen Sie apache/www-data zur Gruppe hinzu. Dann:

chown -R apache:Gruppenname /var/www/mywebapp/ && \ chmod -R 640 /var/www/mywebapp

Dadurch erhält der Besitzer Lese- und Schreibrechte (6) und die Gruppe Leserechte (4) für den Ordner und alle Unterverzeichnisse und Dateien. Der Apache-Benutzer kann auf die Dateien zugreifen, ebenso der Besitzer, andere Benutzer jedoch nicht. Sie sollten sicherstellen, dass sie sich nicht als Apache-Benutzer anmelden können.

Verwenden Sie Verzeichnisblöcke in der Vhost-Konfiguration, um den Zugriff auf Ordnerebene einzuschränken. http://httpd.apache.org/docs/2.0/misc/security_tips.html#Siehe Serverdateien schützen http://www.anchor.com.au/hosting/dedicated/Security_Hardening_of_an_Apache_Virtual_Host

verwandte Informationen