IoTDB 入门教程 问题篇④——外网攻击导致OOM内存溢出,服务崩溃

文章目录

一、前文

IoTDB入门教程------导读

二、思考问题

从上一篇博客得知,因为内存大小设置的不合理,容易导致OOM内存溢出,最终导致服务崩溃。

事后转念一想,又在思考:如果是配置问题,那么服务应该无法启动才对。

为何服务能够正常运行三四小时才崩溃,深入思考并咨询了天谋科技的工程师之后。

我们认为是:外网攻击,一次性注入大量数据,导致OOM内存溢出。

那么新的问题来了,IoTDB服务这么容易被攻击至崩溃吗?

这时候,我拍了拍脑壳,root密码我还没改,还在用默认的。

三、验证问题

想到方法,就马上去验证。

  • 在iotdb-datanode.properties中,还原# dn_thrift_max_frame_size
sh 复制代码
# thrift max frame size, 512MB by default
# Datatype: int
# dn_thrift_max_frame_size=16777216
  • 把root密码修改复杂点

ALTER USER SET PASSWORD 'password';

  • 重启IoTDB服务

bash sbin/stop-standalone.sh

shell 复制代码
[root@iZgw0bdpdtyqxyz77dha9nZ apache-iotdb-1.3.2-all-bin]# bash sbin/stop-standalone.sh
Check whether the internal_port is used..., port is 10710
Stop ConfigNode, PID: 30555
Check whether the rpc_port is used..., port is 6667
No DataNode to stop

bash sbin/start-standalone.sh

shell 复制代码
[root@iZgw0bdpdtyqxyz77dha9nZ apache-iotdb-1.3.2-all-bin]# bash sbin/start-standalone.sh 
Execute start-standalone.sh finished, you can see more details in the logs of confignode and datanode
  • 等待一天后,IoTDB服务正常运行。
  • 这时候基本确认,服务崩溃的原因是外网攻击导致。
  • 但是为了双重确认,这时候再将root密码改回默认。
  • 重启IoT服务,继续等待。不到半天,IoT服务崩溃了。
  • 定案了,就是外网攻击导致服务器崩溃。

五、深入思考

如果我是黑客,我会如何攻击?

  • 如果没有密码,我确实无法着手,毕竟咱也没做过黑客,也没做过红客。
  • 如果有root密码,那直接登录连接,然后使用sql查询数据和插入数据。
  • 一次插入大量数据,超过512M,又因为我内存设置不合理。IoT服务直接崩溃。

根源找到了,如何解决问题?

  • 加强用户密码管理,加强用户权限管理。
  • 事后追责定责,需要登录日志和操作日志。

于是我继续追问天谋科技工程师,是否能够查询IoTDB的登录日志和操作日志?

六、总结

很多的bug,主要还是人为操作原因。
不要老怪系统不好用,静下心来,花点时间,深入排查,总是有收获的。

觉得好,就一键三连呗(点赞+收藏+关注)

相关推荐
盛世宏博智慧档案17 小时前
档案库房温湿度采集数据存储方案:时序数据库选型与存储优化
数据库·时序数据库
涛思数据(TDengine)17 小时前
栖息地 AI 超恒气候系统用 TDengine 支撑全屋环境品质实时监测与历史追溯
人工智能·ai·时序数据库·tdengine·工业ai
一个天蝎座 白勺 程序猿4 天前
IoTDB集群扩容:从慌乱到从容的经验分享
数据库·wpf·时序数据库·iotdb
Highcharts.js7 天前
图表开发实战总结| 7 条“黄金法则”与“性能铁律”
前端·javascript·vue.js·编辑器·时序数据库·highcharts
TDengine (老段)8 天前
集群从“能用“到“高可用“:副本、选主与故障切换到底怎么配
大数据·网络·数据库·物联网·oracle·时序数据库·tdengine
欢喜躲在眉梢里8 天前
时序数据库选型指南:从大数据架构视角拆解 Apache IoTDB 的适用边界
大数据·人工智能·ai·架构·时序数据库·模型
KaiwuDB9 天前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
杨云龙UP10 天前
TDengine Community 超级表建表实战:统一21个TAG与DOUBLE/字符串数据模板
运维·服务器·数据库·时序数据库·tdengine·涛思数据·stable建表
成为深度学习高手10 天前
DAG:沿时间与通道双相关建模的外生变量时序预测
网络·人工智能·深度学习·算法·机器学习·数据挖掘·时序数据库
TDengine (老段)11 天前
TDengine TSDB 实战排障四(升级与兼容)
android·java·大数据·数据库·物联网·时序数据库·tdengine