AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1085604
Accepted
ITnewbie
ITnewbie
Asked: 2021-12-07 23:40:29 +0800 CST2021-12-07 23:40:29 +0800 CST 2021-12-07 23:40:29 +0800 CST

É possível criptografar o tráfego entre servidores da Web internos usando o Load Balancer [fechado]

  • 772
Fechado . Esta questão precisa de detalhes ou clareza . No momento não está aceitando respostas.

Quer melhorar esta questão? Adicione detalhes e esclareça o problema editando este post .

Fechado há 9 meses .

Melhore esta pergunta

Atualmente, estou usando o Let's Encrypt para obter certificados de servidor para aproximadamente mais de 100 servidores back-end. A cada 90 dias tenho que trabalhar com outras equipes para renovar meus certificados por meio do desafio DNS-01. Eu encontrei uma solução sobre o Load Balancer que parece que eu só tenho que fazer o desafio DNS-01 no load balancer, então todo o tráfego será criptografado:

A terminação SSL criptografa o tráfego externo na frente do balanceador de carga. Se quisermos criptografar o tráfego entre o balanceador de carga e o servidor web interno, podemos ter uma passagem SSL. Mas e o tráfego entre nosso servidor web interno (servidor backend)?

Se eu implementar um balanceador de carga no meio, é possível criptografar o tráfego entre o servidor web interno se decidirmos implementar a terminação SSL ou a passagem SSL?

Eu sou muito novo no Load Balancer, qualquer ajuda é apreciada!

load-balancing ssl https haproxy lets-encrypt
  • 1 1 respostas
  • 178 Views

1 respostas

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2021-12-08T10:41:06+08:002021-12-08T10:41:06+08:00

    Você sempre pode criptografar o tráfego entre quaisquer sistemas que pertençam a um grupo definido. O modo de transporte IPsec é criado especificamente para isso. Não é importante quais funções esses servidores assumem, back-end, front-end, etc., eles são apenas nós IP neste caso. Considere isso como uma solução genérica que torna "sim, é possível" uma resposta válida para todas as perguntas como "é possível criptografar o tráfego entre A e B". No entanto, às vezes não é conveniente e muitas vezes existem outras opções.


    Outras opções dependem para qual finalidade você precisa dessa criptografia. Não responda "apenas por segurança", não existe "apenas por segurança". Existem modelos de ameaças e modelos de segurança que lidam com essas ameaças definidas. Por exemplo, em termos simples, o modelo de ameaça para o HTTP é o homem no meio que pode espionar e injetar seus próprios dados, se passar por um servidor válido e/ou um cliente válido; o HTTPS é projetado para tornar isso impossível criptografando e assinando todas as comunicações. Na melhor das hipóteses, o MitM pode passar todo o tráfego sem poder escutar ou simplesmente interromper a comunicação por completo. Então, contra o que você está se defendendo, quais são suas ameaças?

    Sua rede entre os back-ends e os balanceadores não é confiável? Por quê? Essas redes devem incluir apenas balanceadores e back-ends e nada mais, quais atores não confiáveis ​​você tem lá? No entanto, o IPsec no modo de transporte é uma solução aceitável nesse caso, porque ele criptografará tudo que estiver no fio.

    Você também pode usar HTTPS entre o balanceador e os back-ends (e entre os próprios back-ends). Tudo bem, seu balanceador encerrará o HTTPS do usuário, verá a solicitação e a resposta em texto simples, poderá desmontá-los (adicionar/remover/alterar cabeçalhos) e selecionará o back-end e o processamento analisando o conteúdo, por exemplo, selecione um back-end para conteúdo estático e outro para conteúdo dinâmico. Em seguida, estabelecerá outroConexão HTTPS para back-end. Os únicos clientes HTTPS para back-ends serão balanceadores e outros back-ends, portanto, não é importante que eles usem certificados globalmente recong. (Por exemplo, o Google Front-ends não verifica certificados de back-ends HTTPS localizados no Google Cloud, portanto, mesmo certificados autoassinados funcionarão.) Você pode criar sua própria CA interna, emitir certificados para todos os back-ends e balanceadores e torná-los confiáveis ​​instalando esse certificado CA no armazenamento de cada sistema. Somente os balanceadores precisam configurar certificados válidos globalmente e apenas no lado do cliente. A automação do Let's Encrypt provavelmente também será o dever desses balanceadores, porque os certificados emitidos devem ser instalados neles.

    Você não confia no seu balanceador de carga? A passagem SSL pode ajudar, mas também tem suas próprias desvantagens. Nesta configuração, o balanceador é um daqueles homens no meio contra quem o HTTPS foi criado. Portanto, ele não pode acessar os detalhes de HTTP para equilibrar as solicitações, nem mesmo saber o valor do cabeçalho do host http para diferenciar os vhosts; ele não pode injetar cabeçalhos de proxy adicionais como aqueles "proxies para" e assim por diante; as conexões são protegidas dele conforme o esperado. Tudo o que ele pode fazer é rastrear a conexão e, de outra forma, encaminhar pacotes cegamente para algum back-end. Nesse caso, você não configura nenhum certificado nele e nem configura nenhum nome de servidor. Basta especificar os IPs dos back-ends. Além disso, neste caso, certificados válidos devem ser instalados em todos os back-ends, porque não se sabe a priori qual back-end receberá qual solicitação.

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve