* Hiltjo Posthuma <hil...@codemadness.org> le [09-04-2017 11:42:23 +0200]:
> On Sat, Apr 08, 2017 at 08:48:43PM +0200, Thuban wrote:
> > Hello,
> > I use relayd to deal with HTTP headers as suggested here [1].
> > My problem is that in httpd logs, the origin IP is 127.0.0.1 and thats
> > not very handy to track bruteforce attacks (in example).
> > 
> > Do you have any advice to keep the visitor IP in logs ?
> > 
> > [1] : 
> > https://github.com/reyk/httpd/wiki/Using-relayd-to-add-Cache-Control-headers-to-httpd-traffic
> > -- 
> > :thuban:
> > 
> 
> Hey,
> 
> It's commonly done by adding a X-Forwarded-For header with the origin IP.
> 
> From the relayd.conf(5) man page:
> 
>            http protocol "https" {
>                    match header append "X-Forwarded-For" \
>                            value "$REMOTE_ADDR"
>                    match header append "X-Forwarded-By" \
>                            value "$SERVER_ADDR:$SERVER_PORT"
> 
>                    ... snip snip ...
>            }
> 

That's exactly what I use, but it doesn't seems to work : 

        # snip from httpd logs
        test.yeuxdelibad.net 127.0.0.1 - - [09/Apr/2017:11:47:54 +0200] "GET / 
HTTP/1.0" 200 0



Here is my full relayd.conf.


I tried to use "transparent" keyword but relay fail in this case.


        # cat /etc/relayd.conf
        table <local> { 127.0.0.1 }
        ext_ip = 192.168.1.2

        http protocol "http" {
                tcp { nodelay, sack, socket buffer 65536, backlog 100 }
                match response header set "Cache-Control" value 
"max-age=1814400"
                match request header remove "Proxy"
                match response header set "X-Xss-Protection" value "1; 
mode=block"
                match response header set "Frame-Options" value "SAMEORIGIN"
                match response header set "X-Frame-Options" value "SAMEORIGIN"
                match header append "X-Forwarded-For" \
                        value "$REMOTE_ADDR"
                match header append "X-Forwarded-By" \
                        value "$SERVER_ADDR:$SERVER_PORT"
                return error
        }
        relay "www" {
                listen on $ext_ip port 80
                protocol "http"
                forward to <local> port 8080 check tcp
        }


Regards.

-- 
:thuban:

Reply via email to