我们的数据库被攻破了。尽管我们更改了MySQL数据库用户凭据,甚至移到了一个新数据库,更改了服务器用户凭据、CPanel和FTP用户凭据,并增强了安全性,但数据还是一再遭到破坏。
它似乎是隐藏在系统文件中的特洛伊木马/恶意软件。我们尝试了几乎所有的东西(完全恶意软件/病毒扫描,将安全补丁应用于我们的应用程序,启用MySQL日志),无论是从我们的终端还是从主机提供商,但仍然没有找到恶意软件。
我们启用了MySQL通用查询日志来记录所有查询(尽管我们只需要记录数据操作查询),通过此我们可以找到查询及其时间戳,而没有其他关键细节,比如执行查询的MySQL用户以及用户如何连接到数据库。
发布于 2023-01-31 19:05:10
MySQL/MariaDB不具备所需的审核功能。有一个“审核”插件,你应该添加。
作为预防措施:
dbname.*,而不是*.*。此外,PRIVILEGES应该仅限于所需的内容,而不是ALL PRIVILEGES。SUPER特权。REPLICATION SLAVE特权。那些需要查看副本状态的人可以被授予REPLICATION CLIENT。(这可能相当安全。)<form>s的填充。阅读"SQL注入“的罪恶和恐怖--这让黑客不仅可以访问数据库,还可以访问整个文件系统。发布于 2023-01-31 21:12:35
最简单的方法是使用启用慢日志而不是普通日志。
Mar 02, 2018:mysql 5.7一般_日志表有用户_宿主,但该文件不 (慢日志文件)Dec 27, 2011:如何做MySQL用户计费 (慢速记录表)慢速日志文件和表都可以记录执行的查询的用户和主机。
您必须将长_查询_时间设置为0.0001才能捕获几乎所有的查询。
唯一的缺点是缓慢的日志只记录已完成的查询。长期运行的查询,改变事情不会被记录,直到他们完成。
https://dba.stackexchange.com/questions/322814
复制相似问题