Solicitações de bloqueio correspondentes ao cabeçalho HTTP_X_FORWARDED_SERVER

1

Alguém configurou um servidor CDN que está direcionando tráfego para meu servidor e configurando o cabeçalho HOST para corresponder a um dos meus domínios reais. Por causa disso, o Apache usa o host virtual para o meu nome de domínio real em vez do nome do host para o domínio CDN.

Por exemplo, o URL é:

http://cdn.example.com/pictures/www.mydomain.com/images/product/6a/229326.jpg

Parece que este CDN é um proxy que está substituindo o cabeçalho HOST. O Apache vê o host como www.mydomain.com em vez de cdn.example.com.

Eu gostaria de bloquear esse tráfego, mas não posso bloquear via host ou IP (porque ele muda). Existe um cabeçalho de host:

HTTP_X_FORWARDED_HOST=cdn.example.com

Possível?

edit: não tem o mod_security instalado

    
por smusumeche 02.06.2015 / 18:30

1 resposta

3

Você pode usar mod_rewrite para realizar essa tarefa:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Host} cdn.example.com
RewriteRule .* - [F]

Como você pode ver, se você testá-lo com o curl, o acesso será negado:

[root@RPX conf]# curl -i -H "X-Forwarded-Host: cdn.example.com" http://localhost:80/algo/
HTTP/1.1 403 Forbidden
Date: Tue, 02 Jun 2015 16:49:37 GMT
Server: Apache
Content-Length: 207
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /algo/
on this server.</p>
</body></html>
    
por 02.06.2015 / 18:50