Activation de l'utilisateur et du mot de passe Protéger les répertoires Web sur Zentyal Webserver - Partie 10
- 1243
- 172
- Maxence Arnaud
Sur un environnement utilisateur multiple comme un Zentyal PDC Active Directory L'exécution d'un serveur Web peut être d'une grande aide, si vous souhaitez permettre à chaque utilisateur d'avoir sa page Web personnelle qui peut être hébergée sur sa propre maison.
Serveur Web module sur Zentyal 3.4 peut être configuré pour activer Utilisateurs publics html Et avec l'aide de certains Bash de Linux Les scripts pour générer dynamiquement un contenu pour la page Web et transmettre les utilisateurs requis des informations sur leur connexion au domaine.
Activer le répertoire Userdir Password ProtectAussi Apache expédié pendant longtemps avec une autre fonctionnalité liée au contenu livré en sécurité et c'est mot de passe protéger un répertoire Web dans l'une des formes les plus simples simplement en utilisant .htaccess fichiers et créer une liste des utilisateurs nécessaires pour accéder aux ressources, même protéger le contenu Web des mancheurs de recherche de moteurs de recherche.
Exigences
- Guide d'installation Zentyal
- Installez les services Web (Apache) dans Zentyal Server
Étape 1: Activer le public HTML public utilisateur
1. Connectez-vous à votre Outil d'administration Web Zentyal PDC en utilisant https: // zentyal_ip.
2. Aller vers Module de serveur Web -> Vérifier Activer l'utilisateur de pairs public_html, faire une frappe Changement bouton alors Sauvegarder changements.
Activer l'utilisateur public HTML3. Ouvrez un navigateur et entrez URL a déposé ce qui suit: http: // mydomain.com / ~ your_username.
Erreur interdite ApacheComme vous pouvez le voir, Apache n'a aucune autorisation pour accéder au répertoire utilisateur ou à la maison de l'utilisateur. Pour corriger ce comportement, nous devons fournir www-data avec des autorisations d'exécution sur / utilisateur à domicile / $ répertoire et créer un public_html dossier sous le chemin des utilisateurs.
Pour simplifier un peu les choses, nous allons écrire un Bash de Linux script qui crée public_html répertoire et permet des autorisations correctes sur tous les utilisateurs du système, automatique génère les pages Web HTML pour tous les utilisateurs avec un répertoire domestique valide et un autre script, cette fois un Windows Bach script, qui le liera à GPO de domaine par défaut afin que chaque utilisateur soit invité avec sa page Web personnelle après la connexion avec des informations d'identification de domaine à partir de les fenêtres systèmes rejoints dans le domaine.
4. Pour terminer cette tâche, connectez-vous à Serveur zentyal en utilisant Mastic avec votre compte administratif Zentyal créé sur l'installation du système et créez le premier script en utilisant votre éditeur de texte préféré. Nous allons le nommer "User-Dir-Creation".
# Nano User-Dir-Creation
5. Ajoutez le contenu ci-dessous sur "User-Dir-Creation" scénario.
#!/ bac / bash pour i dans 'ls / home | grep -v samba | grep -v perdu + trouvé '; faire mkdir / home / $ i / public_html ## rendre le monde lisible et exécutable, afin que www-data puisse y accéder ## chmod -r 755 / home / $ i chgrp -r www-data / home / $ i / public_html / ## Le code suivant devrait être sur une seule ligne ## echo "Bienvenue utilisateur $ i sur 'hostname -f'
"> / home / $ i / public_html / index.HTML ## Liste / Home / $ Autorisations utilisateur et public_html perm facultatif ## echo "…" ls -all / home / $ i echo "…" ls -all / home / $ i / public_html fait;
6. Enregistrez le script et faites-le exécutable, puis exécutez-le avec les privilèges racine.
# chmod + x utilisateur-dir-création # sudo ./ user-di-création
7. Ouvrez à nouveau un navigateur et pointez-le vers le même URL Comme ci-dessus (voir point 3).
Domaine d'accèsLe public_html Le répertoire a été créé et un fichier HTML a été généré pour tous les utilisateurs, alors maintenant ils possèdent tous une page Web personnalisée (ce n'est qu'une page de test simple mais imaginez ce que vous pouvez faire avec certains Php, Mysql ou CGI scripts).
8. Si Zentyal 3.4 serveur est aussi un Contrôleur de domaine principal Nous pouvons créer une page Web par utilisateur pour être automatiquement ouverte dans un navigateur lorsque les utilisateurs se connectent à partir d'hôtes Windows rejoints dans le domaine.
Pour l'activer la connexion à un les fenêtres Système joint au domaine et créez un script de lot Windows nommé "public_html.chauve souris" en utilisant Bloc-notes avec le contenu suivant.
explorateur http: // your_domain.TLD / ~% Nom d'utilisateur%
Note: Veuillez noter le «~”Caractère spécial et %nom d'utilisateur% qui est une variable d'environnement Windows.
Ouvrez automatiquement la page utilisateur9. Ouvrir Outil d'administration Web Zentyal (https: // zentyal_ip) et aller à Domaine -> Objets de politique de groupe -> Politique de domaine par défaut -> Éditeur GPO.
Objets de politique de groupedix. Cliquer sur Modifier, Faites défiler jusqu'à Configuration de l'utilisateur -> Ajouter un nouveau script de connexion, Parcourez le chemin où votre script a été créé et frappé AJOUTER.
Ajouter un nouveau script de connexion Configuration de l'utilisateurToutes nos félicitations! Maintenant, la prochaine fois que vous vous connectez au domaine, votre navigateur par défaut ouvrira une page Web personnalisée liée à votre nom d'utilisateur.
Étape 2: Répertoire Web de protection du mot de passe
Cette pièce nécessite une configuration plus avancée sur le module Apache qui ne peut pas être réalisée Interface Web Zentyal mais seulement à partir de la ligne de commande et en modifiant certains Module Zentyal Apache modèle.
Si vous essayez de modifier directement la configuration d'Apache comme vous le feriez normalement sur un serveur Linux, toutes les configurations effectuées seront perdues car Zentyal utilise certains formulaires de modèles qui réécrivent chaque fichier de configuration de service après redémarrage ou redémarrage du service.
Pour protéger réellement un dossier Web à l'aide de l'authentification Apache et apporter des modifications permanentes le «Autoriser Override«La directive doit être modifiée et«auth_basic»Le module doit être chargé et activé sur Apache Webserver.
11. Pour activer toutes les configurations nécessaires à la connexion FIST via la ligne de commande Mastic sur Serveur zentyal avec racine compte.
12. Activer "auth_basic"En émettant la commande suivante, puis en redémarrez le service Web Zentyal.
# a2enmod auth_basic # Service Zentyalserver redémarrer
13. Une fois le module chargé, il est temps de modifier Zentyal apache vhost modèle situé dans «/ usr / share / zentyal / stubs / webserver /«Chemin et configuration»Autoriser Override".
Première sauvegarde vhost.mas déposer.
# CP / USR / Share / Zentyal / Stubs / Webserver / Vhost.MAS / USR / Share / Zentyal / Stubs / Webserver / Vhost.mas.bak
Ensuite, ouvrez un éditeur, naviguez en bas dans le fichier et remplacez "Aucun" avec "Tous" sur "Autoriser Override”Ligne directive comme dans la capture d'écran.
Activer la protection du mot de passe14. Une fois que vous avez fini de modifier le redémarrage Serveur Web Zentyal module pour appliquer de nouvelles modifications.
# Service Zentyalserver redémarrer
L'objectif principal de Autoriser Override La directive consiste à modifier dynamiquement les configurations Apache à partir d'autres fichiers différents de ceux utilisés dans Apache Root (/ etc / apache2 /) sur une base par chemin .htacess déposer.
15. Il est maintenant temps de créer certains utilisateurs qui sont autorisés à parcourir un répertoire de contenu Web protégé par mot de passe. Nous devons d'abord créer un répertoire placé à l'extérieur du chemin du sous-domaine où .htpasswd Le fichier sera hébergé et protégé.
# mkdir / srv / www / htpass # chmod -r 750 / srv / www / htpass # chgrp -r www-data / srv / www / htpass
16. Maintenant, il est temps de créer .htpasswd fichier et ajouter certains utilisateurs en utilisant htpasswd commande. Lorsque le premier utilisateur est créé, ajoutez "-c”(Créer) Commande commandant pour créer le fichier et ajouter l'utilisateur, puis entrez et confirmez le mot de passe utilisateur.
# htpasswd -c / srv / www / htpass /.htpasswd first_user # htpasswd / srv / www / htpass /.htpasswd second_userCréer un mot de passe utilisateur Créer un mot de passe utilisateur
17. Maintenant le .htpasswd le fichier est créé et crypté en utilisant Md5 algorithme de sel et vous pouvez ajouter autant d'utilisateurs requis pour accéder au contenu du dossier Web selon les besoins.
fichier htpasswd18. Supposons maintenant que vous voulez protéger http: // www.mydomain.com URL des autres utilisateurs puis créés sur votre htpasswd fichier pour accéder au sous-domaine. Pour activer ce comportement, créez un .htaccess déposer www.mydomain.com Chemin du système et ajouter le contenu suivant.
AuthType Basic Authname «Quoi que vous souhaitiez», AuthBasicProvider Fichier AuthUserFile / Path / To /.Fichier htpassd créé exiger l'utilisateur de l'utilisateur de l'utilisateur
Assurez-vous également que .htacces Le fichier est lisible par un mot protégé.
# nano / srv / www / www.mydomain.com /.HTACCESS # CHMOD 750 / SRV / WWW / WWW.mydomain.com /.htaccess # chgrp www-data / srv / www / www.mydomain.com /.htaccess
Toutes nos félicitations! Vous avez maintenant avec succès protégé par mot de passe le www.mydomain.com Le sous-domaine sur votre site Web et les utilisateurs seront invités à saisir leurs informations d'identification pour accéder au contenu du site Web.
Répertoire protégé par mot de passeDe plus, si vous souhaitez protéger d'autres domaines ou sous-domaines créés sur votre serveur avec les informations d'identification créées déjà, copiez simplement le .htaccess fichier sur votre sous-domaine Apache Chemin et assurez-vous www-data a lu l'accès.
Avec l'aide de Apache Web Direcory Motword Protect Zentyal Weberver peut être forgé avec une couche de sécurité supplémentaire sur l'exposition d'informations sensibles publiées sur vos domaines, mais sachez que cette méthode ne protège que les répertoires et non les fichiers et les mots de passe sont transmis dans Clear by Browser, alors essayez d'utiliser le protocole HTTP.
- « Installation du serveur FTP et mappage des répertoires FTP dans Zentyal PDC - Partie 8
- Un aperçu des «variables» de Linux dans le langage de script de coquille - Partie 9 »