permissão de chave de certificado SSL - Tomcat APR

1

Eu tenho um certificado SSL da GoDaddy que gostaria de usar com a minha instalação do tomcat. Atualmente ele está sendo usado pelo servidor HTTP Apache sem problemas.

A chave privada é armazenada em / etc / ssl / private e o acesso é restrito. O servidor HTTP Apache, no entanto, não teve nenhum problema em servir o certificado correto por SSL.

Quando tento apontar o tomcat para a mesma chave privada, ele não inicia o protocolo seguro porque não consegue ler a chave privada. Este é o trecho do meu server.xml. Eu estou usando APR:

<Connector SSLCertificateFile="/etc/ssl/certs/mysite.crt"
               SSLCertificateKeyFile="/etc/ssl/mysite.key"
               SSLEnabled="true" maxThreads="150" port="8443"
               protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLSv1" />

Isso gera um erro. A configuração HTTP do Apache se parece com isso e funciona:         SSLCertificateFile /etc/ssl/certs/mysite.crt         SSLCertificateKeyFile /etc/ssl/private/mysite.key

As permissões para o diretório / etc / private não foram alteradas afaik: drwx - x --- 2 raiz ssl-cert 4096 2011-05-01 11:50 privado Dentro: -rw-r - r-- 1 raiz raiz 1,7K 2011-04-30 11:00 mysite.key

Agora, minha pergunta é: Como posso fazer o tomcat usar o mesmo arquivo? Minha solução temporária é copiar o arquivo de chave para um local publicamente acessível, mas acredito que isso é perigoso, certo?

Obrigado

    
por Luksurious 12.10.2011 / 19:18

1 resposta

2

O grupo ssl-cert tem permissões de passagem em private e todos têm permissões de leitura na própria chave - portanto, o usuário que o Tomcat está executando provavelmente não é membro do grupo ssl-cert .

Adicione o usuário ao grupo para conceder acesso somente leitura ao certificado:

usermod -a -G ssl-cert tomcatusername

E, embora você tenha as permissões de diretório bloqueadas, o que deve cobrir você, você pode querer alterar as permissões no próprio certificado para que correspondam (alguns serviços verificam se podem ser lidos pelo mundo em chaves privadas):

chown root:ssl-cert /etc/ssl/private/mysite.key
chmod 640 /etc/ssl/private/mysite.key
    
por 12.10.2011 / 19:52

Tags