Local do certificado SSL no UNIX / Linux

114

Existe algum padrão ou convenção para onde os certificados SSL e as chaves privadas associadas devem ir no sistema de arquivos UNIX / Linux?

Obrigado.

John Topley
fonte

Respostas:

90

Para uso em todo o sistema, o OpenSSL deve fornecer a você /etc/ssl/certse /etc/ssl/private. O último dos quais será restrito 700a root:root.

Se um aplicativo não estiver executando um privsep inicial a partir de rootentão, convém localizá-lo em algum lugar local do aplicativo com a propriedade e as permissões restritamente relevantes.

Dan Carley
fonte
4
isso é padronizado em algum lugar? O padrão de hierarquia do sistema de arquivos não o contém.
cweiske
1
@cweiske Esta parece ser uma convenção histórica do OpenSSL, não formalmente padronizada, e muito complicada na minha opinião. Minha primeira traço é esta versão: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/...
kubanczyk
6
Vale notar que isso é apenas distros baseados no Debian.
Joshua Griffiths
2
Também posso armazenar os certificados SSL (por exemplo, Let's Encrypt ou Cloudflare) para os sites? Obrigado!
Vladyslav Turak 30/01
1
O Arch e o CentOS também armazenam /etc/ssl/certs
certificados
50

É aqui que o Go procura certificados raiz públicos :

"/etc/ssl/certs/ca-certificates.crt",                // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",                  // Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem",                            // OpenSUSE
"/etc/pki/tls/cacert.pem",                           // OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", // CentOS/RHEL 7

Também :

"/etc/ssl/certs",               // SLES10/SLES11, https://golang.org/issue/12139
"/system/etc/security/cacerts", // Android
"/usr/local/share/certs",       // FreeBSD
"/etc/pki/tls/certs",           // Fedora/RHEL
"/etc/openssl/certs",           // NetBSD
Timmmm
fonte
14

Isso varia de distribuição para distribuição. Por exemplo, nas instâncias do Amazon Linux (baseadas no RHEL 5.xe partes do RHEL6, e compatíveis com o CentOS), os certificados são armazenados /etc/pki/tls/certse as chaves são armazenadas /etc/pki/tls/private. Os certificados da CA têm seu próprio diretório /etc/pki/CA/certse /etc/pki/CA/private. Para qualquer distribuição, especialmente em servidores hospedados, recomendo seguir a estrutura de diretório (e permissões) já disponível, se houver alguma disponível.

vallismortis
fonte
1
O mesmo para o CentOS7 também, obrigado.
Jacob Evans
1

O Ubuntu usa /etc/ssl/certs. Ele também possui o comando update-ca-certificatesque instalará os certificados /usr/local/share/ca-certificates.

Portanto, recomenda-se instalar seus certificados personalizados /usr/local/share/ca-certificatese em execução update-ca-certificates.

http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html

Jonah Braun
fonte
-1

Se você estiver procurando por um certificado usado por sua instância do Tomcat

  1. Abra o arquivo server.xml
  2. Procure pelo conector SSL / TLS
  3. Consulte o keystoreFileatributo que contém o caminho para o arquivo keystore.

Parece

<Connector
    protocol="org.apache.coyote.http11.Http11Protocol"
    port="8443" maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"
    keystoreFile="${user.home}/.keystore" keystorePass="changeit"
    clientAuth="false" sslProtocol="TLS" />
naXa
fonte