Redirecionar usuários conectando com SSLv3 dentro do nginx

4

Eu estava procurando eliminar todo o suporte para o SSLv3 devido ao POODLE, mas descobri que ainda há algumas pessoas vindo de navegadores antigos para os gostos do IE no Windows XP.

Como faço para detectar esses usuários somente SSLv3 de dentro do nginx e redirecioná-los para alguma página auxiliar com mais instruções?

Eu definitivamente preciso sem soluções alternativas para manter esses usuários usando navegadores inseguros.

E eu ficarei especialmente feliz se eu puder fazer o mesmo com todos os navegadores não-SNI: SSLv3 não vem com SNI, então se eu pudesse redirecionar os navegadores não-SNI, isso resolveria o problema SSLv3 também.

    
por sanmai 25.10.2014 / 04:53

2 respostas

4

Deixando de lado a questão de deixar o SSLv3 ativado, você pode simplesmente instruir o nginx a redirecionar com base no uso do protocolo SSLv3:

if ($ssl_protocol = SSLv3) {
  rewrite ^ /poodle-doodle.html;
}

Você pode testar isso a partir de um shell:

$ wget --secure-protocol=SSLv3 -O - $SERVER_URL
# or
$ curl -v -3 $SERVER_URL
    
por 25.10.2014 / 12:47
0

Não sou especialista em configuração nginx, mas deve ser possível ter uma configuração para um nome de host específico e, além disso, uma configuração padrão para todas as outras solicitações. A configuração para o host baseado em nome será usada automaticamente com https se o cliente usar SNI e o nome do host fornecido no SNI corresponder à configuração. Em todos os outros casos, ou seja, hostname diferente, clientes TLS sem SNI e clientes com SSL 3.0 (que não suporta SNI), a configuração padrão é usada para que você possa exibir informações diferentes. Essa configuração padrão pode fazer todos os avisos que você deseja emitir para clientes mais antigos.

Dessa forma, você também pode usar certificados diferentes, como fornecer a todos os clientes SNI um certificado assinado com SHA-256, mas os outros apenas um assinado com SHA-1, porque esses clientes mais antigos podem não suportar o SHA-256 ainda.

Editar: de acordo com os comentários de Xavier Lucas, ele só usará as configurações de certificado da configuração padrão (não-SNI), mas as outras configurações dependem do cabeçalho do Host. Isso significa que não há raiz de documento diferente para clientes não-SNI.

    
por 25.10.2014 / 15:12