Ενεργοποίηση καταλόγων Web UserDir και Password Protect στον διακομιστή Web Zentyal - Μέρος 10


Σε ένα περιβάλλον πολλαπλών χρηστών, όπως μια Zentyal PDC Active Directory η λειτουργία ενός διακομιστή ιστού μπορεί να είναι πολύ χρήσιμη, εάν θέλετε να επιτρέψετε σε κάθε χρήστη να έχει την προσωπική του ιστοσελίδα που μπορεί να φιλοξενηθεί στο σπίτι του.

Η ενότητα Διακομιστής Ιστού στο Zentyal 3.4 μπορεί να ρυθμιστεί ώστε να ενεργοποιεί το Δημόσιο HTML χρηστών και με τη βοήθεια ορισμένων σεναρίων Linux BASH για τη δυναμική δημιουργία κάποιου περιεχομένου για την ιστοσελίδα και τη μετάδοση των απαιτούμενων πληροφοριών των χρηστών σχετικά με τη σύνδεσή τους στον τομέα.

Επίσης, το Apache αποστέλλεται για μεγάλο χρονικό διάστημα με ένα άλλο χαρακτηριστικό που σχετίζεται με το περιεχόμενο που παρέχεται με ασφάλεια και αυτό είναι η προστασία με κωδικό πρόσβασης ενός καταλόγου ιστού σε μία από τις πιο απλές μορφές, χρησιμοποιώντας μόνο .htaccess και δημιουργήστε μια λίστα με τους χρήστες που χρειάζονται για πρόσβαση στους πόρους, ακόμη και για την προστασία του περιεχομένου ιστού από τα προγράμματα ανίχνευσης των μηχανών αναζήτησης.

Απαιτήσεις

  1. Οδηγός εγκατάστασης Zentyal
  2. Εγκαταστήστε υπηρεσίες Web (Apache) στον διακομιστή Zentyal

Βήμα 1: Ενεργοποιήστε το User Public Html

1. Συνδεθείτε στο Εργαλείο διαχείρισης ιστού Zentyal PDC χρησιμοποιώντας το https://zentyal_ip.

2. Μεταβείτε στο Μονάδα διακομιστή Web -> επιλέξτε Ενεργοποίηση ομότιμου χρήστη public_html, πατήστε το κουμπί Αλλαγή και μετά Αποθήκευση αλλαγών .

3. Ανοίξτε ένα πρόγραμμα περιήγησης και εισαγάγετε σε URL που έχει καταχωρηθεί τα ακόλουθα: http://mydomain.com/~your_username.

Όπως μπορείτε να δείτε, ο Apache δεν έχει δικαιώματα πρόσβασης ανά κατάλογο χρήστη ή το σπίτι του χρήστη ευρετηρίου. Για να διορθώσουμε αυτήν τη συμπεριφορά, πρέπει να παρέχουμε www-data με δικαιώματα εκτέλεσης στον κατάλογο /home/$USER και να δημιουργήσουμε έναν φάκελο public_html στη διαδρομή χρηστών.

Για να απλοποιήσουμε λίγο τα πράγματα, θα γράψουμε ένα σενάριο Linux Bash που δημιουργεί τον κατάλογο public_html και επιτρέπει τα σωστά δικαιώματα σε όλους τους χρήστες του συστήματος, δημιουργεί αυτόματα τις ιστοσελίδες html για όλους χρήστες με έγκυρο αρχικό κατάλογο και ένα άλλο σενάριο, αυτή τη φορά ένα σενάριο Windows Bach, που θα το συνδέσει με τον Προεπιλεγμένο τομέα GPO, έτσι ώστε κάθε χρήστης να ενημερώνεται για την προσωπική του ιστοσελίδα μετά τη σύνδεση με διαπιστευτήρια τομέα από < Τα συστήματα b>Windows ενώνονται στον τομέα.

4. Για να ολοκληρώσετε αυτήν την εργασία, συνδεθείτε στον Zentyal Server χρησιμοποιώντας το Putty με τον λογαριασμό διαχειριστή Zentyal που δημιουργήθηκε κατά την εγκατάσταση του συστήματος και δημιουργήστε το πρώτο σενάριο χρησιμοποιώντας το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου. Θα το ονομάσουμε user-dir-creation.

# nano user-dir-creation

5. Προσθέστε το παρακάτω περιεχόμενο στο σενάριο 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. Αποθηκεύστε το σενάριο και κάντε το εκτελέσιμο και στη συνέχεια εκτελέστε το με δικαιώματα root.

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

