Aktivering af UserDir- og adgangskodebeskyttende webmapper på Zentyal Webserver - Del 10


I et flerbrugermiljø som et Zentyal PDC Active Directory , der kører en webserver, kan det være til stor hjælp, hvis du vil tillade hver bruger at have deres personlige webside, som kan hostes i deres eget hjem.

Webserver -modul på Zentyal 3.4 kan konfigureres til at aktivere Brugere offentlig HTML og ved hjælp af nogle Linux BASH -skripter til dynamisk at generere noget indhold til websiden og overføre brugerne nødvendige oplysninger om deres logon til domæne.

Også Apache sendes i lang tid med en anden funktion relateret til sikkerhedsleveret indhold, og det er adgangskodebeskyttelse af et webkatalog i en af de mest enkle former bare ved hjælp af .htaccess filer og oprette en liste over brugere, der er nødvendige for at få adgang til ressourcerne, endda beskytte webindhold fra søgemaskiner.

  1. Installationsvejledning til Zentyal
  2. Installer webservices (Apache) i Zentyal Server

Trin 1: Aktiver brugerens offentlige HTML

1. Log ind på dit Zentyal PDC Web Admin Tool ved hjælp af https:/zentyal_ip .

2. Naviger til Webserversmodul -> afkryds Aktiver peer-bruger offentlig_html , tryk på knappen Skift og derefter Gem ændringer .

3. Åbn en browser, og indtast URL , der er arkiveret følgende: http://mydomain.com/~dit_brugernavn .

Som du kan se, har Apache ingen tilladelser til at få adgang til hver brugerkatalog eller indeksbrugerens hjem. For at rette op på denne adfærd skal vi give www-data med udførelsestilladelser i /home/$ USER -mappen og oprette en public_html mappe under brugerens sti.

For at forenkle tingene lidt skal vi skrive et Linux Bash script, der opretter public_html -mappe og muliggør korrekte tilladelser for alle systembrugere, automatisk genererer html-websiderne for alle brugere med et gyldigt hjemmekatalog og et andet script, denne gang et Windows Bach script, der vil linke det til standarddomæne GPO, så hver bruger bliver bedt om sin personlige webside efter logon med domæneregistreringsoplysninger fra < b> Windows -systemer tilsluttet domænet.

4. For at fuldføre denne opgave skal du logge ind på Zentyal Server ved hjælp af Putty med din Zentyal-administrative konto oprettet ved systeminstallationen og oprette det første script ved hjælp af din yndlings teksteditor. Vi navngiver det " bruger-dir-oprettelse ".

# nano user-dir-creation

5. Tilføj det underliggende indhold i scriptet " bruger-dir-oprettelse ".

#!/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. Gem scriptet, og gør det eksekverbart, og kør det derefter med root-rettigheder.

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

7. Åbn igen en browser og peg den mod den samme URL som ovenfor (se punkt 3).

public_html -mappen blev oprettet, og der blev genereret en html-fil til alle brugere, så nu ejer de alle en personlig webside (dette er bare en simpel testside, men forestil dig hvad du kan gøre med noget PHP , MySQL eller CGI scripts).

8. Hvis Zentyal 3.4-server også er en primær domænecontroller , kan vi oprette pr. Bruger-webside for automatisk at være åben i en browser, når brugere logger ind fra Windows-værter, der er tilsluttet domænet.

For at aktivere det logger det sig på et Windows -system, der er knyttet til domænet, og opretter et windows batch-script med navnet " public_html.bat " ved hjælp af Notepad med følgende indhold.

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

Bemærk: Vær opmærksom på specialtegnet “ ~ ” og % brugernavn% , som er en Windows-miljøvariabel.

9. Åbn Zentyal Web Administration Tool (https:/zentyal_IP), og gå til Domæne -> Gruppepolitiske objekter -> Standard Domænepolitik -> GPO Editor .

10. Klik på Rediger , rul ned til Brugerkonfiguration -> Tilføj nyt login-script , Gennemse stien, hvor dit script blev oprettet, og tryk på < b> TILFØJ .

