Um domínio do qual nunca ouvi falar resolve o meu site [duplicado]

23

Eu descobri (via as entradas do cache mod_pagespeed) que um domínio completamente aleatório que eu nunca ouvi falar antes está resolvendo para o meu site.

Se eu visitar este domínio, meu site será carregado. O DNS desse domínio está apontando para o IP do meu servidor.

Agora mesmo na minha configuração vhost eu tenho *: 80, o que eu estou supondo é onde estou errado.

Eu imediatamente alterei isso para example.com:80, em que example.com é meu domínio. Supondo que isso significaria que o servidor só responderia e atenderia às solicitações do meu nome de domínio, em vez de qualquer solicitação na porta 80.

Minha configuração original do vhost;

<VirtualHost *:80>
    DocumentRoot "/var/www/example.com"
    <Directory "/var/www/example.com">
        Order allow,deny
        Allow from all
        Allowoverride all
    </Directory>
</VirtualHost>

Minha nova configuração experimentada;

Listen 80
ServerName example.com

<VirtualHost example.com:80>
    DocumentRoot "/var/www/example.com"
    <Directory "/var/www/example.com">
        Order allow,deny
        Allow from all
        Allowoverride all
    </Directory>
</VirtualHost>

Quando tentei reiniciar o apache com a nova configuração, recebi o seguinte erro:

 * Restarting web server apache2 [Fri Mar 28  08:55:47.821904 2014] [core:error] [pid 5555] (EAI 2)Name or service not known: AH00549: Failed to resolve server name for 152.155.254.241 (check DNS) -- or specify an explicit ServerName
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

Nota: O início de IP 152 no erro acima foi ligeiramente editado, mas o original não era o endereço IP do meu servidor mesmo assim.

Alguém pode oferecer conselhos sobre esse assunto? O domínio (na verdade, é um casal) está resolvendo para o meu site inocentemente apenas o usuário anterior do servidor dedicado, cujo DNS ainda está apontando para ele? Como posso resolver o problema de configuração do host virtual do Apache, e qualquer outro conselho é bem-vindo.

Obrigado.

    
por i-CONICA 28.03.2014 / 10:02

5 respostas

30

Provavelmente, não há nenhum mal em ter esses outros domínios apontando para o seu host, exceto, é claro, que isso aumenta a carga no seu servidor. Se você quiser bloqueá-los, configure novos hosts virtuais para eles:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName example.com
    # example.com configuration
</VirtualHost>
<VirtualHost *:80>
    ServerName baddomain.com
    Deny from all
</VirtualHost>

Em vez de Deny from all , você pode usar Redirect permanent /error.html para mostrar uma mensagem de erro personalizada.

Você pode repetir o segundo VirtualHost para cada domínio que deseja bloquear ou, se houver muitos deles, colocá-lo primeiro para torná-lo o VirtualHost padrão e fazer exceções para seu (s) domínio (s):

NameVirtualHost *:80
<VirtualHost *:80>
    # default VirtualHost
    Deny from all
</VirtualHost>
<VirtualHost *:80>
    ServerName example.com
    # example.com config
</VirtualHost>

Quanto às suas mensagens de erro, parece que o Apache não conseguiu resolver o nome do host example.com quando foi iniciado ou não conseguiu encontrar a diretiva ServerName . Não tenho certeza porque. O segundo erro diz que a porta 80 já está em uso no seu host. Você terminou de desligar todas as instâncias anteriores do Apache?

    
por 28.03.2014 / 10:52
4

O Apache serve como uma espécie de padrão no primeiro domínio que você define.

Se você deseja exibir myowndomain.com com o conteúdo desejado e todos os outros domínios com algum comportamento (talvez redirecionando para a página correspondente em seu domínio preferido), defina o domínio "catchall" primeiro, manipule o tráfego adequadamente (recomendo redirecionando para o seu domínio real) e, em seguida, defina seu domínio real, etc., com VirtualHosts subsequentes.

    
por 28.03.2014 / 15:43
4

Com relação a "onde diabos esse outro nome do meu website veio", qualquer um pode colocar qualquer registro A de que goste em qualquer nome abaixo de um domínio que eles controlam. Você pode investigar um pouco usando whois para descobrir quem registrou o domínio de segundo nível que contém o nome DNS ofensivo.

    
por 29.03.2014 / 03:09
1

Sua melhor aposta aqui, se você realmente quer evitar que domínios aleatórios sejam apontados para o seu site, é provavelmente como Andrew Schulman respondeu e BeowulfNode42 comentou:

Sirva um vhost padrão. Você tem algumas opções aqui, mas para deixar claro, desculpe recomendar uma página de erro simples, já que isso pode tornar a solução de problemas mais tarde.

  • Servindo de graça "Em circunstâncias normais, você não deve ver isso, por favor, entre em contato com blah blah para ajuda." tipo de mensagem. Dessa forma, se algo indesejado acontecer mais tarde (configurações incorretas acontecerem), você terá uma alternativa útil.
  • Redirecionando com 301 para o seu domínio / site real, embora, se surgirem determinados problemas, você possa acabar com um loop de redirecionamento.
  • Ter algum tipo de mini-site que direcione o usuário ao seu site real, talvez explicando que o domínio que ele acessou "não está mais em uso".

Portanto, deixe sua configuração de vhost como era , mas crie um novo vhost para o site, troque os diretórios e continue.

Dado o que você disse sobre assumir recentemente o servidor, eu consideraria ter certeza (a menos que o domínio claramente não seja seu) que isso não é uma sobra esquecida que precisa ser retirada da renovação automática, ou que não faz parte de algum projeto que ainda não está completo ou foi abandonado.

    
por 29.03.2014 / 20:51
0

Você deve sempre colocar o VirtualHost padrão primeiro, como na segunda solução de Andrew Schulman.

Dessa forma, você pode manter todos os pedidos que não são para o seu site em diferentes arquivos de log usando CustomLog e ErrorLog na configuração - você não quer isso em seus registros se estiver usando AWStats ou outro programa para criar suas estatísticas .

Também muitos (mais?) ataques virão no seu IP e não no seu nome de host. Mais uma vez, isso manterá seus logs do site reais limpos e os rejeitará diretamente com a negação de todos.

    
por 28.03.2014 / 12:37