Qual é a maneira mais eficaz de bloquear solicitações HTTP / HTTPS recebidas de um nome de domínio antigo?

3

A possui uma caixa dedicada do CentOS que usa o lighttpd para servir www.newdomain.com . No entanto, o mesmo IP usado para hospedar um domínio antigo www.olddomain.com .

A caixa ainda recebe solicitações de www.olddomain.com .

Qual é a maneira mais eficaz de bloquear essas solicitações?

  • Através de uma regra iptables
  • Por regra no lighttpd
  • Adicionando um hosts.deny
  • Outra opção que não pensou em

Observação : não tenho acesso aos servidores de nomes nem aos registros de domínio de www.olddomain.com

    
por Iraklis 04.03.2013 / 22:34

5 respostas

5

Crie um host virtual para o domínio antigo com um diretório vazio como raiz (que servirá apenas para 404s).

    
por 04.03.2013 / 22:42
3

Use o iptables string module . Embora essa não seja a maneira mais recomendada de fazer isso, talvez seja necessário considerá-la como parece estar interessado em bloqueá-la completamente. O módulo string requer um kernel linux > = 2.6.14

A regra seria assim -

/sbin/iptables -I INPUT -p tcp --dport 80 -m string --algo bm --string "www.olddomain.com" -j DROP

Mas lembre-se, isso pode acabar bloqueando o tráfego legítimo. Você precisa confirmar que seu domínio antigo não aparece em nenhuma das solicitações de URL para todos os sites em seu domínio.

    
por 04.03.2013 / 23:03
1

Com base na sua resposta ao meu comentário, eu usaria o iptables ou um dispositivo de hardware para descartar os pacotes. O uso do iptables salvará seu serviço da Web de ter que processar a solicitação. Usar um dispositivo de hardware diferente, como o firewall, seria uma opção melhor, pois eles são muito mais rápidos e, em seguida, nunca atingem o servidor.

    
por 04.03.2013 / 22:53
1

A melhor maneira seria fazê-lo no nível do firewall (como iptables, com módulos de string), porque você consome menos recursos do que fazendo isso em um serviço de 'servidor web' como lighttpd, nginx, etc

No entanto, sua solicitação original mencionou HTTPS. Isso é um pouco mais complicado porque você está usando os mesmos IPs e só pode descriptografar o cabeçalho https quando você dá o seu lado do certificado (ou seja: você não sabe para qual domínio está, antes de passá-lo para um balanceador de carga ou um servidor web [1]).

Por isso, sugiro que você os capture no nível do servidor da web. Você também pode criar uma resposta básica de 301 (movida permanentemente) e redirecioná-la para outro local. Com o tempo, o mecanismo de pesquisa não enviará mais tráfego para você.

[1] Note que há um caminho, através da extensão SSL do SNI (identificação do nome do servidor), mas isso está ficando um pouco mais complicado.

    
por 05.03.2013 / 00:32
0

Se www.newdomain.com for o padrão, é provável que o servidor da Web o use para responder a solicitações de qualquer domínio.

Configure o seu servidor web para responder apenas a www.newdomain.com e ignorar todo o resto.

(Eu não usei lighttpd há algum tempo, você precisa procurar a sintaxe.)

    
por 04.03.2013 / 23:36