I've been working lately on a project utilizing ElasticSearch and Kibana. 
To secure the ElasticSearch API I've hidden it behind a reverse proxy.

The proxy uses a cookie to authenticate the request and forward it to the 
ElasticSearch server, but if no cookie is present or if the cookie does not 
validate, then 401 is returned.

Here's the catch. Kibana uses CORS to communicate with ElasticSearch, so 
while I can enable the Kibana HTTP client to use the withCredentials option 
which will include cookies, it only does so for the four CRUD HTTP verbs. 
Glaringly, any OPTIONS requests from Kibana will not include the cookie.

This makes sense on a certain level due to the description of the intended 
purpose for the OPTIONS verb in the HTTP spec.

As such, in order to get my front-end functioning through this reverse 
proxy I've had to white-list all OPTIONS requests. I'm concerned with 
whether or not this could be abused to get commands through to the ES 
server that I otherwise wouldn't want. I trust that Kibana is using the 
verb properly, but if an attacker crafted an OPTIONS request at a server 
with the request /_shutdown, would the ElasticServer know that since this 
is an OPTIONS request it should ignore anything else in the request? 

Admittedly I'm a bit in the dark about how the ES server receives and 
handles commands over http beyond the typical RESTful functionality. Anyone 
can shed some light?

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/3be24cfc-c247-4ab7-9733-e494f527529b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to