推荐理由

大数据时代,人类产生的数据越来越多,但数据越多的情况下,也会带来数据的安全性问题,如MySQL数据库上的数据,越来越多的黑客盯上了它,今天推荐的这篇文章来自于腾讯云技术社区,主要是针对MySQL的安全建议和修复方案。 据最新报道显示,继MongoDB和Elasticsearch之后,MySQL成为下个数据勒索目标,从2月12日凌晨开始,已有成百上千个开放在公网的MySQL数据库被劫持,删除了数据库中的存储数据,攻击者留下勒索信息,要求支付比特币以赎回数据。

问题分析

遍观MongoDB和Elasticsearch以及现在的MySQL数据库勒索,可以发现都是基线安全问题导致被黑客劫持数据而勒索,原因在于这些服务都开放在公网上,并且存在空密码或者弱口令等使得攻击者可以轻易暴力破解成功,直接连上数据库从而下载并清空数据,特别是不正确的安全组配置导致问题被放大。 其实类似问题已不是第一次,近期云鼎实验室观测到多起案例,攻击呈现扩大态势,不仅仅是勒索,更多的是服务器被入侵,从而导致数据被下载。基线安全问题已经成了Web漏洞之外入侵服务器的主要途径,特别是弱口令等情况。错误的配置可以导致相关服务暴露在公网上,成为黑客攻击的目标,加上采用空密码等弱口令,黑客可以轻易入侵这些服务。

安全自查

值此事件爆发之际,建议对自己的服务器进行自查,避免相关数据丢失等问题,具体自查方式可参考如下:

1、排查服务器开放的端口及对应的服务,如无必要,关闭外网访问;可以使用NMap 直接执行 nmap 服务器IP(在服务器外网执行),可得到以下结果即为开放在外网的端口和服务。



2、重点针对这些开放在公网上的服务进行配置的检查,检查相关服务是否设置密码,是否弱口令。 3、如无必要,均不要使用root或者其他系统高权限账号启动相关服务。 安全建议及修复方案

一、采用正确的安全组或者iptables等方式实现访问控制;

二、关闭相关服务外网访问和修改弱密码:

1、MongoDB

a. 配置鉴权 下面以3.2版本为例,给出 MongoDB设置权限认证,具体步骤如下:

  1. 启动MongoDB进程是加上-auth参数或在MongoDB的配置文件中加上auth = true;
  2. 带auth启动的MongoDB,如未创建用户,MongoDB会允许本地访问后创建管理员用户。创建步骤如下:

    1. 切换到 admin 库; 2. 创建管理员用户,命令如下(user和pwd可以根据需要设置): db.createUser({user: "root",pwd: "password",roles: [ "root" ]}) 3. 使用管理员用户登录后,根据角色创建您需要的用户

b. 关闭公网访问 可通过MongoDB的bind_ip参数进行配置,只需将IP绑定为内网IP即可,如下:

1. 启动时增加bind_ip参数:mongod --bind_ip 127.0.0.1,10.x.x.x 2. 在配置文件mongodb.conf中添加以下内容: bind_ip = 127.0.0.1,10.x.x.x 其中10.x.x.x为您机器的内网IP.

2、Redis

a. 配置鉴权 1. 修改配置文件,增加 “requirepass 密码” 项配置(配置文件一般在/etc/redis.conf) 2. 在连接上Redis的基础上,通过命令行配置,config set requirepass yourPassword b. 关闭公网访问 配置bind选项,限定可以连接Redis服务器的IP,修改 Redis 的默认端口6379 c.其他 配置rename-command 配置项 “RENAME_CONFIG”,重名Redis相关命令,这样即使存在未授权访问,也能够给攻击者使用config 指令加大难度(不过也会给开发者带来不方便) 相关配置完毕后重启Redis-server服务

3.MySQL

配置鉴权 MySQL安装默认要求设置密码,如果是弱命令,可通过以下几种方式修改密码: 1.UPDATE USER语句 //以root登录MySQL后, USE mysql; UPDATE user SET password=PASSWORD('新密码') WHERE user='root'; FLUSH PRIVILEGES;

2.SET PASSWORD语句 //以root登录MySQL后, SET PASSWORD FOR root=PASSWORD('新密码'); 3.mysqladmin命令 mysqladmin -u root -p 旧密码 新密码

b. 关闭公网访问 1.启动参数或者配置文件中设置bind-address= IP绑定内部IP

2.以root账号连接数据库,排查user表中用户的host字段值为%或者非localhost的用户,修改host为localhost或者指定IP或者删除没必要用户

4、其他服务

请参考以上方式或者官方文档进行配置

参考链接

1.《避免 MongoDB 被勒索详解,腾讯云上更安全》http://t.cn/RiVUEdY

2.《下一个猎杀目标:近期大量MySQL数据库遭勒索攻击》http://t.cn/Ri5ES1T

3.《知名搜索引擎Elasticsearch成为勒索软件敲诈目标》http://t.cn/RiVUgFD

4.《Redis 未授权访问配合 SSH key 文件利用分析》http://t.cn/RUO9UGY

文章出自腾讯云技术社区

https://www.qcloud.com/community/article/519598001488335177

推荐大家关注腾讯云技术社区微信公众号:QcloudCommunity

