Omogućavanje zaštite UserDir i lozinkom web imenika na Zentyal web serveru - 10. dio


U višekorisničkom okruženju kao što je Zentyal PDC Active Directory pokretanje web servera može biti od velike pomoći, ako želite da omogućite svakom korisniku da ima svoju ličnu web stranicu koja može biti hostovana u njihovim domovima.

Webserver modul na Zentyal 3.4 može se konfigurirati da aktivira Korisnički javni HTML i uz pomoć nekih Linux BASH skripti za dinamičko generiranje nekog sadržaja za web stranicu i prijenos potrebnih informacija korisnicima o njihovoj prijavi na domenu.

Također Apache se dugo vremena isporučuje s još jednom funkcijom koja se odnosi na sigurnosno isporučeni sadržaj, a to je zaštita web imenika lozinkom u jednom od najjednostavnijih oblika samo korištenjem .htaccess datoteke i kreirajte listu korisnika potrebnih za pristup resursima, čak i zaštitite web sadržaj od pretraživača.

Zahtjevi

  1. Zentyal vodič za instalaciju
  2. Instalirajte Web usluge (Apache) u Zentyal Server

Korak 1: Omogućite korisnički javni HTML

1. Prijavite se na svoj Zentyal PDC Web Admin Tool koristeći https://zentyal_ip.

2. Idite na Web Server Module -> označite Omogući ravnopravnog korisnika public_html, pritisnite dugme Promijeni, a zatim Sačuvaj promjene .

3. Otvorite pretraživač i unesite u URL upisan sljedeće: http://mydomain.com/~your_username.

Kao što vidite, Apache nema dozvole za pristup po korisničkom direktoriju ili kući indeksa korisnika. Da ispravimo ovo ponašanje, moramo obezbijediti www-data dozvole za izvršavanje na /home/$USER direktoriju i kreirati public_html folder ispod putanje korisnika.

Da bismo malo pojednostavili stvari, napisat ćemo Linux Bash skriptu koja kreira public_html direktorij i omogućava ispravne dozvole svim korisnicima sistema, automatski generira html web stranice za sve korisnici sa važećim početnim direktorijumom i drugom skriptom, ovoga puta Windows Bach skriptom, koja će ga povezati sa GPO zadane domene tako da će svaki korisnik biti upitan sa svojom ličnom web stranicom nakon prijave s akreditivima domene sa < b>Windows sistemi spojeni u domenu.

4. Da biste dovršili ovaj zadatak, prijavite se na Zentyal Server koristeći Putty sa svojim Zentyal administrativnim nalogom kreiranim prilikom instalacije sistema i kreirajte prvu skriptu koristeći svoj omiljeni uređivač teksta. Nazvat ćemo ga „user-dir-creation“.

nano user-dir-creation

5. Dodajte sadržaj ispod na “user-dir-creation” skriptu.

#!/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. Sačuvajte skriptu i učinite je izvršnom, a zatim je pokrenite sa root privilegijama.

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

7. Ponovo otvorite pretraživač i usmjerite ga na isti URL kao gore (vidi tačku 3).

Direktorij public_html je kreiran i html datoteka je generirana za sve korisnike tako da sada svi posjeduju personaliziranu web stranicu (Ovo je samo jednostavna test stranica, ali zamislite šta možete učiniti sa nekim PHP-om , MySQL ili CGI skripte).

8. Ako je Zentyal 3.4 Server također Primarni kontroler domene, možemo učiniti da se web stranica po korisniku automatski otvara u pretraživaču kada se korisnici prijave sa Windows hostova koji se pridruže domeni.

Da biste ga omogućili, prijavite se na Windows sistem spojen na domenu i kreirajte Windows skupnu skriptu pod nazivom “public_html.bat” koristeći Notepad sa sljedećim sadržajem.

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

Napomena: Obratite pažnju na specijalni znak “~” i %username% koji je varijabla Windows okruženja.

