Vyhledávání na webu

Povolení webových adresářů UserDir a Password Protect na webovém serveru Zentyal – část 10


V prostředí s více uživateli, jako je Zentyal PDC Active Directory, může být provozování webového serveru velkou pomocí, pokud chcete každému uživateli umožnit mít svou osobní webovou stránku, kterou může hostovat ve svém domově.

Modul Webový server na Zentyal 3.4 lze nakonfigurovat tak, aby aktivoval User Public HTML a pomocí některých skriptů Linux BASH dynamicky generovat nějaký obsah pro webovou stránku a přenášet uživatelům požadované informace o jejich přihlášení do domény.

Apache se také dodává po dlouhou dobu s další funkcí související s obsahem poskytovaným zabezpečením, a to je ochrana webového adresáře heslem v jedné z nejjednodušších forem právě pomocí .htaccess a vytvořit seznam uživatelů potřebných pro přístup ke zdrojům, dokonce i chránit webový obsah před prohledávači vyhledávačů.

Požadavky

  1. Průvodce instalací Zentyal
  2. Nainstalujte webové služby (Apache) na Zentyal Server

Krok 1: Povolte User Public Html

1. Přihlaste se do svého Nástroje pro správu webu Zentyal PDC pomocí https://zentyal_ip.

2. Přejděte na Web Server Module -> zaškrtněte Povolit peer user public_html, stiskněte tlačítko Změnit a poté změny Uložit .

3. Otevřete prohlížeč a do URL zadejte následující: http://mydomain.com/~vaše_uživatelské_jméno.

Jak můžete vidět, Apache nemá žádná oprávnění pro přístup k adresáři uživatele nebo domovskému indexu uživatele. Abychom toto chování napravili, musíme poskytnout www-data oprávnění ke spuštění v adresáři /home/$USER a vytvořit složku public_html pod cestou uživatele.

Abychom to trochu zjednodušili, napíšeme skript Linux Bash, který vytvoří adresář public_html a umožní správná oprávnění všem uživatelům systému, automaticky vygeneruje html webové stránky pro všechny uživatelé s platným domovským adresářem a dalším skriptem, tentokrát skriptem Windows Bach, který jej propojí s výchozím objektem GPO domény, takže každý uživatel bude po přihlášení s přihlašovacími údaji domény z < Systémy b>Windows připojené do domény.

4. Pro dokončení tohoto úkolu se přihlaste na Zentyal Server pomocí Putty se svým administrátorským účtem Zentyal vytvořeným při instalaci systému a vytvořte první skript pomocí svého oblíbeného textového editoru. Pojmenujeme jej „user-dir-creation“.

nano user-dir-creation

5. Přidejte níže uvedený obsah do skriptu „user-dir-creation“.

#!/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. Uložte skript a udělejte jej spustitelný, poté jej spusťte s právy root.

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

7. Znovu otevřete prohlížeč a nasměrujte jej na stejnou URL jako výše (viz bod 3).

Byl vytvořen adresář public_html a pro všechny uživatele byl vygenerován soubor html, takže nyní všichni vlastní personalizovanou webovou stránku (Toto je jen jednoduchá testovací stránka, ale představte si, co můžete dělat s nějakým PHP , MySQL nebo CGI skripty).

8. Pokud je Zentyal 3.4 Server také Primárním řadičem domény, můžeme nastavit, aby se webová stránka pro každého uživatele automaticky otevírala v prohlížeči, když se uživatelé přihlásí z hostitelů Windows připojených k doméně.

Chcete-li jej povolit, přihlaste se k systému Windows připojenému k doméně a vytvořte dávkový skript systému Windows s názvem „public_html.bat“ pomocí Poznámkového bloku s následujícím obsahem.

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

Poznámka: Všimněte si prosím speciálního znaku „~“ a %username%, což je proměnná prostředí Windows.

