Die wichtigsten Schritte, um XAMPP zu einer „sicheren“ Umgebung für die Produktion zu machen

Die wichtigsten Schritte, um XAMPP zu einer „sicheren“ Umgebung für die Produktion zu machen

Zunächst einmal weiß ich, dass XAMPP nicht ideal für die Produktion ist. Aber ich bin ein Anfänger in Sachen Apache, MySQL und vor allem bin ich ein Neuling in PHP. Ich komme aus dem Bereich Node.js/Java/Javascript und daher ist das alles sehr neu für mich.

Bei dieser speziellen Test-App, die ich mit XAMPP entwickle, verwende ich auch Windows (was für mich auch sehr ungewöhnlich ist. Normalerweise verwende ich Ubuntu, um meine Server zu erstellen und zu verwalten).

Ich habe diese App mithilfe einer vorgefertigten PHP-Vorlage erstellt und daher alle meine „htdocs“-Dateien ersetzt, bevor ich die Sicherheitsseitenprozeduren von XAMPP ausführen konnte.

Ich möchte die Schritte durchgehen, die ich unternommen habe, um die Umgebung ein wenig abzusichern, und ich bitte Sie höflich, mir weitere Vorschläge zu machen oder mir mitzuteilen, ob ich etwas übersehen habe.

  • Ich habe den webdavOrdner vollständig entfernt.
  • Ich habe das MySQL-Root-Passwort geändert.
  • Ich habe das PhpAdmin-Standardkennwort für die Cookie-Authentifizierung geändert.
  • Ich habe eine Datei in den Ordnern eingerichtet, .htaccessdie ich schützen wollte. (Da ich neu bei Apache bin, ist das für mich etwas verwirrend. Zuerst wollte ich den gesamten XAMPP-Ordner sichern, aber dann konnte niemand auf meine Web-App zugreifen, ohne sich mit den .htpsswdAnmeldeinformationen anmelden zu müssen, was ich nicht wollte. Ich wollte, dass dies nur in Ordnern geschieht, die herunterladbare vertrauliche Benutzerdateien enthalten, und habe die .htaccessDatei daher entsprechend verschoben. Allerdings weiß ich nicht, ob das überhaupt ratsam ist, da ich viele Leute sagen höre, dass die erste Sicherheitsmaßnahme darin besteht, tatsächlich eine .htaccessDatei im Stammverzeichnis des XAMPP-Ordners einzurichten. Obwohl ich eine habe, ist sie nicht authentifiziert geschützt. Meine Sorge rührt daher, dass ich nicht verstehe, wie Apache entscheidet, welcher Ordner „zugänglich“ ist oder was auch immer. Ich bin es gewohnt, einen Webserver zu erstellen, der nur über Routen zugänglich ist, die ich ausdrücklich erstelle und die der Benutzer nutzen darf. Ich bin mir nicht wirklich sicher, wie PHP und Apache zusammenarbeiten, um diese Berechtigungen zu definieren.)
  • Ich verwende FileZilla NICHT (und führe es meines Wissens auch nicht aus).
  • Ich verwende Mercury NICHT (und soweit ich weiß, führe ich es auch nicht aus).
  • Ich verwende Tomcat NICHT (und führe es meines Wissens auch nicht aus).

Nun zu dem Teil, der mir mehr Sorgen bereitet PhpAdmin. Zuerst hatte ich über localhost Zugriff darauf, aber ich verlor ihn, als ich meine VirtualHost-Server so einrichtete, dass sie auf meine Domain und SSL zeigten. Ich habe das „behoben“, indem ich einen weiteren VirtualHost neu erstellte, der auf Port 80 lauschte und ebenfalls auf localhost zeigte. Obwohl ich versucht habe, PhpAdminüber die Domain und IP remote darauf zuzugreifen, und dies nicht gelungen ist, mache ich mir immer noch Sorgen, dass es irgendwie über das Netzwerk angreifbar sein könnte. Dies ist mein VirtualHostSetup aufhttpd-ssl.conf

<VirtualHost *:80>
   ServerName localhost
   DocumentRoot "C:/xampp/apache/logs/error.log"
</VirtualHost>

##
## SSL Virtual Host Context
##
<VirtualHost *:80>
   ServerName http://example.com
   DocumentRoot "C:/xampp/apache/logs/error.log"
   Redirect / https://example.com/login
</VirtualHost>

<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot "C:/xampp/htdocs"
ServerName example
ServerAdmin [email protected]
ErrorLog "C:/xampp/apache/logs/error.log"
TransferLog "C:/xampp/apache/logs/access.log"

Nach dem wenigen, was ich über das, was ich tue, weiß, müssten Eindringlinge, obwohl der MySQL-Daemon über das Netzwerk zugänglich ist, Brute-Force-Angriffe durchführen, um an das Passwort zu gelangen. Meine vertraulichen herunterladbaren Dateien sind durch .htaccessAnmeldeinformationen geschützt. Ich findedass mein PhpAdmin auch geschützt ist, aber da bin ich mir nicht sicher. Ich würde mich über alle Hinweise freuen.

verwandte Informationen