Sécurité Apache

   Cet article considère bien sĂ»r que vous avez dĂ©jà installĂ© apache sur votre système et que vous dĂ©sirez restreindre laccès de certains fichiers ou rĂ©pertoires.

   Vous avez plusieurs façons de gĂ©rer la sĂ©curitĂ© dans apache. Vous pouvez le faire : par utilisateur, par fichier ou par rĂ©pertoire. En plus de ces choix, vous pouvez placer les directives dans le fichier httpd.conf (fichier de configuration dapache) ou bien directement dans le rĂ©pertoire qui doit contenir de la sĂ©curitĂ©. Une fois paramĂ©trĂ©, vous obtiendrez le message suivant (voir image ci-dessous).



   La sĂ©curitĂ© par rĂ©pertoire est très simple. CrĂ©ez un fichier .htaccess dans le rĂ©pertoire concernĂ©. Imaginons : /usr/local/web/html/secure. Vous crĂ©erez donc un fichier : /usr/local/web/html/secure/.htaccess qui contiendra les directives suivantes :
   Vous devez ensuite crĂ©er le fichier password. Pour cela, en tant que root, allez dans le rĂ©pertoire /usr/local/web/secure puis tapez : htpasswd -c toto où toto est votre utilisateur. Si vous avez dĂ©jà crĂ©Ă© votre fichier, il vous suffit de le mettre à jour pour dautres utilisateurs par la commande : htpasswd .htpasswd titi. Cest aussi simple que cela. Le fichier .htpasswd contient les mots de passe cryptĂ©s en MD5 comme dans la vieille gĂ©nĂ©ration des unix.

   Une autre façon de procĂ©der serait de mettre les directives dans le httpd.conf plutĂ´t que de crĂ©er un fichier .htaccess dans chaque rĂ©pertoire. Pour cela, Ă©ditez httpd.conf et trouvez les directives et placez la section suivante :
   Vous devez quand mĂŞme crĂ©er ce fichier .htpasswd dans le rĂ©pertoire concernĂ© comme indiquĂ© prĂ©cedemment. Vous pouvez aussi centraliser un seul fichier .htpasswd mais cela aura le dĂ©savantage de permettre laccès à nimporte quel utilisateur rĂ©fĂ©rencĂ© dans ce fichier or il se peut que vous deviez sĂ©parer les accès.

   Noubliez pas que vous devez redĂ©marrer votre serveur apache par la commande : apachectl restart (si votre apache vient des sources sinon, la commande usuelle est : /etc/rc.d/init.d/httpd restart.