你所不知道的入侵,你的服务器安全吗?你的数据库安全吗?

讲真,也许是我以前一直从事内网应用开发吧,我从来没有想过在互联网上,有那么多扫描器。

10月份的时候,受人委托我做了一个简单的抢单插件,里面有用到squid做ip代理,结果刚上线两天,就被人扫描出来了,因为疯狂使用,还把我的微服务给搞挂了。当然不搞挂,我可能一直发现不了。但那次的教训并没有让我长记性。

我的mongodb部署在阿里云上已经四个多月了,一直开着27017端口的,一来我没有正式使用,二来我没有正直的认为我会被人删除数据。虽然看过mongodb因为没有设置用户名和密码,导致数据库被人删库,并勒索BTC,但总觉得我不招谁,不惹谁,没人来搞我的。

互联网的美妙之处就是开放、自由,但是互联网没有说让我们裸奔。12月的一天,办公应用刚开始准备真正生产起来,第二天就被人告知,昨天登录的用户名显示用户不存在?

what?这不科学~!

我飞奔向办公室,直觉告诉我,生产环境出大事了。

打开电脑,用Navicat连接服务器mongo,看到了这个:

还好我的服务只上线了两天,办公应用数据使用的是mysql,sea微服务平台才用的是mongo,都是一些用户、资源、权限、代理等数据。按这个提示,我想都不用想,这些数据我肯定不会去支付0.1BTC了,虽然是用户数据,但都是小程序与微信绑定的数据,连密码和手机号码都没有了,丢了就丢了,不可惜。

万幸的是业务数据还在,只不过原先的用户已经找不到他们提交的数据了,我跟用户方沟通后,用户方表示只要业务数据还在,用户看不看的到无所谓,才松了口气。

后面花了半天的时间将我本机的数据进行了恢复,并写了shell脚本做了mongdb的定时备份,这此罢休,懂行的人肯定知道,这样做肯定是不够的

我还将阿里云的端口做了封堵,只允许某个ip远程访问我的阿里云服务器,详细情况,请看史上最安全的阿里云配置,让非法远程打扰你的人一边凉快去!

请注意安全!你的mongodb已经被黑了!互联网安全生产大过天!的更多相关文章

  1. 2017年开年的第一次比较大的安全事件: MongoDB “赎金事件”,如何看待互联网安全问题

    今天上午(2017年1月7日),我的微信群中同时出现了两个MongoDB被黑掉要赎金的情况,于是在调查过程中,发现了这个事件.这个事件应该是2017年开年的第一次比较大的安全事件吧,发现国内居然没有什 ...

  2. mongodb 速成笔记

    以下环境为mac osx + jdk 1.8 + mongodb v3.2.3 一.安装 brew安装方式是mac下最简单的方式 brew update brew install mongodb 其它 ...

  3. MongoDB CURD 介绍

    MongoDB是用JSON格式的field和value成对的documents存储数据,documents类似于编程语言中的key value 键值对(例如:dictionaries,hashes,m ...

  4. mongodb入门学习小记

    Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...

  5. 开发基于C#.NET的mongodb桌面版的应用程序(1)

    1.之前没有使用过C#开发过相应的桌面应用程序,现在既然要从零到有进行开发,自然要掌握好C#桌面开发相关的原理与技术,以及站在多类型用户的角度开发具有实际生产意义的mongodb数据库管理软件. 2. ...

  6. [转载]MongoDB开发学习 经典入门

    如果你从来没有接触MongoDB或对MongoDB有一点了解,如果你是C#开发人员,那么你不妨花几分钟看看本文.本文将一步一步带您轻松入门. 阅读目录 一:简介 二:特点 三:下载安装和开启服务器 四 ...

  7. [教程]MongoDB 从入门到进阶 (User系统)

    自从MongoDB升级到2.4之后,User系统,或者说是权限系统有了翻天覆地的变化. 在MongoDB2.4之前的User系统,除了用户名和密码之外,只有一个ReadOnly属性. 如果一个用户在a ...

  8. Mongodb Manual阅读笔记:CH8 复制集

    8 复制 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔 ...

  9. mongodb 与 c++ 的配合使用

    最近在尝试使用 mongodb 作为服务端持久化方案,服务端程序是使用 c++ 写的,折腾了不少时间,记录一下吧. 1.下载 boost 1.56.0 http://www.boost.org/use ...

随机推荐

  1. 1029 旧键盘 (20 分)C、Java、python

    题目描述 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出 肯定坏掉的那些键. 输入描述: 输入在2行中分别给出应该输入的文 ...

  2. 08_jquery里面的$(this)和this都什么时候用,有什么区别

    当你用的是jquery时,就用$(this),如果是JS,就用this $(this).html( $(this).html() + " BAM! "); 这个里的html()是J ...

  3. 基于CentOS 7 部署MySQL 5.7的基本操作

    关闭selinux # sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config重启后生效# sestatus 修改提示符配置# vi / ...

  4. .net core3.1项目在centos7.6上部署经验

    0x00环境搭建 1)使用PuTTY远程登录你的centos 2)yum -y update 更新系统 3)安装宝塔面板: yum install -y wget && wget -O ...

  5. License for package Android SDK Build-Tools 28.0.3 not accepted

    License for package Android SDK Build-Tools 28.0.3 not accepted 用flutter进行编写时出现了标题的错误,不是配置的原因,而是需要接受 ...

  6. docker操作

    Redis docker run -itd --name myredis -v /dockerdata/redis/config/redis.conf:/etc/redis/redis.conf  - ...

  7. Collection 的子类 List

    List集合的一些使用方法: 一. 声明集合: List<String> list = new ArrayList<String>(); 二.往集合里面添加元素 list.ad ...

  8. C# Post发送 接受Xml

    //组合xml内容 StringBuilder strBuilder = new StringBuilder(); var par= @"<xml> <appid>w ...

  9. 【Java基础总结】字符串

    1. java内存区域(堆区.栈区.常量池) 2. String length() //长度 //获取子串位置 indexOf(subStr) lastIndexOf(subStr) //获取子串 c ...

  10. 在GeneXus开发过程中如何进行自动化测试?

    1. 简介 GXtest是基于专门为GeneXus平台开发的应用程序提供的自动化测试解决方案. 我们强调“解决方案”和“自动化”两个词: 解决方案:GXtest为整个GeneXus软件开发生命周期提供 ...