Как настроить ModSecurity для использования заголовка X-Forwarded-For в качестве источника IP-адреса клиента по умолчанию?
У меня есть сервер Apache 2.4.10, расположенный на экземпляре AWS EC2 за ELB. Я установил ModSecurity с OWASP CRS3. В лог-файлах из ModSecurity я вижу, что IP-адрес клиента является IP-адресом ELB вместо реального клиента. В файлах аудита и журналов Apache я вижу, что X-Forwarded-For настроен правильно. У меня включен модуль remoteip.
До сих пор я пробовал подход, аналогичный описанному в этом сообщении:
SecRule REQUEST_HEADERS:User-Agent "^(.*)$" "phase:1,id:'981217',t:none,pass,nolog,t:sha1,t:hexEncode,setvar:tx.ua_hash=%{matched_var}"
SecRule REQUEST_HEADERS:x-forwarded-for "^\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b" "phase:1,id:'981225',t:none,pass,nolog,capture,setvar:tx.real_ip=%{tx.1}"
SecRule &TX:REAL_IP "!@eq 0" "phase:1,id:'981226',t:none,pass,nolog,initcol:global=global,initcol:ip=%{tx.real_ip}_%{tx.ua_hash}"
SecRule &TX:REAL_IP "@eq 0" "phase:1,id:'981218',t:none,pass,nolog,initcol:global=global,initcol:ip=%{remote_addr}_%{tx.ua_hash}"
Я поместил изменения в файл REQUEST-901-INITIALIZATION.conf и закомментировал строки, которые используют только remote_addr.
Есть идеи, где мне искать проблему?