Omogočanje zaščite spletnih imenikov UserDir in gesla na spletnem strežniku Zentyal - 10. del


V več uporabniškem okolju, kot je Zentyal PDC Active Directory , ki izvaja spletni strežnik, vam je lahko v veliko pomoč, če želite vsakemu uporabniku dovoliti, da ima svojo osebno spletno stran, ki jo lahko gosti na svojih domovih.

Modul spletni strežnik na Zentyal 3.4 lahko nastavite tako, da aktivira Javni HTML uporabnikov in s pomočjo nekaterih skriptov Linux BASH za dinamično ustvarjanje nekaterih vsebin za spletno stran in posredovanje potrebnih informacij uporabnikom o njihovi prijavi na domeno.

Tudi Apache že dolgo dobavlja še eno funkcijo, povezano z varnostno dostavljeno vsebino, in sicer zaščito spletnega imenika z geslom v enem najpreprostejših obrazcev samo z uporabo datoteke .htaccess in ustvarite seznam uporabnikov, potrebnih za dostop do virov, celo zaščitite spletno vsebino pred pajki iskalnikov.

  1. Zentyal Guide za namestitev
  2. Namestite spletne storitve (Apache) v strežnik Zentyal

1. korak: Omogočite uporabniški javni HTML

1. Prijavite se v svoje orodje za skrbništvo nad spletom Zentyal PDC s pomočjo https:/zentyal_ip .

2. Pojdite na Modul spletnega strežnika -> potrdite Omogoči uporabnika enakovrednega javnega_html , pritisnite gumb Spremeni in nato Shrani spremembe .

3. Odprite brskalnik in v URL vnesete naslednje: http://mydomain.com/~vaše_korisniško ime .

Kot lahko vidite, Apache nima dovoljenj za dostop po uporabniškem imeniku ali indeksiranem domu uporabnika. Da bi to popravili, moramo www-data omogočiti izvedbo v imeniku /home/$USER in pod potjo uporabnikov ustvariti mapo public_html .

Za malo poenostavitev bomo napisali skript Linux Bash , ki ustvari imenik public_html in omogoči pravilna dovoljenja za vse uporabnike sistema, samodejno ustvari html spletne strani za vse uporabniki z veljavnim domačim imenikom in drugim skriptom, tokrat s skriptom Windows Bach , ki ga bo povezal z GPO privzete domene, tako da bo vsak uporabnik po prijavi pozvan s svojo osebno spletno stranjo z poverilnicami domene od < b> Windows sistemi, povezani v domeno.

4. Za dokončanje te naloge se prijavite v strežnik Zentyal s pomočjo Putty s skrbniškim računom Zentyal, ustvarjenim ob namestitvi sistema, in ustvarite prvi skript s svojim najljubšim urejevalnikom besedil. Poimenovali ga bomo " user-dir-create ".

# nano user-dir-creation

5. Dodajte spodnjo vsebino v skript » user-dir-create «.

#!/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. Shranite skript in ga naredite izvršljiv, nato pa ga zaženite s korenskimi pravicami.

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

7. Ponovno odprite brskalnik in ga usmerite na isti URL kot zgoraj (glejte točko 3).

Ustvarjen je bil imenik public_html in ustvarjena je bila datoteka HTML za vse uporabnike, tako da so zdaj vsi lastniki prilagojene spletne strani (to je le preprosta preizkusna stran, vendar si predstavljajte, kaj lahko naredite z nekaterimi PHP , skripti MySQL ali CGI ).

8. Če je Strežnik Zentyal 3.4 tudi Primarni krmilnik domene , lahko poskrbimo, da se vsaka uporabniška spletna stran samodejno odpre v brskalniku, ko se uporabniki prijavijo z gostiteljev sistema Windows v domeno.

Če želite omogočiti prijavo v sistem Windows , ki je povezan z domeno, in z uporabo Beležnice z naslednjo vsebino ustvarite paketni skript sistema Windows z imenom « public_html.bat «.

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

Opomba: Upoštevajte posebni znak „ ~ “ in % uporabniško ime% , ki je spremenljivka okolja Windows.

9. Odprite Orodje za spletno skrbništvo Zentyal (https:/zentyal_IP) in pojdite na Domena -> Predmeti pravilnika skupine -> Privzeto Domain Policy -> GPO Editor .

10. Kliknite Uredi , pomaknite se navzdol do Konfiguracija uporabnika -> Dodaj nov prijavni skript , poiščite pot, kjer je bil ustvarjen vaš skript, in pritisnite < b> DODAJ .

