Aktivering av UserDir og passordbeskytt nettkataloger på Zentyal Webserver - Del 10


På et miljø med flere brukere som en Zentyal PDC Active Directory som kjører en webserver kan det være til stor hjelp hvis du vil la hver bruker ha sin personlige nettside som kan hostes i deres eget hjem.

Webserver-modul på Zentyal 3.4 kan konfigureres til å aktivere Users Public HTML og ved hjelp av noen Linux BASH-skript å dynamisk generere noe innhold for nettsiden og overføre brukere nødvendig informasjon om påloggingen til domenet.

Apache leveres også i lang tid med en annen funksjon relatert til sikkerhetslevert innhold, og det er passordbeskytt en nettkatalog i en av de enkleste formene bare ved å bruke .htaccess-filer og lag en liste over brukere som trengs for å få tilgang til ressursene, til og med beskytte nettinnhold fra søkemotorer.

  1. Installasjonsveiledning for Zentyal
  2. Installer webtjenester (Apache) i Zentyal Server

Trinn 1: Aktiver User Public Html

1. Logg på Zentyal PDC Web Admin Tool med https://zentyal_ip.

2. Naviger til Nettservermodul -> merk av for Aktiver peer-bruker public_html, klikk på Endre-knappen og deretter Lagre endringer .

3. Åpne en nettleser og skriv inn URL med følgende: http://mittdomene.com/~ditt_brukernavn.

Som du kan se, har Apache ingen tillatelser for tilgang per brukerkatalog eller indeksbrukers hjem. For å rette opp denne oppførselen må vi gi www-data utføringstillatelser i katalogen /home/$USER og opprette en public_html-mappe under brukerbane.

For å forenkle ting litt skal vi skrive et Linux Bash-skript som oppretter public_html-katalog og aktiverer korrekte tillatelser for alle systembrukere, automatisk genererer html-nettsidene for alle brukere med en gyldig hjemmekatalog og et annet skript, denne gangen et Windows Bach-skript, som vil koble det til standard domene GPO slik at hver bruker blir bedt om sin personlige nettside etter pålogging med domenelegitimasjon fra < b>Windows-systemer koblet til domene.

4. For å fullføre denne oppgaven logg inn på Zentyal Server ved å bruke Putty med Zentyal-administratorkontoen din opprettet ved systeminstallasjon og lag det første skriptet ved å bruke din favoritttekstredigerer. Vi vil kalle den «brukerkatalogopprettelse».

# nano user-dir-creation

5. Legg til innholdet nedenfor i skriptet «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. Lagre skriptet og gjør det kjørbart og kjør det med root-rettigheter.

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

7. Åpne en nettleser igjen og pek den til samme URL som ovenfor ( se punkt 3 ).

public_html-katalogen ble opprettet og en html-fil ble generert for alle brukere, så nå eier de alle en personlig tilpasset nettside (Dette er bare en enkel testside, men forestill deg hva du kan gjøre med PHP , MySQL eller CGI-skript).

8. Hvis Zentyal 3.4 Server også er en Primær domenekontroller, kan vi gjøre at nettsiden per bruker automatisk åpnes i en nettleser når brukere logger på fra Windows-verter som kobles til domene.

For å aktivere det logger du på et Windows-system som er koblet til domenet og oppretter et Windows-batchskript med navnet «public_html.bat» ved å bruke Notepad med følgende innhold.

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

Merk: Vær oppmerksom på spesialtegnet «~» og %username% som er en Windows-miljøvariabel.