9. Otevřete Zentyal Web Administration Tool (https://zentyal_IP) a přejděte na Doména -> Objekty zásad skupiny -> Výchozí Zásady domény -> Editor GPO.

10. Klikněte na Upravit, přejděte dolů na Konfigurace uživatele –> Přidat nový přihlašovací skript, vyhledejte cestu, kde byl skript vytvořen, a stiskněte < b>PŘIDAT.

Blahopřejeme! Nyní, když se příště přihlásíte do domény, váš výchozí prohlížeč otevře personalizovanou webovou stránku související s vaším uživatelským jménem.

Krok 2: Webový adresář chráněný heslem

Tato část vyžaduje pokročilejší konfiguraci na modulu Apache, kterou nelze dosáhnout pomocí webového rozhraní Zentyal, ale pouze z příkazového řádku a úpravou nějaké šablony modulu Zentyal Apache.

Pokud se pokusíte přímo upravit konfiguraci Apache, jako byste to normálně dělali na linuxovém serveru, všechny provedené konfigurace budou ztraceny, protože Zentyal používá některé formuláře šablon, které přepisují konfigurační soubory každé služby po restartu nebo restartu služby.

Chcete-li skutečně chránit webovou složku pomocí ověřování Apache a provést změny trvalé, je třeba upravit direktivu „AllowOverride“ a na webovém serveru Apache načíst a povolit modul „auth_basic“. .

11. Pro povolení všech potřebných konfigurací se nejprve přihlaste pomocí příkazového řádku pomocí Putty na Zentyal Server s účtem root.

12. Povolte „auth_basic“ zadáním následujícího příkazu a poté restartujte webovou službu zentyal.

a2enmod auth_basic
service zentyal webserver restart

13. Po načtení modulu je čas upravit šablonu Zentyal Apache Vhost umístěnou v cestě „/usr/share/zentyal/stubs/webserver/“ a nastavit „AllowOverride“.

První záložní soubor vhost.mas.

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

Poté otevřete editor, přejděte v souboru dolů a nahraďte „Žádné“ za „Vše“ na řádku direktivy „Allow Override“ jako na snímku obrazovky .

14. Po dokončení úprav restartujte modul Zentyal Webserver, abyste použili nové změny.

service zentyal webserver restart

Hlavním cílem direktivy AllowOverride je dynamicky měnit konfigurace Apache z jiných souborů odlišných od souborů používaných v kořenovém adresáři Apache (/etc/apache2/) na základě jednotlivých cest pomocí .htacess soubor.

15. Nyní je čas vytvořit uživatele, kteří budou moci procházet adresář webového obsahu chráněný heslem. Nejprve musíme vytvořit adresář umístěný mimo cestu subdomény, kde bude hostován a chráněn soubor .htpasswd.

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

16. Nyní je čas vytvořit soubor .htpasswd a přidat některé uživatele pomocí příkazu htpasswd. Když je vytvořen první uživatel, přidejte příkaz „–c“ (vytvořit) a vytvořte soubor a přidejte uživatele, poté zadejte a potvrďte heslo uživatele.

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

17. Nyní je soubor .htpasswd vytvořen a zašifrován pomocí algoritmu salt MD5 a můžete přidat libovolný počet uživatelů potřebných pro přístup k obsahu webové složky.

18. Nyní předpokládejme, že chcete chránit adresu http://www.mydomain.com před ostatními uživateli než těmi, které jste vytvořili ve vašem souboru htpasswd pro přístup k subdoméně. Chcete-li povolit toto chování, vytvořte soubor .htaccess na systémové cestě www.mydomain.com a přidejte následující obsah.

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

Také se ujistěte, že soubor .htacces je chráněn před čtením slov.

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

Blahopřejeme! Nyní jste úspěšně chránili heslem subdoménu www.mydomain.com na vašem webu a uživatelé budou vyzváni k zadání svých přihlašovacích údajů pro přístup k obsahu webu.

Také pokud chcete chránit další domény nebo subdomény vytvořené na vašem serveru pomocí již vytvořených přihlašovacích údajů, zkopírujte soubor .htaccess na cestu k subdoméně Apache a ujistěte se, že www-data má přístup pro čtení.

S pomocí Apache Web Direcory Password Protect může být Zentyal Weberver vytvořen s nějakou další vrstvou zabezpečení pro odhalení citlivých informací zveřejněných na vašich doménách, ale uvědomte si, že tato metoda chrání pouze adresáře a nikoli soubory a hesla se přenášejí. v prohlížeči, takže zkuste použít protokol HTTPS k ochraně přihlašovacích údajů uživatele před zachycením.