Aktivéiert UserDir a Passwuert Schutz Web Verzeechnes op Zentyal Webserver - Deel 10


Op engem Multiple User Ëmfeld wéi e Zentyal PDC Active Directory, deen e Webserver leeft, kann eng grouss Hëllef sinn, wann Dir all Benotzer erlaabt hir perséinlech Websäit ze hunn, déi op hiren eegenen Haiser gehost ginn.

Webserver Modul op Zentyal 3.4 kann konfiguréiert ginn fir User Public HTML ze aktivéieren a mat der Hëllef vun e puer Linux BASH Skripte fir dynamesch e puer Inhalter fir d'Websäit ze generéieren an d'Benotzer erfuerderlech Informatioun iwwer hir Login op d'Domain ze vermëttelen.

Och Apache verschéckt fir eng laang Zäit mat enger anerer Feature am Zesummenhang mat Sécherheet geliwwert Inhalt an dat ass Passwuert schützen e Web Verzeechnes an enger vun den einfachsten Formen just andeems Dir benotzt .htaccessDateien a erstellt eng Lëscht vu Benotzer déi néideg sinn fir Zougang zu de Ressourcen ze kréien, souguer Webinhalt vu Sichmotoren Crawler ze schützen.

  1. Zentyal Installatiounsguide
  2. Installéiere Webservicer (Apache) am Zentyal Server

Schrëtt 1: Aktivéiert User Public HTML

1. Mellt Iech bei Ärem Zentyal PDC Web Admin Tool mat https://zentyal_ip un.

2. Navigéiert op Webservermodul -> kontrolléiert Peer Benotzer public_html aktivéieren, dréckt op Änneren Knäppchen dann Späicheren Ännerungen .

3. Öffnen e Browser a gitt an URL déi folgend aginn: http://mydomain.com/~your_username.

Wéi Dir kënnt gesinn Apache huet keng Permissiounen fir Zougang zu pro Benotzerverzeechnes oder Index Benotzer Heem. Fir dëst Verhalen ze korrigéieren, musse mir www-data Ausféierungsrechter am /home/$USER Verzeechnes ubidden an en public_html Dossier ënner de Benotzerwee erstellen.

Fir d'Saachen e bëssen ze vereinfachen wäerte mir e Linux Bash Skript schreiwen deen den public_html Verzeechnes erstellt an déi korrekt Permissiounen op all System Benotzer erlaabt, automatesch generéiert d'html Websäite fir all Benotzer mat engem gültege Heemverzeichnis an engem anere Skript, dës Kéier e Windows Bach Skript, deen et mam Default Domain GPO verbënnt, sou datt all Benotzer mat senger perséinlecher Websäit no Login mat Domain Umeldungsinformatioune vun < b>Windows Systemer an d'Domain ugeschloss.

4. Fir dës Aufgab ofzeschléissen Login op Zentyal Server benotzt Putty mat Ärem Zentyal Administratiounskonto, deen op der Systeminstallatioun erstallt gouf an erstellt den éischte Skript mat Ärem Liiblingstexteditor. Mir wäerten et user-dir-creation nennen.

# nano user-dir-creation

5. Füügt de Bellow Inhalt op user-dir-creation Skript.

#!/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. Späichert de Skript a maacht et ausführbar a lafe se dann mat Root Privilegien.

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

7. Maacht e Browser erëm op a weist en op déiselwecht URL wéi uewen (kuckt Punkt 3).

Den public_html Verzeichnis gouf erstallt an eng HTML Datei gouf fir all Benotzer generéiert sou datt se elo all eng personaliséiert Websäit besëtzen (Dëst ass just eng einfach Testsäit awer stellt Iech vir wat Dir mat e puer PHP maache kënnt , MySQL oder CGI Scripten).

8. Wann Zentyal 3.4 Server och e Primär Domain Controller ass, kënne mir pro Benotzer Websäit automatesch an engem Browser opmaachen wann d'Benotzer Login vu Windows Hosten an d'Domain bäitrieden.

Fir et z'aktivéieren, loggt Iech op e Windows System, deen an d'Domain ugeschloss ass an erstellt e Windows Batch-Skript mam Numm public_html.bat benotzt Notizblock mat folgenden Inhalt.

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

Notéiert: Notéiert w.e.g. de ~ Spezialzeechen an %username% wat eng Windows Ëmfeldvariabel ass.