Čestitamo ! Zdaj, ko se naslednjič prijavite v domeno, bo privzeti brskalnik odprl prilagojeno spletno stran, povezano z vašim uporabniškim imenom.

2. korak: Spletni imenik zaščitite z geslom

Ta del zahteva naprednejšo konfiguracijo modula Apache, ki je ni mogoče doseči iz spletnega vmesnika Zentyal , temveč samo iz ukazne vrstice in spreminjanja nekatere predloge modula Zentyal Apache .

Če poskusite neposredno spremeniti konfiguracijo Apacheja, kot bi to običajno storili na strežniku Linux, bodo izgubljene vse konfiguracije, ker Zentyal uporablja nekatere obrazce predlog, ki po ponovnem zagonu ali ponovnem zagonu storitve prepišejo vsako konfiguracijsko datoteko storitve.

Če želite dejansko zaščititi spletno mapo z avtentikacijo Apache in trajno spremeniti spremembe, je treba spremeniti direktivo AllowOverride in naložiti in omogočiti modul auth_basic na spletnem strežniku Apache .

11. Če želite omogočiti vse potrebne konfiguracije, se prijavite prek ukazne vrstice z uporabo Putty na Zentyal Server z root računom.

12. Omogočite » auth_basic « z izdajo naslednjega ukaza in nato znova zaženite spletno storitev zentyal.

# a2enmod auth_basic
# service zentyal webserver restart

13. Ko je modul naložen, je čas za spremembo predloge Zentyal Apache Vhost , ki se nahaja na poti »/usr/share/zentyal/stubs/webserver/« in nastavitev » AllowOverride “.

Prva varnostna kopija datoteke vhost.mas .

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

Nato odprite urejevalnik, pomaknite se spodaj po datoteki in v vrstici z navodili »Dovoli preglasitev «, kot na posnetku zaslona, zamenjajte » Brez « z » Vse «. .

14. Ko končate z urejanjem, znova zaženite modul Zentyal Webserver , da uporabite nove spremembe.

# service zentyal webserver restart

Glavni cilj direktive AllowOverride je dinamično spreminjanje konfiguracij Apache iz drugih datotek, drugačnih od tistih, ki se uporabljajo v korenu Apache (/etc/apache2/), na osnovi posamezne poti. Datoteka .htacess .

15. Zdaj je čas, da ustvarite nekaj uporabnikov, ki lahko brskajo po imeniku spletne vsebine, zaščitenem z geslom. Najprej moramo ustvariti imenik, ki je nameščen zunaj poddomene, kjer bo gostovala in zaščitena datoteka .htpasswd .

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

16. Zdaj je čas, da ustvarite datoteko .htpasswd in z ukazom htpasswd dodate nekaj uporabnikov. Ko ustvarite prvega uporabnika, dodajte\" –c " (ustvari) ukazno stikalo, da ustvarite datoteko in dodate uporabnika, nato vnesite in potrdite uporabniško geslo.

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

17. Zdaj je datoteka .htpasswd ustvarjena in šifrirana s pomočjo solnega algoritma MD5 in lahko dodate toliko uporabnikov, ki so potrebni za dostop do vsebine spletne mape.

18. Zdaj pa predpostavimo, da želite zaščititi URL http://www.mydomain.com pred drugimi uporabniki kot tistimi, ustvarjenimi v datoteki htpasswd za dostop do poddomene. Če želite omogočiti to vedenje, na sistemski poti www.mydomain.com ustvarite datoteko .htaccess in dodajte naslednjo vsebino.

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

Prepričajte se tudi, da je datoteka .htacces zaščitena z besedo.

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

Čestitamo ! Zdaj ste uspešno zaščiteni z geslom na spletni strani www.mydomain.com in uporabniki bodo pozvani, da vnesejo svoje poverilnice za dostop do vsebine spletnega mesta.

Če želite zaščititi tudi druge domene ali poddomene, ustvarjene v strežniku, z že ustvarjenimi poverilnicami, samo kopirajte datoteko .htaccess na pot poddomene Apache in se prepričajte, da www-data ima dostop za branje.

S pomočjo Apache Web Direcory Password Protect lahko Zentyal Weberver ponaredite z dodatno varnostno plastjo, da izpostavite občutljive podatke, objavljene na vaših domenah, vendar upoštevajte, da ta metoda ščiti samo imenike, datoteke in gesla pa se ne prenašajo v brskalniku jasno, zato poskusite uporabiti protokol HTTPS za zaščito uporabniških poverilnic pred prestrezanjem.