7. Ανοίξτε ξανά ένα πρόγραμμα περιήγησης και τοποθετήστε το στην ίδια URL όπως παραπάνω (βλ. σημείο 3).

Ο κατάλογος public_html δημιουργήθηκε και δημιουργήθηκε ένα αρχείο html για όλους τους χρήστες, έτσι ώστε τώρα όλοι έχουν μια εξατομικευμένη ιστοσελίδα ( Αυτή είναι απλώς μια απλή δοκιμαστική σελίδα, αλλά φανταστείτε τι μπορείτε να κάνετε με κάποια PHP , MySQL ή CGI σενάρια ).

8. Εάν ο Διακομιστής Zentyal 3.4 είναι επίσης Κύριος ελεγκτής τομέα, μπορούμε να κάνουμε την ιστοσελίδα ανά χρήστη να ανοίγει αυτόματα σε ένα πρόγραμμα περιήγησης όταν οι χρήστες συνδέονται από κεντρικούς υπολογιστές Windows που είναι συνδεδεμένοι στον τομέα.

Για να μπορέσετε να συνδεθείτε σε ένα σύστημα Windows που είναι συνδεδεμένο στον τομέα και να δημιουργήσετε ένα σενάριο δέσμης windows με το όνομα public_html.bat χρησιμοποιώντας το Σημειωματάριο με το ακόλουθο περιεχόμενο.

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

Σημείωση: Σημειώστε τον ειδικό χαρακτήρα ~ και το %username% που είναι ένα περιβάλλον Windows μεταβλητός.

