# Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: true
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["srv-elk-ims-2"]
# Allow HTTP API connections from anywhere
# Connections are encrypted and require user authentication
http.host: 0.0.0.0
# Allow other nodes to join the cluster from anywhere
# Connections are encrypted and mutually authenticated
#transport.host: 0.0.0.0
I configured security with an enrollment token (so automatically I assume) and right now I can access my Kibana with http://ipadress:5601
What the official next step to configure https please ?
Do I need to follow this doc from beggining ?
Thank you for your time, I sincerely appreciate it
Of course if you do a self-signed cert which is okay ...your browser is going to complain... But that's okay, you're just going to need to accept it or this is where a publicly signed certificate would work better.
Encrypt Elastic client communication : already done automatically with enrollment token
Encrypt Kibana <--> Elasticsearch :
Copy the elasticsearch-ca.pem file to the Kibana configuration directory, as defined by the $KBN_PATH_CONF path.
Open kibana.yml and add the following line to specify the location of the security certificate for the HTTP layer.
elasticsearch.ssl.certificateAuthorities: $KBN_PATH_CONF/elasticsearch-ca.pem
Ok so I'm reading the documentation and at the beggining it says :
You create a server certificate and private key for Kibana. Kibana uses this server certificate and corresponding private key when receiving connections from web browsers.
I want to point out that you can easily check if the communication is already secure looking at your Kibana configuration ( it should point on https elastic endpoint )
Also just keep in mind that Kibana is basically just a web server that need a key and a certificate to be able to talk to client using https.
Sooo you really just have to generate those starting with
Generate a server certificate and private key for Kibana.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.