9. Öffnen Zentyal Web Administration Tool (https://zentyal_IP) a gitt op Domain -> Group Policy Objects -> Default Domain Policy -> GPO Editor.

10. Klickt op Edit, scroll down to User Configuration –> Add New Logon Script, Browst on path where your script was created and hit < b>ADD.

Félicitatiounen! Elo déi nächst Kéier wann Dir Iech op d'Domain aloggen, wäert Äre Standardbrowser eng personaliséiert Websäit opmaachen, déi mat Ärem Benotzernumm verbonnen ass.

Schrëtt 2: Passwuert Schutz Web Directory

Dësen Deel erfuerdert méi fortgeschratt Konfiguratioun am Apache Modul, deen net vun Zentyal Web Interface erreecht ka ginn, awer nëmmen aus der Kommandozeil an e puer Zentyal Apache Modul Schabloun z'änneren.

Wann Dir probéiert d'Apache Konfiguratioun direkt z'änneren wéi Dir normalerweis op engem Linux Server géift maachen, ginn all déi gemaachte Konfiguratiounen verluer well Zentyal e puer Templateformen benotzt, déi all Service Konfiguratiounsdateien nom Neistart oder Service nei starten.

Fir tatsächlech e Web Ordner mat Apache Authentifikatioun ze schützen an Ännerungen permanent ze maachen, muss d'AllowOverride Direktiv geännert ginn an de auth_basic Modul muss op Apache Webserver gelueden an aktivéiert ginn. .

11. Fir all Konfiguratiounen z'aktivéieren néideg Faust Login duerch Kommando Linn benotzt Putty op Zentyal Server mat root Kont.

12. Aktivéiert auth_basic andeems Dir de folgende Kommando ausginn an dann den Zentyal Webservice nei starten.

# a2enmod auth_basic
# service zentyal webserver restart

13. Nodeems de Modul gelueden ass, ass et Zäit fir Zentyal Apache Vhost Schabloun z'änneren, déi am /usr/share/zentyal/stubs/webserver/ Wee an d'Konfiguratioun AllowOverride“.

Éischt Backupsatellit vhost.mas Datei.

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

Dann öffnen en Editor, navigéiert ënnen op der Datei an ersetzt Keen duerch All op Allow Override Direktivlinn wéi am Screenshot .

14. Nodeems Dir d'Editioun fäerdeg sidd, nei starten Zentyal Webserver Modul fir nei Ännerungen z'applizéieren.

# service zentyal webserver restart

D'Haaptziel vun der AllowOverride Direktiv ass d'Apache Konfiguratioune vun anere Dateien dynamesch z'änneren wéi déi, déi an der Apache Root (/etc/apache2/) op enger Per-Path Basis benotzt ginn .htacess Datei.

15. Elo ass et Zäit e puer Benotzer ze kreéieren déi erlaabt sinn e Webinhaltsverzeechnes Passwuert geschützt ze surfen. Als éischt musse mir e Verzeechnes erstellen, deen ausserhalb vum Subdomain Wee plazéiert ass, wou .htpasswd Datei gehost a geschützt gëtt.

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

16. Elo ass et Zäit fir .htpasswd Datei ze erstellen an e puer Benotzer mat htpasswd Kommando ze addéieren. Wann den éischte Benotzer erstallt gëtt add \–c (erstellen) Kommandoschalter fir d'Datei ze kreéieren an d'Benotzer derbäizefügen, gitt dann d'Benotzerpasswuert a bestätegt.

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

17. Elo gëtt d'Datei .htpasswd erstallt a verschlësselt mat MD5 Salzalgorithmus an Dir kënnt esou vill Benotzer addéieren fir Zougang zum Web-Ordner Inhalt wéi néideg.

18. Loosst eis elo unhuelen datt Dir http://www.mydomain.com URL vun anere Benotzer schütze wëllt, dann déi op Ärem htpasswd-Datei erstallt fir Zougang zum Subdomain ze kréien. Fir dëst Verhalen z'aktivéieren, erstellt eng .htaccess Datei op www.mydomain.com Systemwee a füügt de folgenden Inhalt un.

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

Vergewëssert Iech och datt d'Datei .htacces Wuert liesbar geschützt ass.

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

Félicitatiounen! Dir hutt elo erfollegräich Passwuert-geschützt den www.mydomain.com Ënnerdomain op Ärer Websäit an d'Benotzer ginn opgefuerdert hir Umeldungsinformatioune fir Zougang zu Websäitinhalt aginn.

Och wann Dir aner Domänen oder Ënnerdomaine wëllt schützen, déi op Ärem Server erstallt sinn mat den Umeldungsinformatiounen, déi scho erstallt sinn, kopéiert einfach d'.htaccess Datei op Ärem Subdomain Apache Wee a vergewëssert Iech datt www-data > huet liesen Zougang.

Mat der Hëllef vun Apache Web Direcory Passwuert Protect Zentyal Weberver kann mat e puer extra Sécherheetsschicht geschmied ginn fir sensibel Informatioun op Ären Domainen z'exposéieren, awer beréit datt dës Method nëmme Verzeichnisser schützt an net Dateien a Passwierder iwwerdroe ginn kloer vum Browser, also probéiert den HTTPS Protokoll ze benotzen fir d'Benotzer Umeldungsinformatiounen ze schützen fir ofgefaangen ze ginn.