Sensibilidade de usar chaves de cliente genéricas com openvpn nesse cenário

2

Eu configurei um servidor openvpn funcional (ubuntu 10.04) e cliente, sem problemas.

Eu gerou certificados e arquivos de chaves e coisas semelhantes para uma máquina cliente.

Implementamos várias dessas máquinas clientes genéricas para captura de dados, entre 10 e 20 por mês. O motivo da VPN é permitir login remoto para suporte e monitoramento ocasionais. Eles enviam seus dados para casa por outros meios (não pela VPN)

Estou pensando em tornar os arquivos de configuração do cliente genéricos e usá-los em todas as máquinas implantadas (a opção "duplicate-cn" no lado do servidor).

Meu raciocínio é o seguinte:

  1. O servidor vpn proíbe explicitamente o login do ssh de qualquer lugar, exceto do nosso escritório, para que um cliente conectado não possa ssh no servidor
  2. Além disso, o login no servidor openvpn requer o arquivo-chave X509 .pem (é uma instância do Amazon EC2)
  3. O servidor não permite que os clientes vejam uns aos outros ("cliente-cliente" está comentado), e não há acesso a nenhuma outra rede, é apenas para que possamos ssh no cliente.
  4. Somos preguiçosos e não queremos administrar gerando os certs, aplicando-os à máquina (portanto, não mais genéricos e não mais hot swappable etc) e as pessoas ficarão confusas e errarão.

A principal desvantagem parece ser:

  1. É difícil dizer qual é a máquina onde há muitas conexões (ainda não encontrei uma solução para isso)

As máquinas clientes são instaladas em sites "não confiáveis", ou seja, não posso garantir sua segurança phyiscal.

Então minha pergunta é ... qual é o pior que poderia acontecer nesse cenário? Se uma máquina fosse comprometida diretamente, o pior que poderia fazer era abrir um túnel VPN (o que ele faz automaticamente de qualquer maneira!), Mas não conseguiria chegar a lugar algum além disso. Poderíamos apenas bloquear esse IP no nível do firewall, uma vez detectado.

Meu processo de pensamento está correto aqui ou perdi alguma coisa?

Editar:

Eu talvez devesse ter dito que as máquinas clientes são sem cabeça (sem vídeo / teclado) e não são acessadas diretamente pelos sites dos clientes (embora você não possa garantir isso diretamente!). Este é um ambiente de máquina-2-máquina (M2M). Estes não são (por exemplo) laptops transportados por pessoal de vendas.

    
por Aitch 29.08.2011 / 17:19

2 respostas

4

Não, NÃO, NÃO faça isso. Você está derrotando completamente todos os propósitos da autenticação baseada em certificados.

  • O que você está fazendo quebra a identificabilidade
    Se todos tiverem o mesmo par de chaves, você não poderá informar uma máquina de outra.

  • O que você está fazendo quebra a segurança.
    Se todos tiverem o mesmo par de chaves e a chave privada ficar comprometida, ALL das conexões dos seus sistemas estarão comprometidas, e o par de chaves de todos precisará ser alterado.

  • O que você está fazendo quebra a segurança (de novo).
    Se todos estiverem usando o mesmo par de chaves, você não poderá revogar o acesso de uma única entidade revogando o certificado.
    Isso pode não parecer importante agora, mas um dia você precisará remover o acesso de alguém. Você pode ter certeza de que eles não guardaram uma cópia da chave privada? (Dica: NÃO - agora você tem que mudar a chave de todo mundo novamente.)

A segurança não deve ser conveniente, e não atende aos preguiçosos. Se você deseja os benefícios adicionais da autenticação de chave pública, precisa estar disposto a assumir a (pequena) carga adicional de gerenciar as chaves corretamente.
Se você não quiser essa carga de trabalho adicional, faça como o DrGkill sugeriu e simplesmente configure as chaves pré-compartilhadas (uma por grupo - uma chave pré-compartilhada genérica tem todos os mesmos problemas listados acima para certificados genéricos ...).

    
por 29.08.2011 / 17:40
4

Isso é uma coisa ruim, Certificados são feitos para identificar pessoas, então o uso de um certificado para um grupo de pessoas não faz sentido. Você poderia simplesmente configurar seu servidor openvpn com chaves pré-compartilhadas, o que é muito mais fácil de manter.

Agora, imagine que a chave privada genérica esteja comprometida. Isso significa que você tem que revogá-lo e dar a todos os usuários o novo certificado / chave para instalar. Você fará muitas pessoas infelizes tornando seu sistema improdutivo. Além disso, você provavelmente não sabe quem perdeu a chave.

    
por 29.08.2011 / 17:30