开启安全功能 ES 集群就安全了吗?
2024/1/4 3:02:37
本文主要是介绍开启安全功能 ES 集群就安全了吗?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景
经常跟 ES 打交道的朋友都知道,现在主流的 ES 集群安全方案是:RBAC + TLS for Internal + HTTPS 。
作为终端用户一般只需要关心用户名和密码就行了。作为管理和运维 ES 的人员来说,可能希望 ES 能提供密码策略来强制密码强度和密码使用周期。遗憾的是 ES 对密码强度和密码使用周期没有任何强制要求。如果不注意,可能我们天天都在使用“弱密码”或从不修改的密码(直到无法登录)。而且 ES 对连续的认证失败,不会做任何处理,这让 ES 很容易遭受暴力破解的入侵。
那还有没有别的办法,进一步提高安全呢?
其实,网关可以来帮忙。
虽然网关无法强制提高密码复杂度,但可以提高 ES 集群被暴力破解的难度。
大家都知道,暴力破解–本质就是不停的“猜”你的密码。以现在的 CPU 算力,一秒钟“猜”个几千上万次不过是洒洒水,而且 CPU 监控都不带波动的,很难发现异常。从这里入手,一方面,网关可以延长认证失败的过程–延迟返回结果,让破解不再暴力。另一方面,网关可以记录认证失败的情况,做到实时监控,有条件的告警。一旦出现苗头,可以使用网关阻断该 IP 或用户发来的任何请求。
场景模拟
首先,用网关代理 ES 集群,并在 default_flow 中增加一段 response_status_filter 过滤器配置,对返回码是 401 的请求,跳转到 rate_limit_flow 进行降速,延迟 5 秒返回。
- name: default_flow filter: - elasticsearch: elasticsearch: prod max_connection_per_node: 1000 - response_status_filter: exclude: - 401 action: redirect_flow flow: rate_limit_flow - name: rate_limit_flow filter: - sleep: sleep_in_million_seconds: 5000
其次,对于失败的认证,我们可以通过 Console 来做个看板实时分析,展示。
折线图、饼图图、柱状图等,多种展示方式,大家可充分发挥。
最后,可在 Console 的告警中心,配置对应的告警规则,实时监控该类事件,方便及时跟进处置。
效果测试
先带上正确的用户名密码测试,看看返回速度。
0.011 秒返回。再使用错误的密码测试。
整整 5 秒多后,才回返结果。如果要暴力破解,每 5 秒钟甚至更久才尝试一个密码,这还叫暴力吗?
看板示例
此处仅仅是抛砖引玉,欢迎大家发挥想象。
这篇关于开启安全功能 ES 集群就安全了吗?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-02-08使用uBlock Origin将知乎网页版表情显示为纯文字标签
- 2024-02-07联想LXH-JME2209U键盘Linux下解锁F1-F12
- 2024-02-07配置DDNS使得移动设备KDEConnect自动相互识别
- 2024-01-16AI 图像自动补全 Uncrop 工具介绍
- 2024-01-16独立开发者碎碎念 1115
- 2024-01-04摸鱼之余,写了个GitHub价值估算生成器!
- 2023-12-30修复群晖ssh服务无法启动,telnet无法登录问题
- 2023-12-30黑群晖将USB外接硬盘识别为内置硬盘
- 2023-11-19一份自动部署VuePress到GithubPages的脚本
- 2023-11-10借助 DSL 来简化 Loadgen 配置