Question Qu'est-ce que Apache «Exiger tous les acquis» fait vraiment?


Je viens de mettre à jour mon serveur Apache vers Apache / 2.4.6 qui fonctionne sous Ubuntu 13.04. J'avais un fichier vhost qui avait les éléments suivants:

<Directory "/home/john/development/foobar/web">
    AllowOverride All 
</Directory>

Mais quand j'ai couru que j'ai eu un "Interdit. Vous n'avez pas la permission d'accéder /"

Après avoir fait un peu de recherche sur Google, j'ai découvert que pour remettre mon site en activité, je devais ajouter la ligne suivante "Exiger tous les droits acquis" afin que mon vhost ressemble à ceci:

<Directory "/home/john/development/foobar/web">
    AllowOverride All 
    Require all granted
</Directory>

Je veux savoir si cela est "sûr" et ne pose aucun problème de sécurité. J'ai lu sur Apache page que "cela imite la fonctionnalité précédemment fournie par les directives" Autoriser de tout "et" Refuser de tout ". Ce fournisseur peut prendre l'un des deux arguments" accordés "ou" refusés ". Les exemples suivants accordent ou refusent accès à toutes les demandes. "

Mais il n'a pas précisé s'il s'agissait d'un problème de sécurité ou pourquoi nous devions le faire alors que par le passé, ce n'était pas nécessaire.


81
2017-10-29 21:51


origine


La documentation relative à la mise à niveau explique en détail les modifications apportées au contrôle d'accès. httpd.apache.org/docs/2.4/upgrading.html - John Magnolia


Réponses:


La configuration du contrôle d'accès a changé dans la version 2.4 et les anciennes configurations ne sont pas compatibles sans certaines modifications. Voir ici.

Si votre ancienne config était Allow from all (aucune adresse IP bloquée pour accéder au service), puis Require all granted est le nouvel équivalent fonctionnel.


81
2017-10-30 02:31



Sans parler de la vieille méthode, elle était terriblement déroutante et aurait dû être remplacée depuis longtemps par quelque chose de plus sensé. - Michael Hampton♦
Pour un changement aussi important, je m'attendrais à une sorte de support pour migrer automatiquement les fichiers de configuration ou au moins afficher tous les points nécessitant un changement. - Wolfgang Fahl
Ce serait bien de voir une démonstration de travail de Require all denied . - Kraang Prime
Je ne pense pas que cela équivaut à Allow from all. Vous devez "fusionner" Require all granted avec d'autres existants Require règles. Dans mon cas un existant Require valid-user a été ignoré lors de la conversion aveugle de la configuration comme il est recommandé partout. C'était la pire chose qui puisse arriver ... - rudimeier
Ce serait bien d'avoir une réponse appropriée à la question du PO. "Autoriser de tous les équivalents" n'est pas très satisfaisant. - Sharcoux


Je sais que c'est un ancien post, mais je pense que cela peut aider davantage avec un exemple fonctionnel que j'utilise toujours!

Dans Apache 2.2, ce serait comme:

    <Location />
       Order deny, allow
       allow from all
    </Location>
    <Location /adm>
        Order deny, allow
        deny from all
        allow from myniceip
    </Location>
    <Location /disabled>
        Order deny, allow
        deny from all
    </Location>

Dans Apache 2.4, ce serait comme:

   <Location />
       require all granted
    </Location>
   #Note that you dont need to use require all denied
   #to require only a group of ips.. 
    <Location /adm>
        require ip myniceip
    </Location>
    <Location /disabled>
        Require all denied
    </Location>

Sois prudent  lors de l'utilisation de l'authentification htacess, cette nouvelle syntaxe peut en faire des choses mauvaises et inattendues, si tel est votre cas, veuillez lire: https://unix.stackexchange.com/questions/413309/apache-2-4-wants-me-to-decide-require-valid-ip-or-require-valid-user et ça devrait aller!


9
2017-12-08 12:02