9. Ανοίξτε το Zentyal Web Administration Tool (https://zentyal_IP) και μεταβείτε στο Domain -> Group Policy Objects -> Προεπιλογή Πολιτική τομέα -> Επεξεργαστής GPO.

10. Κάντε κλικ στην επιλογή Επεξεργασία, κάντε κύλιση προς τα κάτω στην επιλογή Διαμόρφωση χρήστη –> Προσθήκη νέου σεναρίου σύνδεσης, Περιηγηθείτε στη διαδρομή όπου δημιουργήθηκε το σενάριό σας και πατήστε < b>ΠΡΟΣΘΗΚΗ.

Συγχαρητήρια! Τώρα την επόμενη φορά που θα συνδεθείτε στον τομέα το προεπιλεγμένο πρόγραμμα περιήγησής σας θα ανοίξει μια εξατομικευμένη ιστοσελίδα που σχετίζεται με το όνομα χρήστη σας.

Βήμα 2: Κατάλογος Web Protect Password

Αυτό το τμήμα απαιτεί πιο προηγμένες ρυθμίσεις παραμέτρων στη λειτουργική μονάδα Apache, η οποία δεν μπορεί να επιτευχθεί από τη Διασύνδεση Ιστού Zentyal αλλά μόνο από τη γραμμή εντολών και την τροποποίηση κάποιου προτύπου μονάδας Apache Zentyal.

Εάν προσπαθήσετε να τροποποιήσετε απευθείας τη διαμόρφωση του Apache όπως θα κάνατε συνήθως σε έναν διακομιστή Linux, όλες οι διαμορφώσεις που έγιναν θα χαθούν επειδή η Zentyal χρησιμοποιεί ορισμένες φόρμες προτύπων που ξαναγράφουν κάθε αρχείο διαμόρφωσης υπηρεσίας μετά την επανεκκίνηση ή την επανεκκίνηση της υπηρεσίας.

Για να προστατεύσετε πραγματικά έναν φάκελο Ιστού χρησιμοποιώντας έλεγχο ταυτότητας Apache και να κάνετε τις αλλαγές μόνιμες, η οδηγία AllowOverride πρέπει να τροποποιηθεί και η ενότητα auth_basic πρέπει να φορτωθεί και να ενεργοποιηθεί στον διακομιστή ιστού Apache .

11. Για να ενεργοποιήσετε όλες τις διαμορφώσεις, απαιτείται πρώτα σύνδεση μέσω της γραμμής εντολών χρησιμοποιώντας το Putty στον Zentyal Server με λογαριασμό root.

12. Ενεργοποιήστε το auth_basic εκδίδοντας την ακόλουθη εντολή και, στη συνέχεια, επανεκκινήστε την υπηρεσία web zentyal.

# a2enmod auth_basic
# service zentyal webserver restart

13. Μετά τη φόρτωση της λειτουργικής μονάδας είναι καιρός να τροποποιήσετε το πρότυπο Zentyal Apache Vhost που βρίσκεται στη διαδρομή /usr/share/zentyal/stubs/webserver/ και να ρυθμίσετε το Allow Override“.

Πρώτο αντίγραφο ασφαλείας αρχείου vhost.mas.

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

Στη συνέχεια, ανοίξτε ένα πρόγραμμα επεξεργασίας, πλοηγηθείτε στο κάτω μέρος του αρχείου και αντικαταστήστε το Κανένα με το Όλα στη γραμμή οδηγιών Να επιτρέπεται η παράκαμψη, όπως στο στιγμιότυπο οθόνης .

14. Αφού ολοκληρώσετε την επεξεργασία, επανεκκινήστε τη μονάδα Zentyal Webserver για να εφαρμόσετε νέες αλλαγές.

# service zentyal webserver restart

Ο κύριος στόχος της οδηγίας AllowOverride είναι να τροποποιεί δυναμικά τις διαμορφώσεις του Apache από άλλα αρχεία διαφορετικά από αυτά που χρησιμοποιούνται στη ρίζα του Apache (/etc/apache2/) σε βάση ανά διαδρομή χρησιμοποιώντας αρχείο .htacess.

15. Τώρα ήρθε η ώρα να δημιουργήσετε ορισμένους χρήστες στους οποίους επιτρέπεται η περιήγηση σε έναν κατάλογο περιεχομένου ιστού με προστασία με κωδικό πρόσβασης. Πρώτα πρέπει να δημιουργήσουμε έναν κατάλογο τοποθετημένο έξω από τη διαδρομή υποτομέα όπου θα φιλοξενείται και θα προστατεύεται το αρχείο .htpasswd.

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

16. Τώρα είναι ώρα να δημιουργήσετε το αρχείο .htpasswd και να προσθέσετε μερικούς χρήστες χρησιμοποιώντας την εντολή htpasswd. Όταν δημιουργηθεί ο πρώτος χρήστης, προσθέστε τον διακόπτη εντολής \–c (δημιουργία) για να δημιουργήσετε το αρχείο και να προσθέσετε χρήστη και, στη συνέχεια, εισαγάγετε και επιβεβαιώστε τον κωδικό πρόσβασης χρήστη.

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

17. Τώρα το αρχείο .htpasswd δημιουργείται και κρυπτογραφείται χρησιμοποιώντας τον αλγόριθμο salt MD5 και μπορείτε να προσθέσετε όσους χρήστες χρειάζονται για πρόσβαση στο περιεχόμενο του φακέλου Ιστού, όπως απαιτείται.

18. Τώρα ας υποθέσουμε ότι θέλετε να προστατέψετε τη διεύθυνση URL http://www.mydomain.com από άλλους χρήστες και στη συνέχεια από αυτούς που δημιουργήθηκαν στο αρχείο σας htpasswd για πρόσβαση στον υποτομέα. Για να ενεργοποιήσετε αυτήν τη συμπεριφορά, δημιουργήστε ένα αρχείο .htaccess στη διαδρομή συστήματος www.mydomain.com και προσθέστε το ακόλουθο περιεχόμενο.

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

Βεβαιωθείτε επίσης ότι το αρχείο .htacces προστατεύεται με δυνατότητα ανάγνωσης λέξεων.

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

Συγχαρητήρια! Έχετε πλέον προστατεύσει με κωδικό πρόσβασης τον υποτομέα www.mydomain.com στον ιστότοπό σας και θα ζητηθεί από τους χρήστες να εισαγάγουν τα διαπιστευτήριά τους για πρόσβαση στο περιεχόμενο του ιστότοπου.

Επίσης, εάν θέλετε να προστατεύσετε άλλους τομείς ή υποτομείς που έχουν δημιουργηθεί στον διακομιστή σας με τα διαπιστευτήρια που έχουν ήδη δημιουργηθεί, απλώς αντιγράψτε το αρχείο .htaccess στη διαδρομή του υποτομέα σας Apache και βεβαιωθείτε ότι www-data έχει πρόσβαση ανάγνωσης.

Με τη βοήθεια του Apache Web Direcory Password Protect Το Zentyal Weberver μπορεί να πλαστογραφηθεί με κάποιο επιπλέον επίπεδο ασφαλείας για την έκθεση ευαίσθητων πληροφοριών που δημοσιεύονται στους τομείς σας, αλλά σας ενημερώνουμε ότι αυτή η μέθοδος προστατεύει μόνο τους καταλόγους και δεν μεταδίδονται αρχεία και κωδικοί πρόσβασης σε διαγραφή από το πρόγραμμα περιήγησης, γι' αυτό δοκιμάστε να χρησιμοποιήσετε το πρωτόκολλο HTTPS για να προστατεύσετε τα διαπιστευτήρια χρήστη για υποκλοπή.