Habilitació de directoris web de UserDir i de protecció amb contrasenya al servidor web Zentyal - Part 10


En un entorn d'usuaris múltiples com un Zentyal PDC Active Directory que executa un servidor web pot ser de gran ajuda si voleu permetre que cada usuari tingui la seva pàgina web personal que es pugui allotjar a casa seva.

El mòdul Servidor web a Zentyal 3.4 es pot configurar per activar HTML públic d'usuaris i amb l'ajuda d'alguns scripts Linux BASH per generar dinàmicament contingut per a la pàgina web i transmetre als usuaris la informació necessària sobre el seu inici de sessió al domini.

També Apache s'envia durant molt de temps amb una altra característica relacionada amb el contingut lliurat de seguretat, que és protegir un directori web amb contrasenya en una de les formes més senzilles només amb .htaccess i creeu una llista d'usuaris necessaris per accedir als recursos, fins i tot protegir el contingut web dels rastrejadors dels motors de cerca.

  1. Guia d'instal·lació de Zenyal
  2. Instal·leu els serveis web (Apache) al servidor Zentyal

Pas 1: habiliteu l'usuari HTML públic

1. Inicieu sessió a la vostra eina d'administració web de Zentyal PDC mitjançant https://zentyal_ip.

2. Aneu a Mòdul del servidor web -> marqueu Activa l'usuari igual public_html, premeu el botó Canvia i després Desa els canvis. .

3. Obriu un navegador i introduïu a URL el següent: http://mydomain.com/~your_username.

Com podeu veure, Apache no té permisos per accedir al directori d'usuari o a la casa de l'usuari d'índex. Per corregir aquest comportament hem de proporcionar a www-data permisos d'execució al directori /home/$USER i crear una carpeta public_html sota la ruta d'usuari.

Per simplificar una mica les coses, escriurem un script Linux Bash que crea un directori public_html i permet els permisos correctes a tots els usuaris del sistema, genera automàticament les pàgines web html per a tots. usuaris amb un directori d'inici vàlid i un altre script, aquesta vegada un script de Windows Bach, que l'enllaçarà amb el GPO del domini predeterminat de manera que cada usuari rebrà la seva pàgina web personal després d'iniciar la sessió amb les credencials del domini de < b>Windows sistemes units al domini.

4. Per completar aquesta tasca, inicieu sessió al Servidor Zentyal mitjançant Putty amb el vostre compte administratiu Zentyal creat a la instal·lació del sistema i creeu el primer script amb el vostre editor de text preferit. L'anomenarem user-dir-creation.

# nano user-dir-creation

5. Afegiu el contingut següent a l'script 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. Deseu l'script i feu-lo executable i, a continuació, executeu-lo amb privilegis de root.

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

7. Torna a obrir un navegador i apunta'l al mateix URL que l'anterior (vegeu el punt 3).

Es va crear el directori public_html i es va generar un fitxer html per a tots els usuaris, de manera que ara tots tenen una pàgina web personalitzada (Aquesta és només una pàgina de prova senzilla, però imagineu què podeu fer amb alguns PHP , MySQL o scripts CGI ).

8. Si Zentyal 3.4 Server també és un Controlador de domini principal, podem fer que la pàgina web per usuari s'obri automàticament en un navegador quan els usuaris inicien sessió des dels amfitrions de Windows s'uneixin al domini.

Per habilitar-lo, inicieu la sessió a un sistema Windows unit al domini i creeu un script per lots de Windows anomenat public_html.bat mitjançant el Bloc de notes amb el contingut següent.

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

Nota: tingueu en compte el caràcter especial “~” i %username%, que és una variable d'entorn de Windows.

