1 votes

Je ne peux pas refuser l'accès au système de fichiers du serveur avec un DocumentRoot personnalisé dans Apache ?

CentOS 7.1 - Apache 2.4.6

La configuration par défaut contient les éléments suivants :

....
<Directory />
    AllowOverride none
    Require all denied
</Directory>
...
DocumentRoot "/var/www/html"

Si je change le DocumentRoot, j'obtiens :

403 - Vous n'avez pas la permission d'accéder / sur ce serveur.

Après des heures de quadruple vérification de la configuration du répertoire et des permissions du système de fichiers, j'ai essayé de supprimer le bloc ci-dessus... SUCCÈS ! Tout fonctionne.

  • C'est censé se produire ?
  • Est-ce que je fais quelque chose de mal ?
  • Quelles sont les implications en matière de sécurité ?

L'intégralité de mes modifications consiste à remplacer la section par défaut par :

DocumentRoot "/srv/http"
<Directory "/srv/http">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

1voto

Mihai T. Points 46

Apache 2.2 utilise la configuration suivante pour déclarer l'accès à certains répertoires :

Order deny,allow
Deny from all

Apache 2.4 utilise les éléments suivants :

Require all denied

Plus d'informations aquí . Il est assez étrange que vous ayez réussi à le faire fonctionner avec le premier style de configuration, car celui-ci ne fonctionne que sur apache 2.2. Essayez d'exécuter ceci :

httpd -v

Il affichera la version d'apache que vous utilisez et peut-être ça t'aidera à clarifier certaines choses dans ton esprit.

0voto

beanaroo Points 113

Il semble que dans le Directory pour la configuration de l DocumentRoot chemin, accès besoins doit être spécifié comme suit pour qu'il puisse remplacer le déni de niveau supérieur :

Require all granted

Je suppose que j'ai encore beaucoup de lecture à faire... comme d'habitude. Docs Apache :

Le site Allow Deny et Order les directives, fournies par mod_access_compat , sont obsolètes et disparaîtront dans une prochaine version. Vous devez éviter de les utiliser, et d'éviter les tutoriels obsolètes qui recommandent leur utilisation.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X