web-dev-qa-db-fra.com

Que signifie VRAIMENT le mot "Requérir tous les droits" sur le répertoire / (racine)? (Apache 2.4 sur CentOS 7

je suis sûr que cette question a l'air vraiment stupide en premier. mais j’ai besoin d’un "second avis" à ce sujet, même si j’ai fait quelques recherches par moi-même mais je n’en suis toujours pas sûr.

Par défaut, la configuration Apache sur CentOS7 et à peu près n'importe quel distro que je connais jusqu'à présent refuse généralement l'accès récursif au système de fichiers ROOT (/) avec une instruction de répertoire comme celle-ci:

Par défaut: /etc/httpd/conf/httpd.conf

<Directory />
    AllowOverride none
    Require all denied 
</Directory>

Généralement suivi par certaines instructions de répertoire (blocs) qui "assouplissent" les autorisations sur les parties du système de fichiers contenant du contenu HTML ou autre contenu de serveur Web.

Maintenant, je dois faire face à "une application Web" de "une société" récemment qui demande/exige la modification suivante du fichier de configuration Apache:

demandé par l'éditeur de logiciel: /etc/httpd/conf/httpd.conf

<Directory />
    AllowOverride none
    Require all granted
</Directory>

Cela a soulevé un drapeau rouge dans mon esprit et j'ai essayé de rechercher cela sur le net. pas encore trouvé quelque chose indiquant clairement ce que cette configuration signifierait effectivement. Mais je suppose, cela donne un accès en lecture à pratiquement tous les fichiers du serveur Linux pouvant être lus par le groupe d'utilisateurs "autre" ou par le compte de service Apache ou le groupe de services. Donc, si j’ai raison, ce serait vraiment une bonne idée de faire quelque chose comme cela sur un serveur Web.

ai-je raison sur cette hypothèse? ou est-ce que je manque quelque chose ici?

merci pour tout conseil/astuce/explication à ce sujet!

cordialement, Axel

2
Axel Werner

C’est un problème que j’ai rencontré plusieurs fois et qui découle d’un changement de terminologie d’Apache 2.2 à Apache 2.4 ( détaillé ici ). Les options de contrôle d'accès qui étaient auparavant traitées avec "Order X, Allow ou Deny from X" peuvent désormais être gérées avec "Require X". L'exemple de cas d'utilisation le plus simple serait ...

Apache 2.2:

Order allow,deny
Allow from all

..on le plus récent Apache équivaudrait à ...

Apache 2.4:

Require all granted

Donc, fondamentalement, oui - vous avez raison de supposer que cette modification a considérablement réduit l'accès à des privilèges d'accès sur votre serveur (toutes choses égales par ailleurs).

1
Matthew Haeck