9. Obriu l'Eina d'administració web de Zentyal (https://zentyal_IP) i aneu a Domini -> Objectes de política de grup -> Per defecte Política de domini -> Editor de GPO.

10. Feu clic a Edita, desplaceu-vos cap avall fins a Configuració de l'usuari –> Afegeix un nou script d'inici de sessió, navegueu pel camí on es va crear el vostre script i premeu < b>AFEGIR.

Felicitats! Ara, la propera vegada que inicieu sessió al domini, el vostre navegador predeterminat obrirà una pàgina web personalitzada relacionada amb el vostre nom d'usuari.

Pas 2: Directori web de protecció amb contrasenya

Aquesta part requereix una configuració més avançada del mòdul Apache, que no es pot aconseguir des de la Interfície web Zentyal, sinó només des de la línia d'ordres i modificant alguna plantilla del mòdul Zentyal Apache.

Si intenteu modificar directament la configuració d'Apache com ho faríeu normalment en un servidor Linux, totes les configuracions fetes es perdran perquè Zentyal utilitza alguns formularis de plantilles que reescriuen els fitxers de configuració de cada servei després de reiniciar o reiniciar el servei.

Per protegir realment una carpeta web mitjançant l'autenticació d'Apache i fer que els canvis siguin permanents, cal modificar la directiva “AllowOverride” i carregar i habilitar el mòdul “auth_basic” al servidor web Apache. .

11. Per habilitar totes les configuracions necessàries, inicieu sessió mitjançant la línia d'ordres mitjançant Putty al Servidor Zentyal amb el compte root.

12. Activeu auth_basic emetent l'ordre següent i, a continuació, reinicieu el servei web zentyal.

# a2enmod auth_basic
# service zentyal webserver restart

13. Després de carregar el mòdul, és hora de modificar la plantilla Zentyal Apache Vhost situada a la ruta “/usr/share/zentyal/stubs/webserver/” i configurar “AllowOverride“.

Primera còpia de seguretat del fitxer vhost.mas.

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

A continuació, obriu un editor, navegueu per la part inferior del fitxer i substituïu Cap per Tot a la línia directiva Permetre la substitució, com a la captura de pantalla. .

14. Quan hàgiu acabat d'editar, reinicieu el mòdul Zentyal Webserver per aplicar nous canvis.

# service zentyal webserver restart

L'objectiu principal de la directiva AllowOverride és alterar dinàmicament les configuracions d'Apache d'altres fitxers diferents dels utilitzats a l'arrel d'Apache (/etc/apache2/) per camí mitjançant Fitxer .htacess.

15. Ara és el moment de crear alguns usuaris que puguin navegar per un directori de contingut web protegit amb contrasenya. Primer hem de crear un directori situat fora del camí del subdomini on s'allotjarà i protegirà el fitxer .htpasswd.

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

16. Ara és el moment de crear el fitxer .htpasswd i afegir alguns usuaris mitjançant l'ordre htpasswd. Quan es creï el primer usuari, afegiu el commutador d'ordre \–c (crear) per crear el fitxer i afegir l'usuari i, a continuació, introduïu i confirmeu la contrasenya d'usuari.

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

17. Ara el fitxer .htpasswd es crea i es xifra amb l'algorisme de sal MD5 i podeu afegir tants usuaris necessaris per accedir al contingut de la carpeta web com sigui necessari.

18. Ara suposem que voleu protegir l'URL http://www.mydomain.com d'altres usuaris després dels creats al vostre fitxer htpasswd per accedir al subdomini. Per activar aquest comportament, creeu un fitxer .htaccess a la ruta del sistema www.mydomain.com i afegiu el contingut següent.

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

Assegureu-vos també que el fitxer .htacces estigui protegit per a lectura de paraules.

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

Felicitats! Ara heu protegit amb contrasenya amb èxit el subdomini www.mydomain.com del vostre lloc web i se'ls demanarà als usuaris que introdueixin les seves credencials per accedir al contingut del lloc web.

A més, si voleu protegir altres dominis o subdominis creats al vostre servidor amb les credencials ja creades, només cal que copieu el fitxer .htaccess a la ruta d'Apache del vostre subdomini i assegureu-vos que www-data té accés de lectura.

Amb l'ajuda de Protecció amb contrasenya del directori web d'Apache, Zentyal Weberver es pot forjar amb una capa de seguretat addicional per exposar la informació confidencial publicada als vostres dominis, però tingueu en compte que aquest mètode només protegeix els directoris i no es transmeten fitxers i contrasenyes. clar pel navegador, així que proveu d'utilitzar el protocol HTTPS per protegir les credencials de l'usuari per ser interceptats.