Website-Suche

Aktivieren von UserDir und Passwortschutz für Webverzeichnisse auf dem Zentyal Webserver – Teil 10


In einer Umgebung mit mehreren Benutzern wie einem Zentyal PDC Active Directory kann die Ausführung eines Webservers eine große Hilfe sein, wenn Sie jedem Benutzer eine persönliche Webseite ermöglichen möchten, die bei sich zu Hause gehostet werden kann.

Das Webserver-Modul auf Zentyal 3.4 kann so konfiguriert werden, dass Users Public HTML und mithilfe einiger Linux BASH-Skripte aktiviert werden um dynamisch einige Inhalte für die Webseite zu generieren und den Benutzern bei der Anmeldung an der Domäne erforderliche Informationen zu übermitteln.

Außerdem wird Apache seit langem mit einer weiteren Funktion im Zusammenhang mit der Sicherheit bereitgestellter Inhalte ausgeliefert, und zwar dem Passwortschutz eines Webverzeichnisses in einer der einfachsten Formen, indem einfach verwendet wird .htaccess-Dateien und erstellen Sie eine Liste der Benutzer, die für den Zugriff auf die Ressourcen erforderlich sind, und schützen Sie sogar Webinhalte vor Suchmaschinen-Crawlern.

Anforderungen

  1. Zentyal-Installationsanleitung
  2. Installieren Sie Web Services (Apache) in Zentyal Server

Schritt 1: Aktivieren Sie öffentliches Benutzer-HTML

1. Melden Sie sich mit https://zentyal_ip bei Ihrem Zentyal PDC Web Admin Tool an.

2. Navigieren Sie zu Webservermodul -> aktivieren Sie Peer-Benutzer public_html aktivieren, klicken Sie auf die Schaltfläche Ändern und dann auf Änderungen speichern .

3. Öffnen Sie einen Browser und geben Sie im Feld URL Folgendes ein: http://meinedomain.com/~Ihr_Benutzername.

Wie Sie sehen, hat Apache keine Berechtigungen für den Zugriff auf das Verzeichnis pro Benutzer oder auf das Home des Indexbenutzers. Um dieses Verhalten zu korrigieren, müssen wir www-data mit Ausführungsberechtigungen für das Verzeichnis /home/$USER versehen und einen Ordner public_html unter dem Benutzerpfad erstellen.

Um die Dinge ein wenig zu vereinfachen, werden wir ein Linux Bash-Skript schreiben, das das Verzeichnis public_html erstellt und die korrekten Berechtigungen für alle Systembenutzer aktiviert und automatisch die HTML-Webseiten für alle generiert Benutzer mit einem gültigen Home-Verzeichnis und einem anderen Skript, dieses Mal ein Windows Bach-Skript, das es mit dem Standarddomänen-GPO verknüpft, sodass jeder Benutzer nach der Anmeldung mit Domänenanmeldeinformationen von < mit seiner persönlichen Webseite aufgefordert wird b>Windows-Systeme sind der Domäne beigetreten.

4. Um diese Aufgabe abzuschließen, melden Sie sich mit Putty mit Ihrem bei der Systeminstallation erstellten Zentyal-Administratorkonto bei Zentyal Server an und erstellen Sie das erste Skript mit Ihrem bevorzugten Texteditor. Wir werden es „user-dir-creation“ nennen.

nano user-dir-creation

5. Fügen Sie den folgenden Inhalt zum Skript „user-dir-creation“ hinzu.

#!/bin/bash

for i in `ls /home | grep -v samba| grep -v lost+found`;  do

        mkdir /home/$i/public_html

## Make world readable and executable, so that www-data can access it  ##

        chmod -R 755 /home/$i

      chgrp -R www-data /home/$i/public_html/

## Next code should be on a single line ##

echo "<html><body style='background-color:#2DC612'><div align='center'><p><H1 style='color:#fff'>Welcome user $i on <a style='color:#fff' href='https://mydomain.com'>`hostname -f` </a></H1></p></div></body></html>" > /home/$i/public_html/index.html

