请注意安全!你的mongodb已经被黑了!互联网安全生产大过天!
你所不知道的入侵,你的服务器安全吗?你的数据库安全吗?
讲真,也许是我以前一直从事内网应用开发吧,我从来没有想过在互联网上,有那么多扫描器。
10月份的时候,受人委托我做了一个简单的抢单插件,里面有用到squid做ip代理,结果刚上线两天,就被人扫描出来了,因为疯狂使用,还把我的微服务给搞挂了。当然不搞挂,我可能一直发现不了。但那次的教训并没有让我长记性。
我的mongodb部署在阿里云上已经四个多月了,一直开着27017端口的,一来我没有正式使用,二来我没有正直的认为我会被人删除数据。虽然看过mongodb因为没有设置用户名和密码,导致数据库被人删库,并勒索BTC,但总觉得我不招谁,不惹谁,没人来搞我的。
互联网的美妙之处就是开放、自由,但是互联网没有说让我们裸奔。12月的一天,办公应用刚开始准备真正生产起来,第二天就被人告知,昨天登录的用户名显示用户不存在?
what?这不科学~!
我飞奔向办公室,直觉告诉我,生产环境出大事了。
打开电脑,用Navicat连接服务器mongo,看到了这个:
还好我的服务只上线了两天,办公应用数据使用的是mysql,sea微服务平台才用的是mongo,都是一些用户、资源、权限、代理等数据。按这个提示,我想都不用想,这些数据我肯定不会去支付0.1BTC了,虽然是用户数据,但都是小程序与微信绑定的数据,连密码和手机号码都没有了,丢了就丢了,不可惜。
万幸的是业务数据还在,只不过原先的用户已经找不到他们提交的数据了,我跟用户方沟通后,用户方表示只要业务数据还在,用户看不看的到无所谓,才松了口气。
后面花了半天的时间将我本机的数据进行了恢复,并写了shell脚本做了mongdb的定时备份,这此罢休,懂行的人肯定知道,这样做肯定是不够的
我还将阿里云的端口做了封堵,只允许某个ip远程访问我的阿里云服务器,详细情况,请看史上最安全的阿里云配置,让非法远程打扰你的人一边凉快去!
请注意安全!你的mongodb已经被黑了!互联网安全生产大过天!的更多相关文章
- 2017年开年的第一次比较大的安全事件: MongoDB “赎金事件”,如何看待互联网安全问题
今天上午(2017年1月7日),我的微信群中同时出现了两个MongoDB被黑掉要赎金的情况,于是在调查过程中,发现了这个事件.这个事件应该是2017年开年的第一次比较大的安全事件吧,发现国内居然没有什 ...
- mongodb 速成笔记
以下环境为mac osx + jdk 1.8 + mongodb v3.2.3 一.安装 brew安装方式是mac下最简单的方式 brew update brew install mongodb 其它 ...
- MongoDB CURD 介绍
MongoDB是用JSON格式的field和value成对的documents存储数据,documents类似于编程语言中的key value 键值对(例如:dictionaries,hashes,m ...
- mongodb入门学习小记
Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...
- 开发基于C#.NET的mongodb桌面版的应用程序(1)
1.之前没有使用过C#开发过相应的桌面应用程序,现在既然要从零到有进行开发,自然要掌握好C#桌面开发相关的原理与技术,以及站在多类型用户的角度开发具有实际生产意义的mongodb数据库管理软件. 2. ...
- [转载]MongoDB开发学习 经典入门
如果你从来没有接触MongoDB或对MongoDB有一点了解,如果你是C#开发人员,那么你不妨花几分钟看看本文.本文将一步一步带您轻松入门. 阅读目录 一:简介 二:特点 三:下载安装和开启服务器 四 ...
- [教程]MongoDB 从入门到进阶 (User系统)
自从MongoDB升级到2.4之后,User系统,或者说是权限系统有了翻天覆地的变化. 在MongoDB2.4之前的User系统,除了用户名和密码之外,只有一个ReadOnly属性. 如果一个用户在a ...
- Mongodb Manual阅读笔记:CH8 复制集
8 复制 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔 ...
- mongodb 与 c++ 的配合使用
最近在尝试使用 mongodb 作为服务端持久化方案,服务端程序是使用 c++ 写的,折腾了不少时间,记录一下吧. 1.下载 boost 1.56.0 http://www.boost.org/use ...
随机推荐
- C#操作注册表(简单方便,兼容X32和X64)
C#操作注册表(简单方便,兼容X32和X64) 大家好,我在这里给大家介绍本人实现的操作注册表的类,简单方便,兼容32位系统和64位系统. 一般大家用C#操作注册的方法是使用命名空间Microsoft ...
- docker仓库和dockerfile
通过Dockerfile创建镜像 Dockerfile • Dockerfile语法格式 – FROM:基础镜像 – MAINTAINER:镜像创建者信息 – COPY:复制文件到镜像(所有文 ...
- Java 中级 学习笔记 2 JVM GC 垃圾回收与算法
前言 在上一节的学习中,已经了解到了关于JVM 内存相关的内容,比如JVM 内存的划分,以及JDK8当中对于元空间的定义,最后就是字符串常量池等基本概念以及容易混淆的内容,我们都已经做过一次总结了.不 ...
- js六种数据类型
六种数据类型: undefined . boolean .string .number .object .function 效果地址:https://scrimba.com/c/cEedDGTd 代 ...
- 数字任意组合 - gcd
链接:https://www.nowcoder.com/acm/contest/160/A来源:牛客网 题目描述有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an ...
- React Context 的用法
在React的官方文档中,Context被归类为高级部分(Advanced),属于React的高级API,但官方并不建议在稳定版的App中使用Context. The vast majority of ...
- 【笔记】java并发编程实战
线程带来的问题:a)安全性问题b)活跃性问题c)性能问题 要编写线程安全的代码其核心在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问 Java中的主要同步机制是关键字synchroniz ...
- 官方文档中文版!Spring Cloud Stream 快速入门
本文内容翻译自官方文档,spring-cloud-stream docs,对 Spring Cloud Stream的应用入门介绍. 一.Spring Cloud Stream 简介 官方定义 Spr ...
- typedef声明变量也是一种求值过程
前言: 什么叫做:声明变量是求值过程?请看下面的声明, int i; 很简单,声明了个整型变量i,再看如下声明, int *p; 也很简单,立刻反应出来它是指向整型的指针,但是具体如何推倒出来的呢?其 ...
- nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.报错解决
近期在学springboot,学的时候遇到这个错,网上查了好多,改了不行,后来发现自己的配置类没有加@SpringBootApplication注解 Exception encountered dur ...