Acessando um site através de seu endereço IP em vez de hostname

0

Eu gostaria de saber as chances de não poder acessar um site somente através do nome de domínio e negar acesso através de seu endereço IP direto.

Gostaria de chamar a atenção para o seguinte exemplo, no entanto, a questão é relevante para qualquer outro cenário: www.kickass.to website tem os seguintes endereços,

  • 67.212.88.146
  • 67.212.88.10
  • 205.204.64.122
  • 68.71.58.34

Quando usei o acima, recebi uma mensagem chamada "proibido", mas posso facilmente colocar o URL completo e acessar o site.

Eventualmente, qualquer endereço de domínio é convertido para um endereço IP pelo navegador, conforme o meu entendimento. Eu sou um pouco sem noção aqui.

    
por Dina 10.02.2015 / 06:14

2 respostas

4

Resposta curta? A hospedagem virtual baseada em nome permite que os acessos de endereços IP aos servidores da Web sejam tratados de forma diferente dos acessos de nome de host aos mesmos servidores da web. E muitos administradores de sistemas da Web “acabam” os acessos de endereços IP por motivos básicos de segurança. Além disso, as mensagens “Proibidas” normalmente não são enviadas pelo acesso ao endereço IP bloqueado; meu instinto me diz que algum firewall do servidor da web está detectando o acesso ao endereço IP e impedindo que ele pare de funcionar.

Resposta mais longa? Enquanto configurações de host virtual baseadas em nome, como o um usado no Apache permite que vários nomes de host usem o mesmo endereço IP, que - em e de - em si não significa que você obterá um "Proibido" se estiver tentando acessar um servidor por meio do endereço IP bruto. Dito isso, fazer um curl -I para www.kickass.to mostra que o Nginx está sendo usado:

HTTP/1.1 301 Moved Permanently
Server: nginx/1.7.8
Date: Tue, 10 Feb 2015 05:46:59 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: http://kickass.to/

Embora eu me refira à minha experiência com o Apache - que é o servidor da Web mais comumente usado na Internet -, o Nginx está ganhando força e permite comportamentos semelhantes ao Apache, como eu descrevo. Incluindo a possibilidade de usar o ModSecurity. Leia mais para detalhes; os mesmos conceitos básicos se aplicam ao Apache e ao Nginx.

Quando configuro servidores Apache com hosts virtuais baseados em nome, eu faço um esforço muito consciente para criar um “virtual moat” tendo a configuração default Apache - geralmente definida como 000-default no diretório sites-enabled —Deitar todo o acesso não-hostname / específico de IP a uma página HTML literal em branco. A lógica é que muitos softwares maliciosos por aí tentam “hackear” um site, obtendo acesso através do endereço IP. Por quê? Fácil. Muitas configurações do Apache têm uma configuração de página padrão "Funciona!" Nesse endereço. Administradores de sistemas competentes se livrarão dessa página, já que robôs / aranhas que hackam um site procuram especificamente por esse tipo de página “Funciona!” Como uma pista básica que diz: “Ei! Este administrador apenas lançou um servidor em produção sem realmente limpar essas coisas básicas. Vejamos quais exploits podem ser tentados neste servidor. ”Acredite ou não, mas terminar a configuração default do Apache é a maneira mais simples de desencorajar acessos indesejados e tentativas de DDoS.

Mas, como eu disse, um "Proibido" não cheira como um "beco sem saída" intencional para mim. Quem sabe, talvez o administrador de sistemas tenha “finalizado” a configuração default do Apache em um diretório completamente morto ou inexistente. Mas sempre que vejo “Proibido” em um caso como este, isso me faz acreditar que o administrador tem o ModSecurity instalado.

O ModSecurity é um módulo de nível de serviço da Web Apache que atua como um firewall entre um servidor da Web e tráfego indesejado. Ele usa "conjuntos de regras" para verificar o tráfego em tempo real - conforme a solicitação HTTP real é feita - e se um padrão de acesso / comportamento for verificado como "ruim", isso causará um "Proibido" para esse acesso. E, no caso de endereços IP brutos, uma das principais regras do conjunto de regras principais do ModSecurity (CRS) é “Proibido” qualquer acesso / a endereços IP RAW.

Então, na minha humilde opinião, você está vendo um servidor web usando ModSecurity - ou uma ferramenta de firewall semelhante - reagir a uma solicitação de IP bruta simplesmente bloqueando a solicitação inteiramente como "Proibido".

Além disso, você está afirmando que www.kickass.to tem vários endereços IP. Isso me diz que algum tipo de balanceamento de carga está acontecendo quando solicitações são feitas para www.kickass.to . Qualquer pessoa que configure um cluster com balanceamento de carga definitivamente se certificará de que seus nós filhos sejam bastante resistentes e inacessíveis a solicitações indesejadas. Então, exatamente o que eu descrevo acima, mas mais ainda.

    
por 10.02.2015 / 06:49
4

Geralmente, os servidores da web são configurados para usar hospedagem virtual baseada em nome , onde o conteúdo é servido depende do nome de domínio que foi solicitado no cabeçalho do host .

Hospedagem virtual baseada em nome é necessária para quase todas as hospedagem compartilhada , bem como para a maioria web applications que usam mais de um nome de domínio em sua operação. Como é usado com tanta frequência, não é incomum que ele seja habilitado mesmo em um servidor da Web que atenda somente solicitações de um único nome de domínio, seja para redirecionamentos sofisticados de nomes de domínio, ou apenas devido a padrões organizacionais e / ou um descuido pelos administradores.

Mais informações:

Essa abordagem foi desenvolvida para permitir que sites da Web de diferentes nomes de domínio sejam hospedados no mesmo servidor da web. Quando você visita um site em um navegador da Web, ele envia um cabeçalho de host com o nome de domínio do URL que está tentando carregar e o servidor envia o conteúdo para o site apropriado.

por exemplo. o navegador envia:

GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36
Host: www.kickass.to
Accept: */*

respostas do servidor:

HTTP/1.1 301 Moved Permanently
Server: nginx/1.7.8
Date: Tue, 10 Feb 2015 05:50:25 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: http://kickass.to/

<html>

[... snip ...]

(Nesse caso, o servidor acabou de me enviar um redirecionamento para http://kickass.to/ em vez de uma página em http://www.kickass.to/ )

Quando você acessa o servidor usando uma URL com apenas o endereço IP do servidor, o endereço IP será enviado no cabeçalho do host em vez de um nome de domínio.

GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36
Host: 67.212.88.10
Accept: */*

Se o servidor estiver configurado para hospedagem virtual baseada em nome, dependendo dos detalhes da configuração, ele poderá servir a você um site específico que esteja definido como o site padrão para hospedar no endereço IP ou pode fornecer um resposta de erro.

HTTP/1.1 403 Forbidden
Server: nginx/1.7.8

[... snip ...]

    
por 10.02.2015 / 06:25