Mysql被黑客入侵及安全措施总结「建议收藏」

Mysql被黑客入侵及安全措施总结「建议收藏」情况概述 今天登陆在腾讯云服务器上搭建的 MySQL 数据库,发现数据库被黑了,黑客提示十分明显。 MySQL 中只剩下两个数据库,一个是information_schema,另一个是黑客创建的PLE

情况概述

今天登陆在腾讯云服务器上搭建的 MySQL 数据库,发现数据库被黑了,黑客提示十分明显。

MySQL 中只剩下两个数据库,一个是information_schema,另一个是黑客创建的PLEASE_READ,其中有一张info表,内容如下:

  • Info: Your DB is Backed up at our servers, to restore send 0.2 BTC to the Bitcoin Address then send an email with your server ip
  • Bitcoin_Address: 1F33LEJjdphD6YpaonNCHejwLcgkgDGQW9
  • Email: mysqldata@mail2tor.com

显然,我这是遇到比特币敲诈了。我的数据在别人的服务器里安然的躺着,需要向黑客支付 0.2 比特币才有可能恢复。按照当前的汇率,0.2 比特币大约为 1400 人民币,这是我第一次遇到网络敲诈,金额还不小。

所幸数据库里并没有值钱的数据,就当是送给黑客了,不过 数据库安全问题 引起了我的注意。


安全措施

 

MySQL 中只剩下两个数据库,一个是information_schema,另一个是黑客创建的PLEASE_READ,其中有一张info表,内容如下:

  • Info: Your DB is Backed up at our servers, to restore send 0.2 BTC to the Bitcoin Address then send an email with your server ip
  • Bitcoin_Address: 1F33LEJjdphD6YpaonNCHejwLcgkgDGQW9
  • Email: mysqldata@mail2tor.com

显然,我这是遇到比特币敲诈了。我的数据在别人的服务器里安然的躺着,需要向黑客支付 0.2 比特币才有可能恢复。按照当前的汇率,0.2 比特币大约为 1400 人民币,这是我第一次遇到网络敲诈,金额还不小。

所幸数据库里并没有值钱的数据,就当是送给黑客了,不过 数据库安全问题 引起了我的注意。


安全措施

由于缺乏必要的安全措施和备份机制,数据库中原有的数据均已丢失。为了恢复到 MySQL 初始的状态,重新安装了 MySQL 数据库,并且重新创建原先存在的数据库,同时,为了防止再次被黑客入侵,对 MySQL 进行了一些安全配置。

针对此事项,建议做以下调整,以防范黑客攻击:

 1、服务器的管理员密码具备一定复杂度,建议使用字母、数字、字符组合的密码。

 2、服务器关闭远程访问(或关闭外网的远程访问),调整远程访问默认的端口号。

 3、mysql的root用户密码具备一定复杂度,建议使用字母、数字、字符组合的密码。

 4、mysql不允许任意远程端连接,建议仅对协同系统所在的IP地址放开连接。

 5、mysql不使用默认的3306端口,建议修改为其他端口。(mysql的配置文件:Windows为my.ini、Linux为my.cnf,修改其端口号)

 修改my.cnf端口
vim /etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=3389
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

以上红色处为新增的端口设置信息

代码100分

6、mysql设置定时备份,并将数据备份包备份在异机(或异地)。

快快腾出您的宝贵时间,落实以上几点,为您的数据库保驾护航!

 

 ——————————————————————————-

 

yum 和 rpm安装mysql彻底删除

1、yum方式安装的MySQL

 $ yum remove mysql mysql-server mysql-libs compat-mysql51

rm -rf /var/lib/mysq

rm /etc/my.cnf

查看是否还有mysql软件:

rpm -qa|grep mysql

如果存在的话,继续删除即可,删除方式:yum remove + 【名字】

 

2、查看系统中是否以rpm包安装的mysql:

[root@localhost opt]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686

 

a)卸载mysql

[root@localhost local]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@localhost local]# rpm -e MySQL-client-5.6.17-1.el6.i686

b)删除mysql服务

centos7版本以下用以下命令:

[root@localhost local]# chkconfig –list | grep -i mysql
[root@localhost local]# chkconfig –del mysql

centos7版本以上用以下命令:

systemctl list-dependencies mysql

下一步不知道了。。。

c)删除分散mysql文件夹

[root@localhost local]# whereis mysql 或者 find / -name mysql 两个都试一下

mysql: /usr/lib/mysql /usr/share/mysql

