Serviço OpenVPN, executado como root: root em vez de nobody: nogroup?

2

Isso foi movido do NetworkEngineering.

Eu usei este guia do DigitalOcean (doravante "guia") para configurar um serviço OpenVPN (v2.3.10, OpenSSL 1.0.2g) há vários meses. Funcionou sem problemas e é mais rápido que o nosso antigo appliance de VPN. Eu estou em um ponto agora onde eu preciso revogar um certificado. Segui os passos no passo 14 do guia e em esta página sem qualquer sorte.

Eu adicionei crl-verify $SomeSuchDir/crl.pem (onde $SomeSuchDir é qualquer um dos caminhos '/ etc / openvpn', '/ root / openvpn-ca / keys' e null (como indicado no guia)) para o arquivo de configuração , reiniciou o serviço e nenhum dos certificados funciona, válido ou revogado. Com a opção crl-verify crl.pem habilitada, recebo este erro

"TLS_ERROR: BIO lida com o erro tls_read_plaintext: erro: 14089086: rotinas SSL: ssl3_get_client_certificate: verificação de certificado com falha"

quando um certificado válido ou revogado tenta se conectar. Quando eu comentar a opção e reiniciar o serviço, ainda posso me conectar com um certificado aparentemente revogado. O arquivo "index.txt" tem um campo 'R' e um campo adicional para o certificado revogado e recebo a mensagem "erro 23" quando executo o script revoke-full bad-cert .

Eu dei uma olhada no script revoke-full, no arquivo vars variable e no arquivo openssl-1.0.0.cnf, e parece que tudo está onde deveria estar. Alguém mais teve um problema ao gerar uma CRL para o OpenVPN?

ATUALIZAÇÃO:

Depois de mover isso do NetworkEngineering, procurei no arquivo de log e encontrei CRL: cannot read CRL from file $SomeSuchDir/crl.pem . O arquivo era pelo menos legível pelo mundo. Eu encontrei este post , onde o autor teve problemas semelhantes. Sua solução foi comentar as duas linhas que executam o serviço OpenVPN como nobody: nogroup. Embora o meu arquivo crl.pem fosse legível por todos, os diretórios ancestrais têm que ser pelo menos "r-x" para nobody: nogroup. Meus arquivos estavam todos dentro de / root, então isso era inacessível para ninguém: nogroup.

Eu criei / REV e coloquei o crl.pem dentro dele, e não fiz ninguém: nogroup o dono. Alterei a opção de configuração para crl-verify /REV/crl.pem e reiniciei o serviço. Os certificados revogados parecem não ser permitidos e os certificados válidos são permitidos.

Eu passei por outra rodada de conexão com outro certificado a ser revogado. Eu fiz ./revoke-full cert-to-be-revoked , recebi as mensagens apropriadas "erro 23 ..." e "Banco de dados atualizado", copiei $ KEY_DIR / crl.pem para / REV /, telnettei para a interface de gerenciamento, executei kill cert-to-be-revoked e o cliente pôde se reconectar. Verifiquei o certificado revogado e o número de série correspondente estava em "Revoked Certificates:" com openssl crl -in crl.pem -text .

Então agora a questão é, é seguro rodar o (s) serviço (s) OpenVPN como root: root ao invés de nobody: nogroup?

    
por user38537 28.12.2017 / 05:43

0 respostas