Prós / contras do uso de chaves do cliente OpenVPN sem senha

3

Estou configurando um servidor OpenVPN para minha organização e estou lendo as diferentes maneiras como as teclas do lado do cliente funcionam. Ainda não estou familiarizado com todos os conceitos por trás dessas chaves de cliente e autenticação de conta.

  1. Quais são os benefícios reais de usar o ./build-key-pass versus o ./build-key para gerar as chaves do cliente? Isso é apenas semelhante à senha que protege uma chave SSH? Nem todos os nossos funcionários que precisam de uma conta são experientes em tecnologia, então vale a pena apresentar outra etapa de configuração?
  2. Agora vejo que há uma opção para não exigir autenticação típica de nome de usuário / senha ao usar as chaves do cliente. Meu plano era fazer um useradd no servidor para cada cliente. Se eu não usar as configurações de autenticação de passagem de usuário, como eu revogaria o acesso a um cliente específico?
  3. Como posso entregar com segurança esses certificados de clientes a todos os funcionários que precisam de uma conta? Acredito que os arquivos client.key devam ser privados, e enviar os arquivos por e-mail parece ser inseguro.
por andrewvnice 29.01.2014 / 00:28

1 resposta

2

Para responder a cada um dos seus pontos:

1 - Você está correto em analizar a proteção por senha das chaves OpenVPN para proteção por senha de chaves SSH.

2 - Sem usar nenhum método de autenticação adicional O OpenVPN depende apenas da verificação do certificado do cliente pelo servidor (e idealmente a verificação do certificado do servidor pelo cliente) para autenticação do cliente. Isso torna a revogação do acesso de um cliente individual uma questão de adicionar o certificado do cliente a uma lista de revogação de certificado (CRL) (compatível com as versões 1.5 ou superior do OpenVPN) ou remover o material de chave do cliente (ou alternar os certificados em todos os seus outros clientes). Se você não estiver usando um método de autenticação adicional, precisará ter uma CRL para permitir a revogação do acesso do cliente.

Tenha em mente que a senha que protege as chaves não ajuda em nada: autenticação adicional. Essa senha apenas "desbloqueia" a chave no dispositivo cliente - não alivia o problema de autenticação adicional do usuário no cliente para o computador servidor (e o problema de revogação de acesso).

3 - Você deve gerar os pares de chaves privadas / públicas nos próprios clientes, em vez de transmiti-los pela rede. Você pode gerar a solicitação de certificado no cliente, enviar a chave pública (em uma solicitação de assinatura de certificado) até sua CA para assinatura e instalar o certificado assinado no cliente. Tudo isso pode ser roteirizado, e tenho certeza de que alguém já fez isso (e espero que o produto OpenVPN licenciado comercialmente possua parte da funcionalidade incorporada).

Eu encontrei este projeto Meu Assistente de Certificação que foi escrito apenas para essa finalidade, mas eu iria para o script de toda a coisa em o cliente usando as ferramentas de linha de comando OpenSSL em uma tentativa de tornar todo o processo invisível para o usuário.

    
por 29.01.2014 / 01:10