清空相关mysql的所有目录以及文件,逐一删除
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql

rm -rf /usr/my.cnf

 总之删到通过上面两种命令查不出来任何有关mysql的东西

通过以上几步,mysql应该已经完全卸载干净了。

 

安装mysql

1. 获取rpm包

代码100分rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2. 安装

yum -y install mysql-community-server

安装完成

3. 启动mysql服务

代码100分#加入开机启动
systemctl enable mysqld
#启动mysql服务进程
systemctl start mysqld
#查看mysql状态
systemctl status mysqld

4. 初始化

#初始化,执行命令,重置密码 
mysql_secure_installation

 

#会依次出现以下问题。
Set root password? [Y/n]
是否设置root用户的密码 (y后【设置登录密码】)
Remove anonymous users? [Y/n]
是否删除匿名用户 (y)
Disallow root login remotely? [Y/n]
是否禁止root远程登录 (n)
Remove test database and access to it? [Y/n]
是否删除test数据库(y)
Reload privilege tables now? [Y/n]
是否重新加载授权信息 (y)

5. 创建远程登录的用户

# 先进入mysql
mysql -u root -p
# 授权(root用户)远程连接权限(不建议)
GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "远程登录密码" WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 使用单独的远程登录用户(推荐)
GRANT ALL PRIVILEGES ON *.* TO "新用户名"@"%" IDENTIFIED BY "远程登录密码" WITH GRANT OPTION;
FLUSH PRIVILEGES;

 

 

good luck!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10407.html

(0)
上一篇 2022-12-28
下一篇 2022-12-28

相关推荐

  • MySql的回顾六:子查询(内查询)「终于解决」

    MySql的回顾六:子查询(内查询)「终于解决」西北望乡何处是,东南见月几回圆。 月亮又慢悠悠的挂上了天空,趁着睡前梦呓,我就带领各位可爱的读者们探索MySql最后的子查询部分。 说明:有些查询结果出来结果截图与题目要求不一样会出现多余的字段是为了

    2023-03-27
    113
  • postgresql中时间转换TO_DATE和TO_TIMESTAMP

    postgresql中时间转换TO_DATE和TO_TIMESTAMP起因:使用TO_DATE转换时分秒的数据时,将当天的数据过滤掉了,实际并没有统计到当天数据,发现TO_DATE转换的时候,不带有时分秒,这个跟oracle差异较大。 解决办法 1.使用TO_TIME…

    2023-03-17
    113
  • SQL 为聚合结果指定条件(HAVING)[通俗易懂]

    SQL 为聚合结果指定条件(HAVING)[通俗易懂]学习重点 使用 COUNT 函数等对表中数据进行汇总操作时,为其指定条件的不是 WHERE 子句,而是 HAVING 子句。 聚合函数可以在 SELECT 子句、HAVING 子句和 ORDER BY

    2023-04-28
    99
  • 以Python包为中心的工程师

    以Python包为中心的工程师Python是一门高级编程语言,而包是指将多个模块组合成的一个工具集,使得模块变得更加有组织、更加易于使用。Python包在开发中的作用极其重要,它可以避免命名冲突、管理依赖、提供模块组织结构、代码复用等等。

    2024-05-20
    16
  • Python实现内容优化技巧

    Python实现内容优化技巧关键词优化是SEO中最基础最重要的环节,也是内容优化的基础。在Python中,可以使用爬虫来获取到一些和产品相关的关键词。关键词的选择要求相关性强、搜索量大、竞争度低,可以使用a href=”https://ads.google.com/home/tools/keyword-planner/”Google Ads关键词规划师/a来进行筛选。

    2023-12-18
    55
  • MYSQL用户权限管理[亲测有效]

    MYSQL用户权限管理[亲测有效]1.在MySQL中,用户是怎么定义的 #mysql中,定义一个用户是: 用户名@’主机域’ #用户名写法: 用户名如果是字符: mysql> create user root@’10.0.0.1′;…

    2023-03-20
    122
  • Mysql 命令行下更好的显示查询结果

    Mysql 命令行下更好的显示查询结果 Mysql 命令行下更好的显示查询结果 虽然自己很不愿意“破事水”,但是终究还是很实用的技能,mark一下 Mysql 以G结束查询语句 postgresql 以x结束查询语句 …

    2023-03-21
    117
  • oracle 数据库用户权限_oracle 用户权限

    oracle 数据库用户权限_oracle 用户权限概念:https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/introduction-to-oracle-datab…

    2023-04-21
    110

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注