9. Otvorite Zentyal Web Administration Tool (https://zentyal_IP) i idite na Domain -> Group Policy Objects -> Default Politika domene -> GPO Editor.

10. Kliknite na Uredi, skrolujte do Konfiguracija korisnika –> Dodaj novu skriptu za prijavu, pretražite putanju na kojoj je kreirana vaša skripta i pritisnite < b>DODAJ.

Čestitamo! Sada kada se sljedeći put prijavite na domenu, vaš zadani pretraživač će otvoriti personaliziranu web stranicu koja se odnosi na vaše korisničko ime.

Korak 2: Zaštitite web imenik lozinkom

Ovaj dio zahtijeva napredniju konfiguraciju na Apache modulu što se ne može postići putem Zentyal Web Interface, već samo iz komandne linije i modificiranjem nekog Zentyal Apache modula šablona.

Ako pokušate direktno izmijeniti Apache konfiguraciju kao što biste inače radili na Linux serveru, sve napravljene konfiguracije će biti izgubljene jer Zentyal koristi neke obrasce obrazaca koji prepisuju svaku konfiguracijsku datoteku usluge nakon ponovnog pokretanja ili ponovnog pokretanja usluge.

Da biste stvarno zaštitili web folder koristeći Apache autentifikaciju i učinili promjene trajnim, direktiva “AllowOverride” mora biti modificirana i modul “auth_basic” mora biti učitan i omogućen na Apache web serveru .

11. Za omogućavanje svih konfiguracija potrebna je prva prijava preko komandne linije koristeći Putty na Zentyal serveru sa root nalogom.

12. Omogućite “auth_basic” izdavanjem sljedeće naredbe, a zatim ponovo pokrenite zentyal web servis.

a2enmod auth_basic
service zentyal webserver restart

13. Nakon što se modul učita, vrijeme je za izmjenu Zentyal Apache Vhost šablona koji se nalazi na “/usr/share/zentyal/stubs/webserver/” putanje i postavljanje “AllowOverride“.

Prva sigurnosna kopija datoteke vhost.mas.

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

Zatim otvorite uređivač, idite na dno datoteke i zamijenite “Ništa” sa “Sve” u liniji direktive “Dozvoli nadjačavanje” kao na snimku ekrana .

14. Nakon što završite sa uređivanjem, ponovo pokrenite Zentyal Webserver modul da biste primijenili nove promjene.

service zentyal webserver restart

Glavni cilj AllowOverride direktive je da dinamički mijenja Apache konfiguracije iz drugih datoteka koje se razlikuju od onih koje se koriste u korijenskom Apache-u (/etc/apache2/) na osnovu putanje koristeći .htacess fajl.

15. Sada je vrijeme da kreirate neke korisnike kojima je dozvoljeno pregledavanje direktorija web sadržaja zaštićenih lozinkom. Prvo trebamo kreirati direktorij smješten izvan putanje poddomena gdje će .htpasswd datoteka biti smještena i zaštićena.

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

16. Sada je vrijeme da kreirate .htpasswd datoteku i dodate neke korisnike koristeći naredbu htpasswd. Kada se kreira prvi korisnik, dodajte komandu “–c ” (kreiraj) da biste kreirali datoteku i dodali korisnika, a zatim unesite i potvrdite korisničku lozinku.

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

17. Sada je datoteka .htpasswd kreirana i šifrirana korištenjem MD5 soli algoritma i možete dodati onoliko korisnika koliko je potrebno za pristup sadržaju web foldera koliko je potrebno.

18. Pretpostavimo sada da želite zaštititi http://www.mydomain.com URL od drugih korisnika, a ne onih kreiranih na vašoj htpasswd datoteci za pristup poddomeni. Da biste omogućili ovo ponašanje, kreirajte datoteku .htaccess na www.mydomain.com sistemskoj putanji i dodajte sljedeći sadržaj.

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

Također provjerite je li datoteka .htacces zaštićena čitljivom riječi.

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! Sada ste uspješno zaštitili lozinkom poddomenu www.mydomain.com na vašoj web stranici i od korisnika će biti zatraženo da unesu svoje vjerodajnice za pristup sadržaju web stranice.

Također, ako želite zaštititi druge domene ili poddomene kreirane na vašem serveru sa već kreiranim akreditivima, samo kopirajte datoteku .htaccess na Apache stazi vaše poddomene i provjerite www-data ima pristup za čitanje.

Uz pomoć Apache Web Direcory Password Protect Zentyal Weberver se može falsificirati s nekim dodatnim sigurnosnim slojem za otkrivanje osjetljivih informacija objavljenih na vašim domenama, ali imajte na umu da ova metoda štiti samo direktorije, a ne datoteke i lozinke se prenose u clear by browser pa pokušajte koristiti HTTPS protokol da zaštitite korisničke vjerodajnice od presretanja.