So sichern Sie Ihren Apache -Server

So sichern Sie Ihren Apache -Server
Apache ist ein beliebter Open-Source-Webserver, der sowohl für Linux- als auch für Windows-Systeme verfügbar ist. Es ermöglicht eine Konfiguration für eine Vielzahl von Anwendungsfällen, von HTML -Webseiten bis hin zu Hypertext Precessor (PHP) -Dynamik -Webanwendungsinhalt.Apache bietet eine sichere und robuste Plattform für die Bereitstellung Ihrer Webanwendungen. Es ist jedoch weiterhin wichtig, die neuesten Sicherheitspatches zu installieren und den Server ordnungsgemäß zu konfigurieren, um eine sichere Umgebung für Ihre Webanwendungen zu erstellen.
In diesem Artikel finden Sie einige Tipps und Tricks, um Ihre Apache -Webserverkonfigurationen zu stärken und die allgemeine Sicherheit zu verbessern.

Nicht privilegiertes Benutzerkonto

Der Zweck eines Nicht-Root- oder nicht privilegierten Benutzerkontos besteht darin, den Benutzer vom unnötigen Zugriff auf bestimmte Aufgaben innerhalb eines Systems zu beschränken. Im Kontext eines Apache -Webservers bedeutet dies, dass er in einer eingeschränkten Umgebung mit nur den erforderlichen Berechtigungen funktionieren sollte. Standardmäßig läuft Apache mit Dämon -Konto -Privilegien aus. Sie können ein separates Nicht-Root-Benutzerkonto erstellen, um Bedrohungen bei Sicherheitslücken zu vermeiden.

Wenn Apache2 und MySQL unter denselben Benutzeranmeldeinformationen stehen, hat jedes Problem im Prozess des Sobalds Auswirkungen auf den anderen. So ändern Sie die Benutzer- und Gruppenberechtigungen für den Webserver, gehen Sie zu /etc /apache2, öffnen Sie die Dateiumvars und setzen.

Ubuntu@Ubuntu ~: $ sudo vim/etc/apache2/envvars
… Schnipsel…
exportieren apache_run_user = apache
Exportieren Sie apache_run_group = apache
… Schnipsel…

Sie können auch den folgenden Befehl verwenden, um das Eigentum des Installationsverzeichnisses in den neuen Nicht-Root-Benutzer zu ändern.

Ubuntu@Ubuntu ~: $ sudo chown -r Apache: Apache /etc /apache2
Geben Sie den folgenden Befehl aus, um die Änderungen zu speichern:
Ubuntu@ubuntu ~: $ sudo service apache2 neu starten

Halten Sie Apache auf dem neuesten Stand

Apache ist berühmt für die Bereitstellung einer sicheren Plattform mit einer sehr besorgten Entwicklergemeinschaft, die selten auf Sicherheitsfehler ausgesetzt ist. Trotzdem ist es normal, Probleme zu entdecken, sobald die Software veröffentlicht ist. Daher ist es wichtig, den Webserver auf dem neuesten Stand zu halten, um die neuesten Sicherheitsfunktionen in Anspruch zu nehmen. Es wird auch empfohlen, die Ankündigungslisten von Apache Server zu befolgen, um sich über neue Ankündigungen, Veröffentlichungen und Sicherheitsaktualisierungen der Apache -Entwicklungsgemeinschaft auf dem Laufenden zu halten.

Um Ihren Apache mithilfe von APT zu aktualisieren, geben Sie Folgendes ein:

Ubuntu@Ubuntu ~: $ sudo apt-Get-Update
Ubuntu@Ubuntu ~: $ sudo apt-Get-Upgrade

Deaktivieren Sie die Serversignatur

