Уже включенный x-forwarded для в haproxy, но бэкпорте mod_remoteip 2.2 все еще не работает

Я использую haproxy для передачи запросов к Apache 2.2, связанному modsecurity 2.7 и OWASP_CRS. Я включил вставку заголовка X-Forwarded-For в haproxy config:

defaults:
option forwardfor except 127.0.0.1 header X-Forwarded-For

В mod_audit.log реальный IP-адрес показывают в заголовке X-Forwarded:

--06f84712-B--
GET /item/820 HTTP/1.1
Host: myownsite.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
From: googlebot(at)googlebot.com
Accept-Encoding: gzip,deflate
User-Agent: ......
X-Forwarded-For: 66.249.35.164
Connection: close

но в error_log файл, всем журналам все еще зарегистрировали мой IP сервера вместо реального клиентского IP:

    [Fri Oct 23 12:55:57 2015] [error] [client mylocalIPAddress] 
ModSecurity: Access denied with code 403 (phase 2). 
Pattern match "<(a|abbr|acronym|address|applet|area|audioscope|b|base|basefront|bdo|bgsound|big|blackface|blink|blockquote|body|bq|br|button|caption|center|cite|code|col|colgroup|comment|dd|del|dfn|dir|div|dl|dt|em|embed|fieldset|fn|font|form|frame|frameset|h1|head|h ..." at ARGS:type. 
[file "/etc/httpd/crs-tecmint/owasp-modsecurity-crs/base_rules/modsecurity_crs_41_xss_attacks.conf"] [line "301"] [id "973300"] [rev "2"] [msg "Possible XSS Attack Detected - HTML Tag Handler"] [data "Matched Data: <div> found within ARGS:page_type: <div>"] [ver "OWASP_CRS/2.2.9"] [maturity "8"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/XSS"] [tag "WASCTC/WASC-8"] [tag "WASCTC/WASC-22"] [tag "OWASP_TOP_10/A2"] [tag "OWASP_AppSensor/IE1"] [tag "PCI/6.5.1"] [hostname "myownsite"] [uri "/item/31"] [unique_id "Vim93dj1xSwAAFZ0AKoAAAAB"]

Я включил mod_remoteip-httpd22 модуль, но дюйм/с никаких настоящих клиентов не был зарегистрирован error_log файл. Кто-либо может сказать мне, если существует что-то пропавшие без вести?

Вот конфигурация для mod_remoteip

LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1
0
задан 23 October 2015 в 08:07
1 ответ

Я решил проблему после нескольких часов попыток понять, как эти вещи работают.

В конфигурации haproxy я обнаружил, что IP-адрес из backend apache не соответствует настройке mod_remote_ip.

backend apache2

    *****
                    // think of this ip as my real server ip
    server apache2 214.4.334.1:3001 weight 1 maxconn 1024 check

    *****

Вместо этого я должен использовать 127.0.0.1 в качестве IP-адреса:

backend apache2

    *****

    server apache2 127.0.0.1:3001 weight 1 maxconn 1024 check

    *****

Когда Haproxy перенаправляет запрос в Apache, mod_remote_ip проверяет, является ли входящий IP-адрес прокси-сервером 127.0.0.1 . Если это так, он будет использовать IP-адрес в X-forwarded для вместо файла error_log .

[error] [client myrealIP] ModSecurity: Access denied with code 403
0
ответ дан 24 November 2019 в 07:46

Теги

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