Apache 2 без аутентификации от ips

У меня есть развертывание с сервером apache 2.2.22 за лаком. Если IP-адрес X-Forwarded-For (клиент) - 1.2.3.4, то пусть он смотрит страницу без аутентификации.

Проблема в том, что это небезопасно, клиент может просто установить заголовок X-Forwareded-For и обойти аутентификацию.

Я пробовал модуль Apache RPAF:

<IfModule rpaf_module>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 varniship
</IfModule>

Который теоретически должен ограничивать X-Forwarded -Для запросов, поступающих от прокси, я даже не уверен, что мне нужен этот модуль в этом случае, поскольку прокси всегда будет помещать за собой IP-адрес клиента X-Forwarded-For. Таким образом, запрос будет выглядеть так:

X-Forwarded-For: <varniship>, clientip

Где клиентская подсказка снова может управляться клиентом. Есть ли лучший способ сделать это?

2
задан 2 February 2016 в 12:21
2 ответа

В качестве альтернативы вы можете сделать это также на стороне Varnish vcl:

    sub vcl_recv {
        # whitelist ip 10.10.10.10
        if (req.http.X-Forwarded-For ~ "^10\.10\.10\.10") {
           # where dXNlcjpwYXNzd29yZA== is user:password in base64
           set req.http.Authorization = "Basic dXNlcjpwYXNzd29yZA==";
        }
    }

Может быть расширен другими проверками, исходящими из заголовка запроса.

0
ответ дан 3 December 2019 в 14:31
-
    <Directory "/var/www/html/docroot">
    AuthName "Restricted Access"
    AuthType Basic
    AuthUserFile /usr/local/.htpasswd
    Order allow,deny
    Allow from x.x.x.x
    Require  valid-user
    Options Indexes FollowSymLinks
    satisfy any
    </Directory>

Это работает как очарование для меня, хотя я на 2.4.10 и не могу проверить старую.

0
ответ дан 3 December 2019 в 14:31

Теги

Похожие вопросы