1 votes

Contrôle d'accès par liste blanche d'Apache httpd via l'en-tête X-Forwarded-For

J'ai le fichier httpd.conf suivant que j'utilise pour les tests X-Forwarded-For liste blanche d'adresses IP en-tête. Notez que le conf.d est vide :

Include conf.modules.d/*.conf
ServerRoot "/etc/httpd"
Listen 80
Listen 443

User dev
Group dev
ServerAdmin root@localhost
ServerName my-httpd-server

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

<Files ".ht*">
Require all denied
</Files>

<IfModule mime_module>
TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>
MIMEMagicFile conf/magic
</IfModule>

EnableSendfile on

DocumentRoot "/var/www/html"

<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>

<Directory "/var/www/html">
    Options -Indexes +FollowSymLinks
    AllowOverride None
    LogLevel debug
    Order deny,allow
    Deny from all
    #Satisfy any

    SetEnvIf X-Forwarded-For ^171.159.192.10 letmein

    Allow from env=letmein

     Satisfy any
</Directory>

IncludeOptional conf.d/*.conf

Lorsque je cURL pour obtenir la page locale avec ce serveur, cela fonctionne indépendamment de l'en-tête XFF :

curl -H 'X-Forwarded-For: 8.8.8.8' http://localhost

curl http://localhost

Celles-ci fonctionnent, mais affichent le message suivant dans le journal des erreurs (Ces demandes devraient ne fonctionne pas ):

[Mon Dec 17 10:24:53.346021 2018] [access_compat:error] [pid 12] [client 172.17.0.1:49010] AH01797: client denied by server configuration: /var/www/html/
[Mon Dec 17 10:24:53.346614 2018] [authz_core:debug] [pid 12] mod_authz_core.c(809): [client 172.17.0.1:49010] AH01626: authorization result of Require all granted: granted
[Mon Dec 17 10:24:53.347603 2018] [authz_core:debug] [pid 12] mod_authz_core.c(809): [client 172.17.0.1:49010] AH01626: authorization result of <RequireAny>: granted

La demande suivante provenant de l'IP de la liste blanche fonctionne, mais sans le bruit de l'enregistrement :

curl -H 'X-Forwarded-For: 171.159.192.10' http://localhost:8181/

Quelle est la cause des requêtes qui ne renvoient pas la page Web ? Je reçois un message indiquant que la demande devrait être refusée en fonction de la configuration ?

1voto

SteamerJ Points 403

Je pense que vous avez besoin de la satisfy any à changer en satisfy all . Il s'agit d'autoriser un utilisateur s'il remplit les conditions d'authentification OU d'accès. Comme je ne vois pas de type d'authentification, la valeur par défaut est la suivante AuthType none ce qui, je pense, leur permet de passer. satisfy all signifie que l'authentification ET l'accès doivent être satisfaits.

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