我正在考虑在我的生产服务器上运行 logstash(简单安装)。http://logstash.net/docs/1.1.13/tutorials/getting-started-simple) 并设置 kibana 来访问日志。
我担心的是:如何保护我的生产日志(尤其是由 logstash 运行的 elasticsearch),并限制对安全区域或某些 ips 的访问?
感谢您的帮助
答案1
如果您使用更高版本的 Logstash基巴纳:
我将 Kibana 部署到 Apache 中的虚拟主机中,/kibana/
并通过反向代理路由 Elasticsearch API,以便在以下位置可用/elasticsearch/
:
<Location /elasticsearch/>
ProxyPass http://elasticsearchhost:9200/
ProxyPassReverse /
</Location>
您需要调整 Kibanas config.js 以
elasticsearch: "/elasticsearch/",
然后,可以通过 HTTP 基本身份验证保护虚拟主机,该身份验证自动应用于 Kibana 和 Elasticsearch API。
让我担心的是,Kibana 的用户还可以使用 Elasticsearch API 做一些恶意的事情,比如删除索引、关闭 Elasticsearch 服务器等等 - 例如elasticsearch 头。但目前我还没有很好的解决方案。也许可以允许对 /elasticsearch/ 进行 GET,因为在 REST 中 GET 无法更改任何内容,但其他 HTTP 方法只能对 Kibana 重要的特定 URL 进行更改。
答案2
在我的环境中,我将 elasticsearch 绑定到 openvpn 接口。
在 /etc/elasticsearch/elasticsearch.yml 中:
network.host: 172.16.xxx.xxx
其中172.16.xxx.xxx是openvpn分配给服务器的IP地址。
答案3
使用像这里所说的 nginx:
我该如何确保安全?我不想让 9200 保持开放。答:可以在以下位置找到简单的 nginx 虚拟主机和代理配置 样本/nginx.conf