Apache .Protection d'accès au répertoire HTACCESS

Apache .Protection d'accès au répertoire HTACCESS

Lorsque vous exécutez un serveur Web Apache sur un système Linux, il peut y avoir des répertoires auxquels vous ne voulez pas que tout le monde dans le monde puisse accéder. Apache nous donne deux outils différents que les administrateurs de sites Web peuvent utiliser pour protéger un répertoire.

L'un des moyens les plus courants de configurer l'accès restreint à un dossier est via le .fichier htaccess. La réalisation de cette configuration invitera les utilisateurs à un mot de passe chaque fois qu'ils rencontrent l'URL protégée. Mais nous pouvons également configurer la même protection sans .htaccess.

Dans ce guide, nous passerons en revue les instructions étape par étape pour protéger un répertoire sur un serveur Web Apache, via deux méthodes différentes. Suivez-nous pour obtenir la protection de mot de passe configurée sur votre propre site Web.

Dans ce tutoriel, vous apprendrez:

  • Comment protéger un répertoire en utilisant .fichier htaccess
  • Comment protéger un répertoire sans .fichier htaccess
Nous sommes invités à un nom d'utilisateur et à un mot de passe lorsque nous essayons d'accéder au répertoire protégé Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel Serveur Web Apache
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Protéger un répertoire en utilisant .fichier htaccess



Le .Le fichier htaccess est un fichier de configuration utilisé par Apache. Vous pouvez laisser tomber un .Fichier htaccess dans n'importe quel répertoire pour lequel vous souhaitez configurer des paramètres supplémentaires pour. Suivez les étapes ci-dessous pour configurer l'authentification du mot de passe sur un répertoire de serveur Web Apache en utilisant un .fichier htaccess.

  1. Commencez par créer un nom d'utilisateur et un mot de passe que nous utiliserons pour entrer le répertoire protégé. Nous utiliserons l'utilitaire HTPASSWD pour générer ces informations, et le fichier peut être stocké n'importe où sur votre système. Dans cet exemple, nous créerons un utilisateur nommé linuxconfig. Vous serez invité à un nouveau mot de passe deux fois lors de l'exécution de cette commande.
    $ htpasswd -c / home / linuxconfig /.htpasswd linuxconfig 
  2. Avant de pouvoir utiliser notre nouveau compte utilisateur et notre nouveau mot de passe, nous devons configurer Apache pour lire le .fichier htaccess. Par défaut, il ignorera ce fichier. Vous pouvez soit appliquer ce paramètre à l'échelle mondiale en modifiant le fichier de configuration Apache, soit modifier votre hôte virtuel Apache pour appliquer la configuration à un site individuel.
    $ sudo nano / etc / apache2 / sites-disponible / 000-défaut 

    Les lignes que nous devons ajouter sont ci-dessous. Remplacez simplement votre propre répertoire que vous essayez de protéger, à la place de notre exemple.

     Allaiter tout  


  3. Ajouter le paramètre AllyOverride pour que Apache puisse lire .fichier htaccess
  4. Redémarrez Apache pour que ces nouveaux changements prennent effet.
    $ sudo systemctl redémarrer apache2 

    Ou sur les systèmes basés sur RHEL:

    $ sudo systemctl redémarrer httpd 
  5. Ensuite, créez le .Fichier htaccess dans le répertoire que vous souhaitez protéger. Dans cet exemple, nous allons sécuriser le / var / www / html / protégé annuaire.
    $ nano / var / www / html / protégé /.htaccess 
  6. Collez les lignes suivantes dans ce fichier, puis enregistrez vos modifications.
    AuthType Basic Authname "Authentification requis" AuthUserFile "/ Home / LinuxConfig /.htpasswd "Exiger l'utilisateur linuxconfig 

    Alternativement, modifiez la dernière ligne en Exiger un utilisateur valide Si vous prévoyez de configurer plusieurs comptes d'utilisateurs qui accéderont à ce répertoire.

  7. Enfin, la navigation vers le répertoire protégé dans le navigateur devrait nous inviter à un nom d'utilisateur et un mot de passe avant de pouvoir accéder au contenu.
  8. Nous sommes invités à un nom d'utilisateur et à un mot de passe lorsque nous essayons d'accéder au répertoire protégé