## List /home/$USER permissions and public_html perm optional ##

echo "......................."

ls -all /home/$i

echo "......................"

ls -all /home/$i/public_html

done;

6. Speichern Sie das Skript, machen Sie es ausführbar und führen Sie es dann mit Root-Rechten aus.

chmod +x user-dir-creation
sudo ./user-dir-creation

7. Öffnen Sie erneut einen Browser und verweisen Sie ihn auf dieselbe URL wie oben (siehe Punkt 3).

Das Verzeichnis public_html wurde erstellt und eine HTML-Datei für alle Benutzer generiert, so dass nun alle eine personalisierte Webseite besitzen (Dies ist nur eine einfache Testseite, aber stellen Sie sich vor, was Sie mit etwas PHP machen können , MySQL oder CGI-Skripte).

8. Wenn Zentyal 3.4 Server auch ein primärer Domänencontroller ist, können wir dafür sorgen, dass die Webseite pro Benutzer automatisch in einem Browser geöffnet wird, wenn sich Benutzer von Windows-Hosts aus anmelden, die der Domäne beigetreten sind.

Um es zu aktivieren, melden Sie sich bei einem Windows-System an, das der Domäne beigetreten ist, und erstellen Sie mit Notepad ein Windows-Batchskript mit dem Namen „public_html.bat“ und folgendem Inhalt.

explorer http://your_domain.tld/~%username%

Hinweis: Bitte beachten Sie das Sonderzeichen „~“ und %username%, eine Windows-Umgebungsvariable.