Tillykke ! Nu næste gang du logger ind på domænet, åbner din standardbrowser en personlig webside, der er relateret til dit brugernavn.

Trin 2: Adgangskodebeskyttet webkatalog

Denne del kræver mere avanceret konfiguration på Apache-modulet, som ikke kan opnås fra Zentyal Web Interface , men kun fra kommandolinjen og ændring af en skabelon Zentyal Apache-modul .

Hvis du prøver at ændre Apache-konfigurationen direkte, som du normalt ville gøre på en Linux-server, går alle konfigurationer, der er foretaget, tabt, fordi Zentyal bruger nogle skabelonformularer, der omskriver hver servicekonfigurationsfil efter genstart eller genstart af service.

For faktisk at beskytte en webmappe ved hjælp af Apache-godkendelse og gøre ændringer permanente skal " AllowOverride " -direktivet ændres, og " auth_basic " -modulet skal indlæses og aktiveres på Apache webserver .

11. For at aktivere alle konfigurationer, der er nødvendige, skal du logge ind med næve gennem kommandolinjen ved hjælp af Putty Zentyal Server med root -konto.

12. Aktivér “ auth_basic ” ved at udstede følgende kommando og genstart derefter zentyal webservice.

# a2enmod auth_basic
# service zentyal webserver restart

13. Når modulet er indlæst, er det tid til at ændre skabelonen Zentyal Apache Vhost i "/usr/share/zentyal/stubs/webserver/" sti og opsætning " AllowOverride “.

Første backup vhost.mas fil.

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

Åbn derefter en editor, naviger nederst på filen og udskift " Ingen " med " Alle " på " Tillad tilsidesættelse " -direktivlinjen som i skærmbilledet .

14. Når du er færdig med at redigere, genstart Zentyal Webserver -modulet for at anvende nye ændringer.

# service zentyal webserver restart

Hovedmålet med AllowOverride -direktivet er at dynamisk ændre Apache-konfigurationer fra andre filer, der er forskellige fra dem, der bruges i Apache-rod (/etc/apache2/) pr. Sti-basis ved hjælp af .htacess -fil.

15. Nu er det tid til at oprette nogle brugere, der har tilladelse til at gennemse en adgangskodebeskyttet webindholdskatalog. Først skal vi oprette en mappe placeret uden for underdomæne sti, hvor .htpasswd filen hostes og beskyttes.

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

16. Nu er det tid til at oprette en .htpasswd fil og tilføje nogle brugere ved hjælp af htpasswd kommandoen. Når den første bruger oprettes, skal du tilføje kommandokontakten “ –c ” (Opret) for at oprette filen og tilføje bruger og derefter indtaste og bekræfte brugeradgangskode.

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

17. Nu oprettes og krypteres .htpasswd -filen ved hjælp af MD5 saltalgoritme, og du kan tilføje så mange brugere, der kræves for at få adgang til webmappens indhold efter behov.

18. Lad os antage, at du vil beskytte http://www.mydomain.com URL fra andre brugere og derefter dem, der er oprettet på din htpasswd fil for at få adgang til underdomænet. For at aktivere denne adfærd skal du oprette en .htaccess -fil på www.mydomain.com systemstien og tilføje følgende indhold.

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

Sørg også for, at filen .htacces er ordlæsbar.

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

Tillykke ! Du har nu med succes adgangskodebeskyttet underdomænet www.mydomain.com på dit websted, og brugerne bliver bedt om at indtaste deres legitimationsoplysninger for at få adgang til webstedsindhold.

Også hvis du vil beskytte andre domæner eller underdomæner oprettet på din server med de oprettede legitimationsoplysninger, skal du bare kopiere filen .htaccess på din underdomæne Apache-sti og sørge for www-data har læseadgang.

Ved hjælp af Apache Web Direcory Password Protect kan Zentyal Weberver smides med noget ekstra sikkerhedslag ved eksponering af følsomme oplysninger, der er publiceret på dine domæner, men vær opmærksom på, at denne metode kun beskytter mapper og ikke filer og adgangskoder transmitteres i klar af browser, så prøv at bruge HTTPS-protokol for at beskytte brugeroplysninger for at blive opfanget.