Zum Hauptinhalt springen Skip to page footer

Verwalten Sie den Zugriff in Apache: Einrichtung von Digest-Authentifizierung mit SHM-Anbietern

| Tutorial | Apache Linux

Sichern Sie Ihren Apache-Webserver. Erfahren Sie, wie Sie den Zugriff mithilfe von Digest-Authentifizierungs- und SHM-Anbietern effektiv sichern. Dieser Artikel enthält eine Anleitung zur Konfiguration des Zugriffsschutzes in Apache und zur Nutzung der Shared Memory (SHM)-Technologie. Schützen Sie sensible Daten und stellen Sie sicher, dass nur autorisierte Benutzer auf Ihre Website zugreifen können. Lesen Sie weiter, um herauszufinden, wie. 

Ein Beispiel für die Einrichtung des Zugriffsschutzes mithilfe von Virtual Host, AuthType Digest und AuthDigestProvider SHM in der Apache-Konfiguration:  

<VirtualHost *:80>
    ServerName website1.com
    DocumentRoot /path/to/your/document/root

    <Directory "/path/to/your/document/root">
        AuthType Digest
        AuthName "Restricted Access"
        AuthDigestDomain / http://website1.com
        AuthDigestProvider SHM
        Require valid-user
    </Directory>
</VirtualHost>

Beispiel Digest Authentication mit SHM-Anbietern

In diesem Beispiel wird ein virtueller Host für die Domäne website1.com konfiguriert und der Zugriffsschutz mithilfe von Digest Authentication und SHM-Anbietern eingerichtet.

  • AuthType Digest gibt an, dass die Digest-Authentifizierung verwendet werden soll.
  • AuthName „Restricted Access“ legt den Namen des eingeschränkten Bereichs fest, den der Benutzer sieht, wenn er zur Authentifizierung aufgefordert wird.
  • AuthDigestDomain / website1.com definiert die Domäne oder den Bereich, für den die Digest-Authentifizierung gilt. In diesem Beispiel handelt es sich um die gesamte Website website1.com. 
  • AuthDigestProvider SHM gibt an, dass der SHM-Anbieter zum Speichern von Benutzerinformationen verwendet wird. SHM steht für Shared Memory und ermöglicht die Speicherung von Benutzerinformationen im Shared Memory des Webservers.
  • Require valid-user beschränkt den Zugriff auf erfolgreich authentifizierte Benutzer.

Passen Sie die Pfade und Dateinamen unbedingt an Ihre eigene Dateistruktur an. Beachten Sie außerdem, dass zur Verwendung der Digest-Authentifizierung mit dem SHM-Anbieter die erforderlichen Apache-Module (mod_auth_digest, mod_authn_core) aktiviert sein müssen. Dieses Beispiel zeigt eine grundlegende Konfiguration des Zugriffsschutzes mithilfe von Digest-Authentifizierung und SHM-Anbietern. Sie können die Konfiguration nach Bedarf anpassen, um Optionen wie Benutzergruppen und zusätzliche Authentifizierungsmethoden hinzuzufügen. 

 

Speichern der SHM Benutzerinformationen im gemeinsamen Speicher

Bei Verwendung des SHM-Anbieters (Shared Memory) werden Benutzerinformationen im gemeinsamen Speicher des Webservers gespeichert. Dies ermöglicht einen effizienten und schnellen Zugriff auf Authentifizierungsdaten.

Benutzerinformationen werden in SHM in Form von Datenstrukturen gespeichert, die vom Apache-Webserver verwaltet werden. Diese Datenstruktur enthält Benutzernamen, Passwort-Hashes und andere Informationen im Zusammenhang mit der Authentifizierung.

Sobald der Benutzer authentifiziert ist, validiert der Apache-Webserver die eingegebenen Anmeldeinformationen (Benutzername und Passwort) anhand der im SHM gespeicherten Daten. Wenn die Anmeldeinformationen gültig sind, gewährt der Server Zugriff auf die geschützte Ressource.

Es ist wichtig zu beachten, dass der gemeinsame Speicher des Webservers nicht dauerhaft ist. Dies bedeutet, dass Benutzerinformationen in SHM nur verfügbar sind, während der Webserver läuft. Bei einem Neustart des Webservers gehen die im SHM gespeicherten Daten verloren und Benutzer müssen sich erneut authentifizieren.

Der SHM-Anbieter ist besonders in Multiprozess- oder Multithread-Umgebungen nützlich, da gemeinsam genutzter Speicher eine effiziente Kommunikation zwischen verschiedenen Webserverkomponenten ermöglicht. Für die Nutzung des SHM-Anbieters ist ein entsprechendes Apache-Modul („mod_authn_core“) erforderlich. Stellen Sie sicher, dass Ihr Modul für die Verwendung der Digest-Authentifizierung bei Ihrem SHM-Anbieter konfiguriert ist.

Der SHM-Anbieter wird in der Apache-Konfigurationsdatei durch Angabe von „AuthDigestProvider SHM“ konfiguriert. Dadurch wird der Webserver angewiesen, den SHM-Anbieter zur Authentifizierung zu verwenden und Benutzerinformationen im gemeinsamen Speicher zu speichern.

Beachten Sie, dass SHM-Anbieter nicht für alle Versionen von Apache verfügbar sind. Bitte lesen Sie in der Dokumentation zu Ihrer spezifischen Apache-Version nach, um sicherzustellen, dass Ihr SHM-Anbieter unterstützt wird. 

Abwägung SHM

Leider unterstützt Apache standardmäßig keine SHM-Anbieter zum Speichern von Benutzerinformationen. Gemeinsam genutzter Speicher wird normalerweise für andere Zwecke verwendet, beispielsweise für den Datenaustausch zwischen Apache-Prozessen.

Wenn Sie Benutzerinformationen im gemeinsam genutzten Speicher speichern, um die Digest-Authentifizierung zu verwenden, müssen Sie möglicherweise ein spezielles Modul oder eine Erweiterung eines Drittanbieters installieren, das diese Funktionalität bereitstellt. Solche Module können speziell für eine bestimmte Apache-Version entwickelt werden und sollten entsprechend konfiguriert werden.

Seien Sie vorsichtig, wenn Sie Shared Memory zum Speichern von Benutzerinformationen verwenden. Der gemeinsam genutzte Speicher ist nicht dauerhaft und geht verloren, wenn der Webserver neu gestartet wird. Dies bedeutet, dass sich Benutzer nach einem Neustart erneut authentifizieren müssen.

In den meisten Fällen wird die Speicherung von Benutzerinformationen in einer Datei oder Datenbank empfohlen, da dies eine dauerhafte und zuverlässige Speicherlösung darstellt. Standardmäßig speichert das Apache-Modul „mod_auth_digest“ Benutzerinformationen in der Datenbank über eine mit dem Tool „htdigest“ erstellte Datei oder über „AuthDigestProvider“ mit einem entsprechenden Modul wie „mod_authn_dbd“, um eine Verbindung zur Datenbankunterstützung herzustellen

Wenn Sie spezielle Anforderungen haben oder weitere Hilfe benötigen, lesen Sie bitte die offizielle Apache-Dokumentation oder wenden Sie sich an die Apache-Community oder die Apache-Foren, um herauszufinden, ob es ein bestimmtes Modul oder eine bestimmte Erweiterung gibt, die Shared Memory zur Unterstützung der Speicherung von Benutzerinformationen verwendet.