您的位置首页 >江南app >

实时新闻:腾讯云鼎实验室:访问控制、强化密码可防MySQL数据库遭劫持

导读 分享一篇有关 ,手机方面文章给大家,相信很多小伙伴们还是对 ,手机这方面还是不太了解,那么小编也在网上收集到了一些关于手机

分享一篇有关 ,手机方面文章给大家,相信很多小伙伴们还是对 ,手机这方面还是不太了解,那么小编也在网上收集到了一些关于手机和 这方面的相关知识来分享给大家,希望大家看了会喜欢。

  据最新报道显示,继MongoDB和Elasticsearch之后,MySQL成为攻击者的下一个数据勒索目标。从2月12日凌晨开始,在短短30个小时内,就有成百上千个开放在公网的MySQL数据库遭到劫持,并被删除了数据库中的存储数据。攻击者留下勒索信息,要求支付0.2比特币的赎金(约为235美元)以赎回数据。

  据悉,在此次勒索攻击中,攻击者(可能)利用了一台被盗的邮件服务器,所有的攻击皆来自相同的IP地址,属于荷兰的一家网络托管服务提供公司。数据库遭受攻击的事件已不止一次发生。近期,腾讯安全联合实验室旗下的云鼎实验室已监测到多起案例,攻击呈现扩大态势,不仅仅是勒索,更多的是服务器被入侵,从而导致数据被下载。

  通过对MongoDB和Elasticsearch以及当前的MySQL数据库勒索分析,云鼎实验室发现,基线安全问题已经成了Web漏洞之外入侵服务器的主要途径。事实上,因为这些服务都开放在公网上,并且存在空密码或者弱口令等情况,所以才使得攻击者可以轻易暴力破解成功,直接连上数据库从而下载并清空数据。而不正确的安全组配置也导致数据库遭勒索的问题被放大。

  当前数据库频遭攻击,为此云鼎实验室技术专家认为,相关厂商应对自身服务器采取自查措施并给出具体自查方式,避免相关数据丢失等问题。技术专家建议,厂商可排查服务器开放的端口及对应的服务,如无必要,关闭外网访问;也可使用NMap直接执行 nmap 服务器IP(在服务器外网执行),得到开放在外网的端口和服务。

(开放在外网的端口和服务)

  同时,重点针对这些开放在公网上的服务进行配置的检查,检查相关服务是否设置密码,是否为弱口令。 如无必要,均不要使用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" ]})

  使用管理员用户登录后,根据角色创建您需要的用户

  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)其他

  1、配置rename-command 配置项 “RENAME_CONFIG”,重命名Redis相关命令,这样即使存在未授权访问,也能够给攻击者使用config 指令加大难度(不过也会给开发者带来不方便)

  相关配置完毕后重启Redis-server服务

  3、MySQL

  a)配置鉴权

  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或者删除没必要用户。

特别提醒:本网内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!
Baidu
map