Die Standardkonfiguration eines Apache -Servers enthält viele Details über den Server und seine Einstellungen. Zum Beispiel die Aktivitäten der Serversignatur und der Servertokens -Anweisungen in/etc/apache2/apache2.Conf -Datei fügen Sie der HTTP -Antwort einen zusätzlichen Header hinzu, der potenziell sensible Informationen enthüllt. Diese Informationen umfassen die Servereinstellungsdetails wie die Serverversion und das Hosting -Betriebssystem, die dem Angreifer beim Aufklärungsvorgang helfen können. Sie können diese Richtlinien deaktivieren, indem Sie den Apache2 bearbeiten2.Conf -Datei über Vim/Nano und fügen Sie die folgende Anweisung hinzu:

Ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.Conf
… Schnipsel…
Serversignatur aus
… Schnipsel…
Servertokens prod
… Schnipsel…

Starten Sie Apache neu, um die Änderungen zu aktualisieren.

Deaktivieren Sie die Server -Verzeichnis -Listings

In den Verzeichnislisten werden alle im Root-Ordner oder in den Unterabzeichnungen gespeicherten Inhalte angezeigt. Die Verzeichnisdateien können vertrauliche Informationen enthalten, die nicht für die öffentliche Anzeige bestimmt sind, z. B. PHP -Skripte, Konfigurationsdateien, Dateien mit Kennwörtern, Protokollen usw.
Ändern Sie die Auflistungen von Verzeichnissen, um die Apache -Server -Konfigurationsdatei zu ändern, indem Sie den Apache2 bearbeiten.Conf -Datei als:

Ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.Conf
… Schnipsel…

Optionen -Indexes

… Schnipsel…

ODER

… Schnipsel…

Optionen -Indexes

… Schnipsel…

Sie können diese Richtlinie auch in die hinzufügen .HTaccess -Datei Ihres Haupt -Website -Verzeichnisses.

Systemeinstellungen schützen

Der .Die HTaccess -Datei ist eine bequeme und leistungsstarke Funktion, mit der Konfiguration außerhalb des Haupt Apache2 ermöglicht wird.Conf -Datei. In Fällen, in denen ein Benutzer Dateien auf den Server hochladen kann, kann dies von einem Angreifer ausgenutzt werden, um seine eigenen hochzuladen.HTaccess ”-Datei mit böswilligen Konfigurationen. Wenn Sie diese Funktion nicht verwenden, können Sie die deaktivieren .Htaccess -Richtlinie, ich.e.:

Ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.Conf
… Schnipsel…
#AccessFileName .htaccess
… Schnipsel…

ODER
Deaktivieren Sie die .HTAccess -Datei mit Ausnahme der spezifisch aktivierten Verzeichnisse durch Bearbeiten von Apache2.conf Datei und Drehungserlaubnisanweisung auf keine;

Ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.Conf
… Schnipsel…

NichtsRide keine

… Schnipsel…

Verzeichnisse mit Authentifizierung sichern

Sie können Benutzeranmeldeinformationen erstellen, um alle oder einige Verzeichnisse mithilfe des Htpasswd -Dienstprogramms zu schützen. Gehen Sie zu Ihrem Serverordner und verwenden Sie den folgenden Befehl, um a zu erstellen .HTPasswd -Datei, um Passwort -Hashes für die Anmeldeinformationen zu speichern, die einem Benutzer namens Dev zugewiesen sind.

Ubuntu@ubuntu ~: $ sudo htpasswd -c/etc/apache2/-htpasswd dev

Im obigen Befehl werden nach der neuen Bestätigung für Passwort und Passwort gefragt. Sie können die Katze anzeigen ./htpasswd -Datei, um den Hash für die gespeicherten Benutzeranmeldeinformationen zu überprüfen.

Jetzt können Sie die Konfigurationsdatei automatisch im Verzeichnis your_website festlegen, das Sie schützen müssen, indem Sie die ändern .HTaccess -Datei. Verwenden Sie den folgenden Befehl und die folgenden Anweisungen, um die Authentifizierung zu aktivieren:

