OpenVPN - posso usar um certificado SSL existente?

6

Eu quero configurar o servidor OpenVPN para meu uso pessoal. Eu possuo domínio e tenho certificado SSL válido para este domínio (emitido pelo StartSSL).

No início das instruções de configuração do OpenVPN, há uma seção descrevendo a geração de minha própria autoridade de certificação usada posteriormente para emitir certificados autoassinados.

Gostaria de saber se posso utilizar o meu certificado SSL existente para esse fim? Eu tenho alguma vantagem em fazer isso?

Por exemplo, usei este certificado para o SSL do servidor de correio e os clientes de correio não reclamam de certificados auto-assinados. Os clientes do OpenVPN usam certificados raiz bem conhecidos para verificar o certificado do servidor ou eles não empregam essa infraestrutura e o certificado autoassinado funcionará bem?

    
por vbezhenar 30.08.2014 / 22:46

4 respostas

7

Como você está planejando fazer a autenticação do cliente? Você está planejando fazer autenticação de cliente baseada em certificado ou outra coisa?

I wonder if I can use my existing SSL certificate for that purpose? Do I have any advantages doing that?

Sim, você provavelmente conseguiria reutilizar um certificado, desde que o valor do assunto do certificado corresponda ao nome do seu servidor OpenVPN.

Isso é quase certamente uma má ideia. Há poucas ou nenhumas vantagens para o fazer. Você provavelmente tornará as coisas mais difíceis e confusas para você mesmo se tentar, e você não é muito bem versado em como funciona a PKI.

Em qualquer caso, para o seu primeiro servidor VPN, sugiro seguir o guia como está escrito antes de tentar fazer algo extravagante com CAs externas ou certificados de terceiros. O OpenVPN é extremamente flexível, mas é melhor seguir o método padrão para começar.

Do OpenVPN clients use well known root certificates to check server's certificate or they do not employ this infrastructure and self-signed certificate will work fine?

Geralmente, ao definir clientes OpenVPN abertos, você fornece ao cliente o certificado da CA, além da configuração sugerida.

    
por 31.08.2014 / 05:18
7

Embora essa resposta seja muito posterior à sua pergunta original, sua pergunta é o primeiro link que surgiu quando pesquisei o OpenVPN StartSSL e espero que minha experiência possa ajudar alguém que esteja tentando fazer a mesma coisa.

Com um pouco de brincadeira, consegui fazer com que o OpenVPN funcionasse com certificados de cliente e servidor StartSSL gratuitos com validade de um ano.

O StartSSL não permite que seus Certificados SSL / TLC do Servidor da Web sejam usados no lado do cliente, portanto, gerou vários S / MIME e Certificados de Autenticação (usando email+[clientname]@[mydomainname] ) e os exportou do navegador.

Eu tive que converter o S / MIME e Certificados de Autenticação de tipos de arquivo pfx para chaves e certificados usando o openssl. Eu segui este guia .

Então eu tive que combinar a chave do cliente e várias chaves / certificados juntos em um arquivo OVPN (eu usei uma tecla ta também). Eu adaptei o script de outra pessoa para fazer isso a partir da linha de comando. Código aqui .

Eu estava originalmente perplexo com erros de verificação de certificado, principalmente:

VERIFY ERROR: depth=0, error=unable to get local issuer certificate

Para mim, a chave era fazer o download de ca.pem , sub.class1.server.ca.pem e sub.class1.client.ca.pem do StartSSL, combinando os três:

cat ca.pem sub.class1.server.ca.pem sub.class1.client.ca.pem > ca-COMBINED.pem

Eu usei isso no meu server.conf para o OpenVPN e os calços estavam fora!

    
por 24.10.2015 / 00:24
0

Não, você não pode usar seu certificado emitido desse jeito. O OpenVPN funciona permitindo que você emita certificados assinados por uma autoridade em que seu servidor está configurado para confiar, portanto, a necessidade de configurar sua própria CA. Cada cliente precisa de seu próprio certificado exclusivo , e eles não se queixam de se autoassinados se estiverem configurados corretamente.

    
por 31.08.2014 / 03:38
0

Eu apenas configurei isso depois de configurar isso há um ano atrás e esqueci como fazer isso, então está fresco em minha mente. De qualquer forma:

(1) carregue os vários certificados etc no seu servidor OpenVPN. São os vários certificados e chaves que você recebeu do seu emissor. O certificado usado para o servidor deve ter o CN como o nome do host do servidor usado externamente. (Dependendo do software do servidor, você pode ter que concatenar todos os vários arquivos .crt do emissor e carregá-los no servidor.)

(2) combine todos os arquivos .crt do emissor em um arquivo grande via cat. Eu tenho um certificado Comodo, então construiu assim:

cat AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > all.crt

(3) coloque esse arquivo grande de certs como a seção ca. Se você quiser inline, use --certificates--. Se você estiver usando um arquivo separado, você pode usar ca =

(4) crie alguns certificados e chaves de clientes aleatórios. Isso pressupõe que você deseja usar a autenticação por senha, que é o que estou fazendo.

(5) coloque o certificado e a chave do cliente no arquivo conf, seja em linha ou como cert = e key =.

(6) tente.

A razão pela qual você faz isso é porque você tem um servidor executando vários serviços que você está multiplexando. Instalar sua própria CA em todos os seus clientes é ridículo, especialmente se você estiver configurando um servidor "família e amigos".

    
por 08.03.2018 / 06:44

Tags