- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一台服务器 A,我按照说明在其上安装了 ELK:
可以从我服务器的 IP 地址访问 ELK,我已经创建了 Let's Encrypt 证书来保护我在 Nginx 上的域。
server {
listen 80;
listen [::]:80;
server_name monitoring.example.com;
location / {
return 301 https://monitoring.example.com$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name monitoring.example.com;
auth_basic "Restricted Access";
auth_basic_user_file /var/www/monitoring-example-com/web/.htpasswd;
ssl_certificate /etc/letsencrypt/live/monitoring.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitoring.example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
我有一个我想监控的服务器 B,我在上面安装了 Filebeat。
如何保证 ELK 和 Filebeat 之间的安全交换?
我是否需要创建 OpenSSL 证书或使用 Let's Encrypt for Nginx 生成的证书?
最佳答案
您是在管道中使用 logstash 还是 filebeat 将数据直接输出到 elasticsearch 中?根据这个答案略有变化。集群设置的其他方面也很重要。
我假设您正在将数据直接输出到 elasticsearch。
您描述的将 nginx 放在 elasticsearch 前面并进行基本身份验证的方法对于使用一个节点集群的开发/测试环境设置是可以的。我怀疑这就是您想要的,因为您只监视一台服务器。如果这就是您所需要的,您可以停止阅读。
但是,您不应该在生产中使用一个节点设置。 Elasticsearch 是一种分布式存储,您应该始终在生产环境中至少使用三个节点。
为什么这对安全性很重要?在多节点集群中,您必须保护 REST API(默认端口 9200)和传输层(节点间流量默认端口 9300-9400)上的通信。您可能还想确保只有受信任的节点连接到集群。 Nginx 对此是不够的。一种解决方案是将节点间流量放入集群节点之间设置的全网状 VPN。我建议使用 tinc为了这。第二种是使用可用的几个安全插件之一设置 TLS。
最好是同时使用两者,因为您可能不仅需要加密,还需要用户管理、角色分离、审计日志等。
您可以使用多个插件。最明显的是设置 X-Pack Security。在这种情况下,请参阅 X-Pack documentation .那里描述了整个过程。
X-Pack 相当昂贵。幸运的是,有几种选择,最突出的是 searchguard .社区版缺少一些功能,如 LDAP 或字段级安全性,但对于大多数常见用例来说应该足够了。文档并不总是直截了当的,因此我建议进行一些测试部署。
其他备选方案包括 ReadonlyREST它有企业版和免费版。或者最新的Open Distro这个只保持与 Elasticsearch 的 OSS 版本的兼容性(它可能会破坏基本的许可功能)。
编辑:2019 年 11 月 18 日基本许可下的 X-Pack 现在提供免费的基本安全功能。与 searchguard 社区非常相似,此外还可以从 Kibana GUI 管理角色和用户。我个人的看法是,现在 searchguard 社区已经过时了,因为 X-Pack 提供了更好的功能,并且您对集群的依赖性减少了,这使得更新和管理更加容易。对于商业用例,searchguard 可能仍然是更明智的选择,尤其是对于大型集群。
关于ssl - 如何保护 ELK 和 Filebeat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55984524/
Filebeat 简介 Filebeat用于转发和集中日志数据的轻量级传送程序。作为服务器上的代理安装,Filebeat监视指定的位置文件或位置,收集日志事件,并将他们转发到Elasticsear
我的 filebeat(来自 docker.elastic.co/beats/filebeat:6.1.2 的容器)收割机正在被 close_inactive 关闭,我不希望它们被关闭。来自 here
我是ELK的新手。我先安装了没有 Logstash 的 Elasticsearch 和 Filebeat,我想将数据从 Filebeat 发送到 Elasticsearch。在我安装了 Filebea
我正面临 logstash 的延迟问题。 事实上,我有一个这样构建的 ELK 堆栈: 我在 AWS 自动缩放组中有多个 AWS EC2 网络前端 我在每个前端都安装了 filebeat filebea
我的目标 我正在尝试提交对 Filebeat documentation 的修复,写于asciidoc 。 来源 Currently it is not possible to recursively
我的目标 我正在尝试提交对 Filebeat documentation 的修复,写于asciidoc 。 来源 Currently it is not possible to recursively
我正在尝试使用 filebeat test ouput -e -c filebeat.yml 测试我的配置,我只看到带有命令列表的帮助消息。 我其实是想输出数据文件来验证。虽然我已经测试了 fileb
是否可以将文件节拍设置为从远程目录读取(因为我无法在那台机器上安装进程) 我在beats yml上是这样设置的: filebeat: # List of prospectors to fetch
我目前正在使用 ELK 5.5。现在看来 document_type 在 Filebeats 中已被弃用,但我现在在任何地方都找不到任何关于如何实现相同的示例。 这是我在日志中得到的: WARN DE
我在 filebeat 方面遇到了一些奇怪的问题 我正在使用云形成来运行我的堆栈,并且我正在安装和运行 filebeat 来进行日志聚合, 我将/etc/filebeat/filebeat.yml注入
因此,我正在使用Filebeat读取几种不同的文件类型。我为要收获的每种文件设置document_type。我的问题是我想将大多数这些文件类型发送到Logstash,但是我希望将某些类型的文件直接发送
我正在尝试从 filebeat 读取文件并将它们推送到 logstash。在推送它们之前,我正在尝试合并包含 java 堆栈跟踪的事件。我试过这个过滤器,但它不起作用。 filebeat.prospe
paths: - /var/log/*.log 我使用它作为filebeat中运输日志的路径。 输出为elasticsearch。 output: elasticsearch:
我有一个读取多种不同日志格式的文件节拍。 一种工作得很好的格式是单个衬里,它作为单个事件发送到 Logstash。 现在,我有另一种格式,即多线。我想将其作为单个事件读取并将其发送到 Logstash
我们正在通过filebeat将数据摄取到Elasticsearch并遇到配置问题。 我正在尝试为特定字段指定日期格式(标准@timestamp字段保留索引时间,我们需要实际的事件时间)。到目前为止,我
我正在使用 Filebeat > logstash > elasticsearch > kibana 运行一个基本的 elk 堆栈设置——全部在 5.2 版上 当我删除 Filebeat 并将 log
我想要一个filebeat实例可以将数据发送到不同的logstash管道的功能。 这可能吗? 我已经配置了一个logtash服务,它具有两个管道 管道给出了单独的端口。 假设管道1(端口5044),管
首先我为我的英语道歉。 我是一家公司的实习生,我用 Filebeat 提出了一个解决方案 ELK 来发送日志。 问题是一旦恢复 syslog_pri 总是显示 Notice 和 severity_co
问题: TCP 输入是否管理收割机(即,您是否将文件路径发送到 TCP 输入,然后收割机开始摄取该文件)? TCP 输入能否接受结构化数据(例如 log 输入上的 json 配置选项)? TCP 输入
我正在使用 Filebeat 将日志数据从我的本地 txt 文件发送到 Elasticsearch,并且我想将 message 行中的一些字段添加到事件中——比如时间戳和日志级别。例如,这是我的日志行
我是一名优秀的程序员,十分优秀!