腾讯云报告——MySQL成勒索新目标,数据服务基线安全问题迫在眉睫的更多相关文章

  1. MySQL成勒索新目标,数据服务基线安全问题迫在眉睫

    版权声明:本文由云鼎实验室原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/519598001488335177 来源:腾云阁 ...

  2. 警惕!MySQL成数据勒索新目标

    据最新报道显示,继MongoDB和Elasticsearch之后,MySQL成为下个数据勒索目标,从2月12日凌晨开始,已有成百上千个开放在公网的MySQL数据库被劫持,删除了数据库中的存储数据,攻击 ...

  3. Navicat连接腾讯云实例MySQL

    Navicat连接腾讯云实例MySQL 授权所有的用户通过root账户 root密码登陆远程数据库 连接腾讯云实例上的MySQL数据库 这里的密码填入数据库的密码 这里的密码填入登陆云实例的密码也就是 ...

  4. 【阿里云产品公测】结构化数据服务OTS之JavaSDK初体验

    [阿里云产品公测]结构化数据服务OTS之JavaSDK初体验 作者:阿里云用户蓝色之鹰 一.OTS简单介绍 OTS 是构建在阿里云飞天分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实 ...

  5. windows本地连接腾讯云的mysql服务器

    由于最近数据库需要用上Navicat作为数据库,但是我的mysql装在腾讯云的Ubuntu上,因此需要做些配置开放端口,和监听端口,因此略显麻烦,这里记录一下连接的具体步骤,方便以后又得装(flag) ...

  6. 腾讯云主机 MySQL 远程访问配置方法

    使用腾讯云主机安装 MySQL 之后,需要通过以下步骤进行配置以实现远程访问,主要分为两大部分 一.服务器端口配置 1.如果你的云主机配置了安全组,如果没有配置安全组就可以直接跳过“步骤1”的操作,否 ...

  7. 访问腾讯云主机mysql的设置问题

    ---恢复内容开始--- 1.需要打开腾讯云主机的防火墙端口3306,具体实现可以在腾讯云控制台安全组中设置开放全部端口(安全组对应入站.出战规则): 2.将云主机mysql中mysql数据库user ...

  8. 腾讯云:基于 Ubuntu 搭建 VNC 远程桌面服务

    基于 Ubuntu 搭建 VNC 远程桌面服务 前言 任务时间:5min ~ 10min 必要知识 本教程假设您已学习以下 Ubuntu 基本操作: 连接 SSH 执行命令 编辑文件 如果还没有掌握 ...

  9. 远程连接腾讯云服务器MySQL数据库

    1.添加腾讯云安全组规则的MySQL 3306端口 将所有端口打开,至少打开3306,不在赘述. 2.打开更改MySQL配置文件 打开配置文件 vi /etc/mysql/mysql.conf.d/m ...

随机推荐

  1. .Net下的分库分表帮助类——用分库的思想来分表

    简介     在大型项目中,我们会遇到分表分库的情景.      分库,将不同模块对应的表拆分到对应的数据库下,其实伴随着公司内分布式系统的出现,这个过程也是自然而然就发生了,对应商品模块和用户模块, ...

  2. matlab 利用while循环计算平均值和方差

    一.该程序是用来测输入数据的平均值和方差的 公式: 二. 项目流程: 1. State the problem假定所有测量数为正数或者0,计算这一系列测量数的平均值和方差.假定我们预先不知道有多少测量 ...

  3. SmartRoute之远程接口调用和负载

    基于接口的调用远比基于基础消息交互来得更简单和便于维护,特别在业务展现上,接口作为业务表现更适合其便利性.为了让SmartRoute更适合业务应用集成,在新的一年开始SmartRoute集成了远程接口 ...

  4. 自定义仿 QQ 健康计步器进度条

    自定义仿 QQ 健康计步器进度条 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:CircleProgress 文中如有纰漏,欢迎大家留言指出. 闲着没事,趁上班时间偷偷撸了 ...

  5. 【CNMP系列】CentOS7.0下安装MySql5.6服务

    接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...

  6. 关于adb重启的一些问题

    有时候我们在使用eclipse启动虚拟机进行程序测试的时候会提示,要我们重启adb和eclipse,这个时候,重启adb的方式就是,使用cmd定位到adb所在的文件夹,然后输入指令:adb kill- ...

  7. ES6新属性笔记

    一.destructuring--解构赋值 1.数组解构赋值 (1)完全解构 let [a,b,c] = [1,2,3];//普通 console.log(a+":"+b+&quo ...

  8. Oracle主键异常处理

    Hibernate: insert into test1.WarnWeather (WAREA, wdate, WDAYS, WINFO, WTYPE, WNO) values (?, ?, ?, ? ...

  9. 【UWP】Gank 干货集中营 客户端

    简介 一个偶然的机会,在网上看到了 <「代码家」的学习过程和学习经验分享>,知道了代码家做的Gank网站. 干货集中营 每日分享妹子图 和 技术干货,还有供大家中午休息的休闲视频 在看过一 ...

  10. 用smarty模板做数据实现修改、分页等功能

    先来看怎么把数据库的列表全都显示出来 还是要先建一个php文件,还有html文件,都存到相应的目录下 php文件中 <?php include("../init.inc.php&quo ...