MYSQL数据库被入侵篡改了数据 该如何解决?

简介: 接触mysql数据库已经很多年了,经常碰到mysql数据库被攻击,导致用户的数据库       丢失,数据库被删除,花钱找人恢复出来少则几万,多则几十万的花费,在防止数       据库被攻击的同时,也要做好数据库的实时备份,如果使用了阿里云的服务器,可       以使用阿里云的快照备份,可以及时的备份一份数据在自己手里。
接触mysql数据库已经很多年了,经常碰到mysql数据库被攻击,导致用户的数据库
 
      丢失,数据库被删除,花钱找人恢复出来少则几万,多则几十万的花费,在防止数
 
      据库被攻击的同时,也要做好数据库的实时备份,如果使用了阿里云的服务器,可
 
      以使用阿里云的快照备份,可以及时的备份一份数据在自己手里。
 
                     
 
       这么多年了摸索下来,给自己总结了一些安全经验、从数据库安全类型的角度来看
 
      ,数据库分Mysql、Mssql、Oracle、PostgreSQL,用的最多的是mysql数据库,如
 
      果再算上web前端架构,Apache、IIS、nginx都是与数据库相关的。
 
 
      数据库攻击产生是因为前端程序代码没有对用户的输入,进行详细的安全过滤,导
 
      致黑客可以篡改输入值,来进行代码的攻击,比如一些数据库的操作查询代码都可
 
      以传入到后端数据库里去。
 
 
     最常见就是是数据库的UNION查询,也是mysql中用的最多的一种获取数据库里的数
 
     据,首先是UNION带回显查询常规流程。随后是mysql报错函数的原理、与注入,黑
 
     客通过一些特殊的注入语句就可以轻松的查询到想要的信息。
 
 
     OOB注入攻击数据库
 
     OOB注入,就是通过非常规的方式将数据传输出去。同样需要secure_file_priv权
 
     限,对于Mysql有DNS(域名漏洞)和SMB两种主要带外传输方式。这种技术在概念
 
    上比较难理解,但掌握之后是非常强大的技术,除了能绕过WAF向外带出数据之外
 
     ,还可以结合XSS漏洞进行危害性更大的黑客攻击。
 
 
    宽字节注入攻击
 
    宽字节注入可以在web应用转义单引号的情况下,利用宽字节的特性,吃掉转义反
 
    斜杠。然后传入带有攻击性的代码,进而攻击数据库。
 
 
 
    以上种种都是黑客攻击数据库的方式,那么如何防止数据库被攻击?最重要的还是
 
    要在网站前端做好防护,在程序代码里尽可能的去过滤非法参数,避免恶意代码传
 
    入到数据库中去,再一个就是开始PHP的报错模式,以及mysql默认3306端口的关闭
 
     ,只允许本地调用数据库。
 
 
     把mysql运行账户的权限,限制到最小,千万不要用root以及管理员权限去运行。
 
     mysql的自身的4个库安全权限限制:
 
     user、db、TABLES_PRTV、Columns_prtv
 
     mysql密码安全策略,数字+子母+字符  最起码十位以上
 
     mysql安全日志开启,包括错误日志,查询日志记录所有的sql语句。
专注于安全领域 解决网站安全 解决网站被黑 网站被挂马 网站被篡改 网站安全、服务器安全提供商-www.sinesafe.com --专门解决其他人解决不了的网站安全问题.
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
12月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
819 10
|
SQL 存储 缓存
MySQL 如何高效可靠处理持久化数据
本文详细解析了 MySQL 的 SQL 执行流程、crash-safe 机制及性能优化策略。内容涵盖连接器、分析器、优化器、执行器与存储引擎的工作原理,深入探讨 redolog 与 binlog 的两阶段提交机制,并分析日志策略、组提交、脏页刷盘等关键性能优化手段,帮助提升数据库稳定性与执行效率。
323 0
|
SQL 人工智能 关系型数据库
如何实现MySQL百万级数据的查询?
本文探讨了在MySQL中对百万级数据进行排序分页查询的优化策略。面对五百万条数据,传统的浅分页和深分页查询效率较低,尤其深分页因偏移量大导致性能显著下降。通过为排序字段添加索引、使用联合索引、手动回表等方法,有效提升了查询速度。最终建议根据业务需求选择合适方案:浅分页可加单列索引,深分页推荐联合索引或子查询优化,同时结合前端传递最后一条数据ID的方式实现高效翻页。
606 0
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
存储 SQL 缓存
mysql数据引擎有哪些
MySQL 提供了多种存储引擎,每种引擎都有其独特的特点和适用场景。以下是一些常见的 MySQL 存储引擎及其特点:
359 0
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
637 28
|
SQL 关系型数据库 MySQL
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
本文探讨了在使用YMP 23.2.1.3迁移MySQL Server字符集为latin1的中文数据至YashanDB时出现乱码的问题。问题根源在于MySQL latin1字符集存放的是实际utf8编码的数据,而YMP尚未支持此类场景。文章提供了两种解决方法:一是通过DBeaver直接迁移表数据;二是将MySQL表数据转换为Insert语句后手动插入YashanDB。同时指出,这两种方法适合单张表迁移,多表迁移可能存在兼容性问题,建议对问题表单独处理。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
|
缓存 NoSQL 关系型数据库
Redis和Mysql如何保证数据⼀致?
1. 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不⼀致 2. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中 这种⽅案能解决1 ⽅案的问题,但是在⾼并发下性能较低,⽽且仍然会出现数据不⼀致的问题,⽐如线程1删除了 Redis缓存数据,正在更新Mysql,此时另外⼀个查询再查询,那么就会把Mysql中⽼数据⼜查到 Redis中 1. 使用MQ异步同步, 保证数据的最终一致性 我们项目中会根据业务情况 , 使用不同的方案来解决Redis和Mysql的一致性问题 : 1. 对于一些一致性要求不高的场景 , 不做处理例如 : 用户行为数据 ,
|
存储 SQL 关系型数据库
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为'0'或'1',查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
950 9

推荐镜像

更多