Qual é a prática recomendada: HTTPS no nível do serviço da web ou no nível do proxy?

1

Hoje tive que implantar vários aplicativos da web, como Jenkins ou jupyter . Esses aplicativos devem ser veiculados por HTTPS.

Eu queria saber se é melhor configurar o HTTPS em cada aplicativo (porta de escuta, certificados ssl etc.) ou executar a configuração padrão e forçar o HTTPS com um proxy reverso como nginx .

Eu sinto que a segunda solução é mais prática, mas talvez eu esteja perdendo algo do ponto de vista de segurança.

    
por yansal 09.12.2015 / 23:25

2 respostas

2

Depende do seu ambiente de implantação, mas eu diria que "TLS em todas as coisas" é a melhor prática. Você pode usar certificados internos ou autoassinados nos serviços da Web confiáveis por seu proxy e, em seguida, um único certificado "real" no proxy que fala com o mundo.

Se você tem uma rede protegida, em um datacenter protegido, sem possibilidade de bisbilhotar, então fazer HTTPS apenas para o mundo externo e HTTP não criptografado internamente pode estar certo. Observe que esses critérios especificamente excluem qualquer coisa como AWS ou provedores de hospedagem compartilhada nos quais você não tem sua própria infraestrutura de rede protegida dedicada.

Com Vamos criptografar agora em versão beta pública, a instalação do certificado é gratuita, automatizada e fácil. Então, basta fazer o TLS em tudo e redirecionar as chamadas HTTP simples para HTTPS.

    
por 09.12.2015 / 23:50
0

A escolha parece mais segura à primeira vista, mas depende.

Eu preferiria o segundo (veja mais adiante em termos de implicações de segurança), é mais fácil proteger a terminação em um local central e, em segurança, quanto mais complicada é uma solução, mais é provável que algo fique errado.

Advertências

  • você pode ter o proxy na mesma máquina que seus aplicativos; nesse caso, as duas soluções têm a mesma implicação de segurança.

  • Diferentes máquinas, digamos que fe1 é o proxy e be1 é onde os aplicativos residem. Neste caso, você pode escolher confiar no fe1 - > be1 link ou não, e se você optar por não confiar nesse link, você pode usar certs emitidos pela CA autônomos ou da empresa, assim você não precisa pagar pelos certificados e decidir a duração e a confiança com base em suas políticas internas.

Eu usaria a terminação SSL / TLS no proxy normalmente.

    
por 09.12.2015 / 23:50