暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

TiDB丨Etcd API 未授权访问漏洞的修复

1222





TiDB

神州数码云基地

在 TiDB 上的尝试、调研与分享




本期内容 

Etcd API 未授权访问 

漏洞的修复 



Etcd是一个采用HTTP协议的健/值对存储系统,它是一个分布式和功能层次配置系统,可用于构建服务发现系统。用于共享配置和服务发现的分布式,一致性的KV存储系统.其很容易部署、安装和使用,提供了可靠的数据持久化特性。


在工作中,Etcd提供了 API 访问的方式,但由于未配置认证,导致Etcd API 存在未授权访问漏洞


本期我们就一起来看看遇到这类问题,应该如何处理。




集群环境


此系统共使用物理机8个节点。


TiDB版本:v4.0.12





漏洞整改建议 


 方案一:


配置身份验证, 防止止未经授权用用户访问。


Tidb集群配置tls安全访问,需要先把pd节点由3节点缩容到1节点,这种方法对pd集群有一定风险,不太建议此方法。



方案二:


访问控制策略, 限制IP访问。


开启操作系统iptabes,配置白名单,内部节点可访问pd节点。此方案对集群的影响相对较小。




方案实施 


综合整改方案,方案二更佳,所以我们针对方案二,跟大家来具体分享一下。


TiDB集群中,PD主机通过防火墙iptables设置白名单,PD之间互信,拒绝外来访问


 Step1:


检查机器上的端口情况,重点检查(xx.xx.xx.61、xx.xx.xx.63、xx.xx.xx.65)机器上的端口情况,因为这3台机器上混部了pd、tidb、pump节点


tiup cluster display tidb-xxxx


 Step2:


确认pd leader节点:


tiup ctl:v4.0.12 pd -u http://xx.xx.xx.61:2379 member


tiup ctl:v4.0.12 pd -u http://xx.xx.xx.61:2379 member leader show


  Step3:


先开启非pd leade两个节点的防火墙,再把pd leader进行切换;


tiup ctl:v4.0.12 pd -u http://xx.xx.xx.61:2379 member leader transfer pd_pd2




可能存在的风险


在切换pd leader可能短暂出现tikv找不到pd节点,导致事务被block,会对业务造成一定风险,建议,确认停止业务后进行操作。


 Step1:


加入以下规则 :

vi etc/sysconfig/iptables;



向上滑动阅览


  • -A INPUT -s xx.xx.xx.51 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.53 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.55 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.61 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.63 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.65 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.70 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.75 -p tcp -m tcp --dport 2379 -j ACCEPT

  • -A INPUT -s xx.xx.xx.51 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.53 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.55 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.61 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.63 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.65 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.70 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.75 -p tcp -m tcp --dport 2380 -j ACCEPT

  • -A INPUT -s xx.xx.xx.51 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.53 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.55 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.61 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.63 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.65 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.70 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.75 -p tcp -m tcp --dport 8250 -j ACCEPT

  • -A INPUT -s xx.xx.xx.51 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -s xx.xx.xx.53 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -s xx.xx.xx.55 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -s xx.xx.xx.61 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -s xx.xx.xx.63 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -s xx.xx.xx.65 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -s xx.xx.xx.70 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -s xx.xx.xx.75 -p tcp -m tcp --dport 10080 -j ACCEPT

  • -A INPUT -p tcp --dport 4000 -j ACCEPT


 Step2:


打开iptables防火墙:systemctl start iptables;


 Step3:


检查防火墙策略

 (xx.xx.xx.61、xx.xx.xx.63、xx.xx.xx.65) :iptables -L -n;


 Step4:


集群验证 :tiup cluster display tidb-xxxx(节点状态是否正常)


 Step5:


查看集群日志是否有报错;


 Step6:


测试集群的备份和binlog同步是否正常;


 Step7:


确认没问题后,iptables防火墙开机启动:

systemctl enable iptables。




总结 



  1. Etcd漏洞修复方法有几种,需要注意每种方法对集群的影响

  2. 需要提前确认发生etcd漏洞机器上的所有端口,防止开启防火墙节点之间访问受阻。

  3. 开启防火墙前,需要确认配置文件,避免开启防火墙ssh断连

  4. 检查集群状态无误后,需要设置防火墙开机启动



以上Etcd API 未授权访问漏洞的修复的方法,大家在遇到类似的问题时,可以尝试按上述的思路去修改漏洞!


本期分享就到这里了,希望对你有帮助!~







Etcd API 未授权漏洞的修复

你get到了吗?


如果你有更好的办法或疑问

欢迎加入社群一起讨论哦⬇

本期作者 

高文峰 



更多精彩内容 





了解云基地,就现在!


IT技术哪家

神州数码最在行

行业新星后起之秀

历史虽不长,但实 力 强




文章转载自神州数码云基地,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论