# Help Securing Elasticsearch/Logstash using Internal CA on Windows Server

**URL:** <https://discuss.elastic.co/t/help-securing-elasticsearch-logstash-using-internal-ca-on-windows-server/229526>\
**Category:** Elasticsearch\
**Tags:** elastic-stack-security\
**Created:** [April 23, 2020, 6:31pm UTC](https://discuss.elastic.co/t/help-securing-elasticsearch-logstash-using-internal-ca-on-windows-server/229526 "2020-04-23T18:31:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![dtama018](https://avatars.discourse-cdn.com/v4/letter/d/51bf81/32.png) [@dtama018](https://discuss.elastic.co/u/dtama018)\
**Post date:** [April 23, 2020, 6:31pm UTC](https://discuss.elastic.co/t/help-securing-elasticsearch-logstash-using-internal-ca-on-windows-server/229526/1 "2020-04-23T18:31:25Z")

</div>

Hi everyone!

I need help with securing my ELK stack on Windows using our internal CA. From what I understand, the new release of Elastic allow us to secure communications (certificates) without needing X-Pack license. Before I proceed, is this accurate?

Assuming it is, there is little documentation from how to use this in a windows cluster with an internal CA (required to use, instead of self-signed). I tried to walk myself through the process in my test environment and here is what I have done:

I used the "certutil.bat csr" - this generated a zip file that I was able to retrieve.  
I used the csr and requested the cert. My Internal CA provided me with the certificate and chain.  
Upon inspection, the certificate is issued to "instance" (because I did not add any flags).

At this point, the certificate is issued to the instance itself (i.e. "instance" as the instance name) or the server name "elkserver". Can we define both, as in "instance" in elkserver1, and "instance" on elkserver2 (maybe with SANs). This is to determine whether or not I could leverage the certs issued to the servers themselves.

What I would like to accomplish is the following:  
3 ES servers (2 for data, 1 mainly for Kibana)  
1 Logstash server for ingesting Beats  
All ES and Logstash interfaces need to be secured.  
All client servers (Windows) should send secure Beats information to Logstash.

Does every server need to send a CSR to my Internal CA?  
Does each node have to generate a csr, or can 1 certificate be used on all 3 nodes, since it is issued to the instance?  
Assuming that that I need to send Beats data, does the client server need to generate a CSR?  
Can they leverage its existing server certificate?  
What are the actual steps that need to be performed on this Windows environment?

Any help will be extremely appreciated. Thanks!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 21, 2020, 6:31pm UTC](https://discuss.elastic.co/t/help-securing-elasticsearch-logstash-using-internal-ca-on-windows-server/229526/2 "2020-05-21T18:31:31Z")

</div>

Closed on May 21, 2020, 6:31pm UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