9. Åpne Zentyal Web Administration Tool (https://zentyal_IP) og gå til Domene -> Gruppepolicyobjekter -> Standard Domenepolicy -> GPO Editor.

10. Klikk på Rediger, rull ned til Brukerkonfigurasjon –> Legg til nytt påloggingsskript, bla gjennom banen der skriptet ble opprettet og trykk på < b>LEGG TIL.

Gratulerer! Neste gang du logger på domenet, vil standardnettleseren din åpne en personlig nettside relatert til brukernavnet ditt.

Trinn 2: Passordbeskytt nettkatalogen

Denne delen krever mer avansert konfigurasjon på Apache-modulen som ikke kan oppnås fra Zentyal Web Interface, men bare fra kommandolinje og modifisering av en Zentyal Apache-modul-mal.

Hvis du prøver å endre Apache-konfigurasjonen direkte slik du vanligvis ville gjort på en Linux-server, vil alle konfigurasjoner som er gjort, gå tapt fordi Zentyal bruker noen malskjemaer som omskriver hver tjenestekonfigurasjonsfil etter omstart eller omstart av tjenesten.

For faktisk å beskytte en nettmappe ved å bruke Apache-autentisering og gjøre endringer permanente, må «AllowOverride»-direktivet endres og «auth_basic»-modulen må lastes og aktiveres på Apache-nettserveren .

11. For å aktivere alle nødvendige konfigurasjoner må du først logge på via kommandolinjen ved å bruke PuttyZentyal Server med root-konto.

12. Aktiver «auth_basic» ved å utstede følgende kommando og start zentyal webtjeneste på nytt.

# a2enmod auth_basic
# service zentyal webserver restart

13. Etter at modulen er lastet er det på tide å endre Zentyal Apache Vhost-malen som ligger i «/usr/share/zentyal/stubs/webserver/»-banen og oppsett «AllowOverride“.

Første sikkerhetskopi vhost.mas-fil.

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

Åpne deretter et redigeringsprogram, naviger nederst på filen og erstatt «Ingen» med «Alle» på «Tillat overstyring»-direktivlinjen som på skjermbildet .

14. Etter at du er ferdig med å redigere, start Zentyal Webserver-modulen på nytt for å bruke nye endringer.

# service zentyal webserver restart

Hovedmålet med AllowOverride-direktivet er å dynamisk endre Apache-konfigurasjoner fra andre filer enn de som brukes i Apache-roten (/etc/apache2/) på en per-bane-basis ved å bruke .htacess-fil.

15. Nå er det på tide å opprette noen brukere som har lov til å surfe i en nettinnholdskatalog som er passordbeskyttet. Først må vi lage en katalog plassert utenfor underdomenebanen der .htpasswd-filen vil være vert og beskyttet.

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

16. Nå er det på tide å lage .htpasswd-fil og legge til noen brukere ved å bruke kommandoen htpasswd. Når den første brukeren er opprettet, legg til \–c (opprett) kommandobryter for å opprette filen og legge til bruker, skriv inn og bekreft brukerpassordet.

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

17. Nå er .htpasswd-filen opprettet og kryptert ved hjelp av MD5-saltalgoritmen, og du kan legge til så mange brukere som kreves for å få tilgang til nettmappeinnhold som nødvendig.

18. La oss nå anta at du vil beskytte http://www.mydomain.com URL fra andre brukere enn de som er opprettet på htpasswd-filen for å få tilgang til underdomenet. For å aktivere denne virkemåten oppretter du en .htaccess-fil på www.mydomain.com-systembanen og legger til følgende innhold.

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 .htacces-filen er beskyttet med ordlesing.

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

Gratulerer! Du har nå passordbeskyttet underdomenet www.mittdomene.com på nettstedet ditt, og brukere vil bli bedt om å oppgi påloggingsinformasjonen for å få tilgang til innholdet på nettstedet.

Også hvis du ønsker å beskytte andre domener eller underdomener som er opprettet på serveren din med påloggingsinformasjonen som allerede er opprettet, kopierer du bare .htaccess-filen på underdomenets Apache-bane og kontrollerer at www-data har lesetilgang.

Ved hjelp av Apache Web Direcory Password Protect kan Zentyal Weberver forfalskes med et ekstra sikkerhetslag for å eksponere sensitiv informasjon som er lagt ut på domenene dine, men vær oppmerksom på at denne metoden kun beskytter kataloger og ikke filer og passord overføres klar av nettleseren, så prøv å bruke HTTPS-protokollen for å beskytte brukerlegitimasjonen for å bli avlyttet.