Protéger un répertoire sans .fichier htaccess

Nous pouvons sécuriser un répertoire sur notre serveur Web sans avoir besoin d'utiliser un .Fichier htaccess du tout. Vous aurez besoin de l'utilitaire HTPassWD installé sur votre système, qui aurait dû être installé automatiquement lorsque vous avez téléchargé Apache. Suivez les étapes ci-dessous pour voir comment l'utiliser pour créer un répertoire Web protégé par mot de passe.

  1. Commencez par configurer votre fichier hôte virtuel pour utiliser l'authentification pour accéder au répertoire que vous souhaitez protéger. Nous modifions simplement le fichier de configuration par défaut, mais remplaçons le nom du fichier par le nom de votre propre.
    $ sudo nano / etc / apache2 / sites-disponible / 000-défaut.confli 
  2. Placez les lignes suivantes à l'intérieur de votre fichier. Le répertoire que nous essayons de protéger est / var / www / html / secret, mais assurez-vous de modifier ce paramètre pour refléter la direction que vous souhaitez protéger. Notre .htpasswd Le fichier d'authentification est situé dans / home / linuxconfig /.htpasswd, Alors assurez-vous de remplacer également votre propre emplacement pour cela.
     AuthType Basic Authname "Authentification requis" AuthUserFile "/ Home / LinuxConfig /.htpasswd "nécessite un utilisateur valide  
  3. Ajouter des paramètres d'authentification au fichier hôte virtuel Apache
  4. Ensuite, générez le fichier d'authentification en exécutant la commande htpasswd. Encore une fois, remplacez votre propre répertoire et décidez où ce fichier doit être stocké sur votre système. Nous créerons l'authentification pour l'utilisateur linuxconfig dans cet exemple.
    $ htpasswd -c / home / linuxconfig /.htpasswd linuxconfig 


    Vous serez invité à saisir un mot de passe deux fois, puis le fichier sera créé. Votre mot de passe est stocké comme un hachage crypté, que vous pouvez afficher à l'intérieur du fichier.

    $ cat / home / linuxconfig /.htpasswd LinuxConfig: $ APR1 $ lyh8fue2 $ 9en2dqirkbsljb0xrc9cl0 
  5. Redémarrez Apache pour que ces nouveaux changements prennent effet.
    $ sudo systemctl redémarrer apache2 

    Ou sur les systèmes basés sur RHEL:

    $ sudo systemctl redémarrer httpd 
  6. Maintenant, l'accès au répertoire protégé que nous avons configuré plus tôt devrait vous inviter à un nom d'utilisateur et à un mot de passe.
  7. Nous sommes invités à un nom d'utilisateur et à un mot de passe lorsque nous essayons d'accéder au répertoire protégé

Réflexions de clôture

Dans ce guide, nous avons vu comment sécuriser un répertoire de serveur Web en utilisant deux méthodes différentes dans Apache. Apache nous donne des moyens simples et puissants de protéger les répertoires et les fichiers, nous permettant de mettre des fichiers privés sur notre site Web sans se soucier de la mauvaise personne qui y accéde. Que vous choisissiez d'utiliser un .Fichier htaccess ou non, sécuriser un répertoire est une tâche courte qui ne fait que quelques étapes.

Tutoriels Linux connexes:

  • Créer des règles de redirection et de réécriture en .htaccess sur Apache…
  • Configuration OpenLitesPeed HTACCESS
  • Activer .HTACCESS sur Apache 2 Linux Server
  • Comment restreindre l'accès à une ressource à l'aide d'Apache sur Linux
  • Dossier zip dans Linux
  • Comment déplacer le dossier sur Linux
  • Comment vérifier l'utilisation du disque par dossier sur Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 20.04
  • OpenLitespeed vs LiteSpeed