Como impedir que um terceiro faça proxy em um site HTTPS?

1

Estou hospedando algum tipo de interface de gerenciamento de banco de dados no link que implementei Segurança de transporte restrito HTTP para impedir que as pessoas acessem este site via HTTP, porque não quero que meus usuários enviem suas credenciais de login por um canal não criptografado.

Agora, um usuário registrou o domínio www.pld.example com um provedor de nome de domínio que oferece algum tipo de "serviço de redirecionamento de nome de domínio" que efetivamente realiza um ataque man-in-the-middle em meu site. Ele procura o site original e o torna disponível no link Alguns usuários estão - por conveniência - usando a URL mais curta e não sabem que estão agora enviando suas senhas em texto simples para terceiros.

Quais são os mecanismos que posso usar para evitar esse tipo de ataque MITM?

    
por hedgie 29.03.2018 / 13:21

2 respostas

1

Veja uma série de estratégias que você pode considerar:

1. A partir dos registros do servidor, descubra por qual meio o proxy está fazendo o download do seu site e seletivamente mude as respostas para ele por exemplo. se ele estiver usando um provedor específico, bloqueie ou altere as respostas para seu espaço de endereço

2. Pode ser completamente suficiente apenas notificar informalmente o provedor do proxy não deixe de entrar em contato diretamente com o departamento de abuso, não com os vendedores. se o IP do seu servidor estiver registrado por empresa diferente do registrador de domínio, tome o caminho de menor resistência - primeiro pergunte ao provedor com sede em um país mais próximo ao seu.

3. Dependendo do TLD, será em qualquer lugar, de trivial a impossível descobrir o operador do site e / ou obter uma ordem judicial que force seu provedor de DNS a eliminá-los

4. Denuncie-os para a Navegação segura do Google Use a opção Report Phishing Page . Isto irá - se os nossos senhores do Google assim o decidirem - criar um grande aviso para os utilizadores do proxy E irá remover o site dos resultados da pesquisa. A maioria dos usuários da maioria dos navegadores está usando as listas de bloqueio de navegação segura do google, então isso afetará não muito a todos, mas perto de.

    
por 29.03.2018 / 18:44
0

Nós usamos a combinação desses cabeçalhos (config for nginx):

    # Before enabling Strict-Transport-Security headers please read into this topic first.
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

Tenha cuidado, dependendo da sua aplicação, eles podem quebrar seu website. Leia aqui antes de implementá-los link

EDIT: Como apontado, estes não impedem a proxíade por meio de domínio estrangeiro. Você também deve definir a etapa adicional de atender solicitações que só estão sendo endereçadas a você por meio do nome de host correto:

Altere seu nginx.conf padrão para algo como:

server {
    listen       443 ssl http2;
    server_name  _;

### Set dummy certs 
    ssl on;
    ssl_certificate /usr/local/etc/ssl/dummy.crt;
    ssl_certificate_key /usr/local/etc/ssl/dummy.key;
    ssl_dhparam /usr/local/etc/ssl/dhparam.pem;

### Block all, allow only vhosts on this server
    location / {
        limit_req      zone=one burst=10 nodelay;
        deny all;
        return  418 "I'm a teapot"; # Just for the fun of it
    }
 }

 ### Virtual Hosting
   include /usr/local/etc/nginx/conf.d/*.conf;
}

Agora em /usr/local/etc/nginx/conf.d/ (caminhos do FreeBSD, ajuste a sua distro) crie um domain_name.conf que contenha configurações para seu site atual e defina o server_name aceito para ele:

server_name  www.example.com example.com;

Isso combinado com os cabeçalhos de proteção interromperá a maioria dos ataques desse tipo.
No entanto, um idiota realmente esperto pode falsificar o cabeçalho do Host em seu proxy reverso também. O único método realmente em funcionamento era link , mas esse padrão é sendo depreciado como foi meio cozido e muito perigoso para implementar.

    
por 29.03.2018 / 13:33