9. Öffnen Sie das Zentyal Web Administration Tool (https://zentyal_IP) und gehen Sie zu Domäne -> Gruppenrichtlinienobjekte -> Standard Domänenrichtlinie -> GPO-Editor.

10. Klicken Sie auf Bearbeiten, scrollen Sie nach unten zu Benutzerkonfiguration –> Neues Anmeldeskript hinzufügen, suchen Sie nach dem Pfad, in dem Ihr Skript erstellt wurde, und klicken Sie auf < b>HINZUFÜGEN.

Herzlichen Glückwunsch! Wenn Sie sich nun das nächste Mal bei der Domain anmelden, öffnet Ihr Standardbrowser eine personalisierte Webseite, die sich auf Ihren Benutzernamen bezieht.

Schritt 2: Webverzeichnis mit Passwort schützen

Dieser Teil erfordert eine erweiterte Konfiguration des Apache-Moduls, die nicht über die Zentyal-Webschnittstelle, sondern nur über die Befehlszeile und die Änderung einiger Zentyal-Apache-Modul-Vorlagen erreicht werden kann.

Wenn Sie versuchen, die Apache-Konfiguration direkt zu ändern, wie Sie es normalerweise auf einem Linux-Server tun würden, gehen alle vorgenommenen Konfigurationen verloren, da Zentyal einige Vorlagenformulare verwendet, die jede Dienstkonfigurationsdatei nach dem Neustart oder Dienstneustart neu schreiben.

Um einen Webordner tatsächlich mithilfe der Apache-Authentifizierung zu schützen und Änderungen dauerhaft zu machen, muss die Direktive „AllowOverride“ geändert und das Modul „auth_basic“ auf dem Apache-Webserver geladen und aktiviert werden .

11. Um alle erforderlichen Konfigurationen zu aktivieren, melden Sie sich zunächst über die Befehlszeile mit Putty auf dem Zentyal-Server mit dem root-Konto an.

12. Aktivieren Sie „auth_basic“, indem Sie den folgenden Befehl ausführen und dann den zentyal-Webdienst neu starten.

a2enmod auth_basic
service zentyal webserver restart

13. Nachdem das Modul geladen wurde, ist es an der Zeit, die Zentyal Apache Vhost-Vorlage im Pfad „/usr/share/zentyal/stubs/webserver/“ zu ändern und „AllowOverride“.

Erste Sicherungsdatei vhost.mas.

cp /usr/share/zentyal/stubs/webserver/vhost.mas  /usr/share/zentyal/stubs/webserver/vhost.mas.bak

Öffnen Sie dann einen Editor, navigieren Sie zum Ende der Datei und ersetzen Sie „None“ durch „All“ in der Anweisungszeile „Allow Override“, wie im Screenshot .

14. Nachdem Sie mit der Bearbeitung fertig sind, starten Sie das Modul Zentyal Webserver neu, um die neuen Änderungen zu übernehmen.

service zentyal webserver restart

Das Hauptziel der AllowOverride-Direktive besteht darin, Apache-Konfigurationen aus anderen Dateien, die nicht im Apache-Root (/etc/apache2/) verwendet werden, dynamisch auf Pfadbasis zu ändern .htacess-Datei.

15. Jetzt ist es an der Zeit, einige Benutzer zu erstellen, die ein passwortgeschütztes Webinhaltsverzeichnis durchsuchen dürfen. Zuerst müssen wir ein Verzeichnis außerhalb des Subdomain-Pfads erstellen, in dem die Datei .htpasswd gehostet und geschützt wird.

mkdir /srv/www/htpass
chmod –R 750 /srv/www/htpass
chgrp –R www-data /srv/www/htpass

16. Jetzt ist es an der Zeit, die Datei .htpasswd zu erstellen und einige Benutzer mit dem Befehl htpasswd hinzuzufügen. Wenn der erste Benutzer erstellt wird, fügen Sie den Befehlsschalter „–c“ (create) hinzu, um die Datei zu erstellen und den Benutzer hinzuzufügen. Geben Sie dann das Benutzerkennwort ein und bestätigen Sie es.

htpasswd –c /srv/www/htpass/.htpasswd first_user
htpasswd /srv/www/htpass/.htpasswd second_user

17. Jetzt wird die Datei .htpasswd mit dem Salt-Algorithmus MD5 erstellt und verschlüsselt, und Sie können so viele Benutzer hinzufügen, wie erforderlich, um auf den Inhalt des Webordners zuzugreifen.

18. Nehmen wir nun an, dass Sie die URL http://www.mydomain.com vor anderen Benutzern schützen möchten, die nicht in Ihrer Datei htpasswd erstellt wurden, um auf die Subdomain zuzugreifen. Um dieses Verhalten zu aktivieren, erstellen Sie eine .htaccess-Datei im Systempfad www.mydomain.com und fügen Sie den folgenden Inhalt hinzu.

AuthType basic
AuthName “What ever message you want”
AuthBasicProvider file
AuthUserFile  /path/to/.htpassd file created
Require user  your_user1 user2 userN

Stellen Sie außerdem sicher, dass die Datei .htacces wortlesbar ist.

nano /srv/www/www.mydomain.com/.htaccess
chmod 750  /srv/www/www.mydomain.com/.htaccess
chgrp www-data /srv/www/www.mydomain.com/.htaccess

Herzlichen Glückwunsch! Sie haben die Subdomain www.meinedomain.com auf Ihrer Website nun erfolgreich passwortgeschützt und Benutzer werden aufgefordert, ihre Anmeldeinformationen für den Zugriff auf Website-Inhalte einzugeben.

Wenn Sie auch andere auf Ihrem Server erstellte Domänen oder Subdomänen mit den bereits erstellten Anmeldeinformationen schützen möchten, kopieren Sie einfach die Datei .htaccess in den Apache-Pfad Ihrer Subdomäne und stellen Sie sicher, dass www-data hat Lesezugriff.

Mit Hilfe von Apache Web Direcory Password Protect kann Zentyal Weberver mit einer zusätzlichen Sicherheitsebene zur Offenlegung vertraulicher Informationen auf Ihren Domains gefälscht werden. Beachten Sie jedoch, dass diese Methode nur Verzeichnisse und keine Dateien schützt und Passwörter übertragen werden Versuchen Sie daher, das HTTPS-Protokoll zu verwenden, um Benutzeranmeldeinformationen vor dem Abfangen zu schützen.