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,主要还是人为操作原因。
不要老怪系统不好用,静下心来,花点时间,深入排查,总是有收获的。

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

相关推荐
时序数据说12 小时前
为什么时序数据库IoTDB选择Java作为开发语言
java·大数据·开发语言·数据库·物联网·时序数据库·iotdb
TDengine (老段)14 小时前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
myskybeyond15 小时前
时序数据库TDEngine安装和使用
服务器·时序数据库·tdengine
时序数据说15 小时前
时序数据库IoTDB用户自定义函数(UDF)使用指南
大数据·数据库·物联网·开源·时序数据库·iotdb
时序数据说2 天前
Java类加载机制及关于时序数据库IoTDB排查
java·大数据·数据库·物联网·时序数据库·iotdb
时序数据说11 天前
时序数据库IoTDB数据导入与查询功能详解
大数据·数据库·开源·时序数据库·iotdb
TDengine (老段)12 天前
TDengine 3.3.5.0 新功能——服务端查询内存管控
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
TDengine (老段)12 天前
使用 Telegraf 向 TDengine 写入数据
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
时序数据说13 天前
时序数据库双存储引擎技术解析
大数据·数据库·物联网·开源·时序数据库·iotdb
TDengine (老段)14 天前
使用 Prometheus 访问 TDengine ---
大数据·数据库·prometheus·时序数据库·iot·tdengine·涛思数据