Ubuntu@ubuntu ~: $ sudo nano/var/www/your_website/.htaccess
… Schnipsel…
AUTHTYPE BASIC
Authname "Fügen Sie die Dialogaufforderung hinzu"
AuthuserFile/etc/apache2/user_name/domain_name/.htpasswd
Erfordernder gültiger Benutzer
… Schnipsel…

Denken Sie daran, den Pfad nach Ihrem hinzuzufügen.

Führen Sie die notwendigen Module aus

Die Standard -Apache -Konfiguration enthält aktivierte Module, die Sie möglicherweise nicht einmal benötigen. Diese vorinstallierten Module öffnen Türen für Apache-Sicherheitsprobleme, die entweder bereits existieren oder in Zukunft existieren können. Um all diese Module zu deaktivieren, müssen Sie zunächst verstehen, welche Module für die reibungslose Funktionieren Ihres Webservers erforderlich sind. Zu diesem Zweck finden Sie in der Apache -Moduldokumentation, die alle verfügbaren Module abdeckt.

Verwenden Sie als nächstes den folgenden Befehl, um herauszufinden, welche Module auf Ihrem Server ausgeführt werden.

Ubuntu@ubuntu ~: $ sudo ls/etc/apache2/mods-fähig

Apache wird mit dem leistungsstarken A2Dismod -Befehl geliefert, um das Modul zu deaktivieren. Es verhindert das Laden des Moduls und fordert Sie mit einer Warnung auf, wenn Sie das Modul deaktivieren, dass sich die Aktion negativ auf Ihren Server auswirken kann.

Ubuntu@Ubuntu ~: $ sudo a2dismod module_name

Sie können das Modul auch deaktivieren, indem Sie in der LoadModule -Zeile kommentieren.

Verhindern Sie einen langsamen Angriff von Loris und DOS

Die Standardinstallation eines Apache -Servers zwingt es, zu lange auf Anfragen von Clients zu warten, wodurch der Server Loris und DOS -Angriffe verlangsamt werden. Der Apache2.Die Conf -Konfigurationsdatei bietet eine Anweisung, mit der Sie den Zeitüberschreitungswert auf einige Sekunden senken können, um diese Art von Angriffen zu verhindern.e.:

Ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.Conf
Zeitüberschreitung 60

Außerdem verfügt der neue Apache -Server mit einem praktischen Modul mod_reqTimeout, der eine Richtlinie RequestReadTimeout bietet, um den Server vor illegitimen Anfragen zu sichern. Diese Richtlinie verfügt über einige knifflige Konfigurationen, sodass Sie die auf der Dokumentationsseite verfügbaren Informationen vorlesen können.

Deaktivieren Sie unnötige HTTP -Anfragen

Unbegrenzte HTTP/HTTPS -Anforderungen können auch zu einer geringen Serverleistung oder einem DOS -Angriff führen. Sie können die empfangenden HTTP-Anforderungen pro Verzeichnis einschränken, indem Sie den LimitRequestBody auf weniger als 100.000 verwenden. Um beispielsweise eine Anweisung für den Ordner/var/www/your_website zu erstellen, können Sie die unten stehende LimitRequestBody -Direktive hinzufügen.e.:

… Schnipsel…

Optionen -Indexes
ALLESRIDE ALLES
LimitRequestBody 995367

… Schnipsel…

Hinweis: Denken Sie daran, Apache nach den angewendeten Änderungen neu zu starten, um es entsprechend zu aktualisieren.

Abschluss

Die Standardinstallation des Apache -Servers kann zahlreiche sensible Informationen liefern, um Angreifer bei einem Angriff zu unterstützen. In der Zwischenzeit gibt es auch viele andere Möglichkeiten (nicht oben aufgeführt), um den Apache -Webserver zu sichern. Weiter recherchieren Sie und halten Sie sich über neue Richtlinien und Module auf dem Laufenden, um Ihren Server weiter zu sichern.