Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the abillity to specify a passphrase for private key #4262

Closed
jakauppila opened this issue Jun 17, 2015 · 3 comments
Closed

Add the abillity to specify a passphrase for private key #4262

jakauppila opened this issue Jun 17, 2015 · 3 comments
Labels
release_note:enhancement Team:Operations Team label for Operations Team

Comments

@jakauppila
Copy link

Per kibana.yml, you can specify the cert and key locations

# SSL for outgoing requests from the Kibana Server (PEM formatted)
#ssl_key_file: /path/to/your/server.key
#ssl_cert_file: /path/to/your/server.crt

I would like to see the ability to specify the passphrase for the key so that I can store it encrypted on disk.

@simianhacker
Copy link
Member

Per our discussion on https://discuss.elastic.co/t/configuring-kibana-with-ssl-how-to-define-passphrase-for-the-private-key/2464:

To help us better understand your concerns with using a passphraseless key, what would you prefer for solution?

For systems that need to be automatically started without human intervention the options I know about are:

  • Passphraseless SSL Key
  • Store passphrase in config and pass as an argument to TLS server (just as insecure as first scenario)
  • Prompt user for passphrase (doesn't scale and requires human intervention or requires an expect script with passphrase; which is also insecure)

Thoughts?

@jakauppila
Copy link
Author

There really is no good solution in terms of actually securing the passphrase as you have mentioned.

This was more stemming from other systems that I support maintain that functionality, such as Tomcat:

https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Edit_the_Tomcat_Configuration_File

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS"/>

But yes, if an attacker has already compromised the system and has file-level access to the certificate, they could likely get at the config file as well.

@kobelb
Copy link
Contributor

kobelb commented Feb 1, 2017

This has been resolved by #9823

@kobelb kobelb closed this as completed Feb 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release_note:enhancement Team:Operations Team label for Operations Team
Projects
None yet
Development

No branches or pull requests

4 participants