Bug 14052

Summary: Incorrect parsing X-Forwarded-For header with multiple IPs
Product: [Development] Sisyphus Reporter: Nikolay A. Fetisov <naf@altlinux.org>
Component: apache2-mod_rpafAssignee: Boris Savelev <boris@altlinux.org>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus@altlinux.org
Severity: normal    
Priority: P2 CC: vvk@altlinux.org
Version: unstable   
Hardware: all   
OS: Linux   

Description From 2008-01-17 11:41:42
При прохождении запроса через несколько прокси-серверов в заголовке 
X-Forwarded-For может содержаться не один IP, а их список (с разделителями ',' 
или ';'). Т.е., например, в случае
  client -> Squid1 -> Squid2 -> nginx -> Apache
и использовании в конфигурации nginx конструкции 
  proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
значением X-Forwarded-For будет строка
"Client_IP, Squid1_IP, Squid2_IP"

mod_rpaf (как 0.5-alt3, так и 0.6) устанавливает REMOTE_ADDR равным всей строке 
X-Forwarded-For, что приводит к использованию _первого_ адреса из списка - 
который может быть как из диапазона частных сетей, так и легко 
сфальсифицированным клиентом.
При использовании authz_host_module для ограничения доступа к ресурсам такое 
поведение может привести к нежелательным последствиям.

Следует использовать последний адрес в цепочке, как делает mod_realip 
(http://sysoev.ru/mod_realip/readme.html).
------- Comment #1 From 2008-12-12 11:08:54 -------
Для 0.6-alt1 оно по-прежнему актуально.
------- Comment #2 From 2009-01-10 16:10:41 -------
похоже
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=377190
на это?
Если да, то я патч утяну-)
------- Comment #3 From 2009-01-12 10:58:25 -------
Похоже, что оно.

И заодно, подобное для X-Forwarded-Host делает Debian'овский
040_multiple_hostnames.patch.diff .
------- Comment #4 From 2009-01-12 13:34:08 -------
(In reply to comment #3)
> Похоже, что оно.
> 
приложил вроде. программист из меня не очень надо проверить.

> И заодно, подобное для X-Forwarded-Host делает Debian'овский 040_multiple_hostnames.patch.diff .
> 
этот патч для модуля первого апача.
------- Comment #5 From 2009-04-09 23:51:06 -------
жалоб нет, видимо работает