Apache vHost – Optimiert und sicher

Apache vHost – Optimiert und sicher

Ich warf einen Blick auf dieKanonische ThemenServerFault hat das und leider war die Frage, die ich gesucht habe, „Apache vHost“, auf der Liste der unbeantworteten Fragen. Das hat mich ein wenig überrascht, da es viele Leute gibt, die genau diese Frage stellen.

Meine Frage bezieht sich jedoch nicht so sehr auf das „Wie“, sondern vielmehr auf die „Best Practices“, die in einer Konfigurationsdatei für virtuelle Hosts verwendet werden sollten. Ich habe den folgenden virtuellen Host:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /home/webmaster/examplesite.com/htdocs
    ErrorLog /home/webmaster/examplesite.com/logfiles/error.log
    CustomLog /home/webmaster/examplesite.com/logfiles/access.log combined
</VirtualHost>

Es funktioniert und bringt alles zum Laufen, aber ich wollte wissen, ob ich es noch verbessern kann. Insbesondere möchte ich sicherstellen, dass die folgenden Probleme behoben werden:

  • Wie sicher ist meine Site?
  • Ich möchte einen „Uploads“-Ordner haben, in den Benutzer Bilder hochladen können. Muss ich der vHost-Datei etwas hinzufügen?
  • Optimiert die obige Einstellung meine Website oder kann ich sie noch weiter optimieren?
  • Habe ich sonst noch etwas übersehen?

Antwort1

Wie sicher ist meine Site?

Es ist keine gute Idee, Ihre Logdateien so zu speichern, dass sie potenziell öffentlich zugänglich sind. Das Drucken von Fehlermeldungen sollte in der Produktion deaktiviert sein, damit Angreifer blind sind (sie können Fehlermeldungen nicht gegen Sie verwenden[1]). Mit Zugriff auf die Fehlerprotokolle haben sie eine größere Chance, nach dem Prinzip „Versuch und Irrtum“ vorzugehen.

Ich möchte einen „Uploads“-Ordner haben, in den Benutzer Bilder hochladen können. Muss ich der vHost-Datei etwas hinzufügen?

Sie möchten Uploads platzierendraußendas Dokumentstammverzeichnis, um die Möglichkeit zu verringern, dass ein Benutzer ein Skript (z. B. PHP) hochlädt, danach sucht und es ausführt. Natürlich ist dies nicht der einzige Schutz, den Sie haben sollten, aber es ist sicherlich eine der Komponenten.

Optimiert die obige Einstellung meine Website oder kann ich sie noch weiter optimieren?

Mit einem virtuellen Host können Sie Ihre Website nicht wirklich optimieren – das ist eine Konfiguration auf Apache-Ebene (geht über den Rahmen dieser Frage hinaus).

Habe ich sonst noch etwas übersehen?

Ehrlich gesagt ist das schwer zu sagen. Jeder hat andere Anforderungen. Wenn Ihre Website beispielsweise ist example.com– würden Sie erwarten www.example.com, dass sie auch funktioniert? Wenn ja, fehlt Ihnen ein ServerAlias.

[1] Stellen Sie sich vor, sie könnten einen „ungültigen SQL“-Fehler generieren. Dann wissen sie, dass sie eine Eingabe gefunden haben, die nicht bereinigt ist, und haben schnell einen Weg gefunden, in Ihre Website einzudringen. Das Schlimmste ist: Diese Art von Angriffen kann automatisiert werden.

verwandte Informationen