首页 > 代码库 > 由max_allowed_packet引发的mysql攻防大战
由max_allowed_packet引发的mysql攻防大战
1.原因
程序的sql语句比较长.max_allowed_packet默认是1024.于是就报错了.一开始手动改 global max_allowed_packet ,改完后.莫名奇妙被还原.后来改配置文件还是不起作用(其实配置文件一开始就没生效,后来发现的).好几次了.恼火的不行.于是昨天百度之.看了好几个都感觉不靠谱.其中有个说被黑客攻击了.建议开启 general_log 日志查看一下记录.打算试试.
2.现行
日志昨天开启.今天上午查看.看着看着就发现不对了.果不其然被黑客入侵了.
可能之前就已经攻破了.顺利的登录.看了一下系统版本.然后开始授权.接着开始加入了一个用户.
查了一下ip地址.浙江绍兴的.
连接记录
种木马文件.我到目录看了下.已经有好几个木马了.名字不一样.怪不得杀毒软件总报病毒.原因在这呢.
3.第一回合
先把黑客新增的用户删除.root用户不允许远程登录.新建了一个用户.给了基本权限.结果晚上的时候数据库还是有些连不上去.断断续续的
不停的暴力破解密码.虽然禁止root登录.但是这个感觉有点ddos的意思.我自己反而连接不上去了.
4.第二回合
默认是3306.黑客可以通过软件扫描.暴力破解.那就改端口.随便改了一个.于是我就能顺利的连接了.
5.后记
这次真是这么近第一次接触黑客.以前都是自己手贱点击不明安装程序什么的才会中木马.这次看他们的sql语句真的是大涨见识.好多自己都不太清楚.
比如写文件等等.没注意找让文件运行的语句.我想应该还会自动加载木马让它运行.
以前真是没怎么注意安全这方面.我想只要限制一下用户和改端口.我想他就没办法了.其实后面这个改端口比较重要.
我又想他会不会去扫端口去........
上面第二部分的图片有的是上午看到的.还有一部分是晚上登录不上去看到的.就放一起了.
这里说几个这次用到的命令
查看日志是否开启
show GLOBAL VARIABLES like ‘%general_log%‘ --查看是否开启set GLOBAL general_log = on --设置为开启set GLOBAL general_log_file=‘g:\\mysql.log‘ --日志路径
虽说开了比较占地方.但是感觉不对劲.或者开个一两天看看有没有异常.还是值得的.而且也不需要重启mysql服务
我这个是测试机用的mysql免安装版.启动比较好说.双击 mysqld.exe就行
关闭命令,在bin目录.按住shift.右键有个在此处运行命令窗口.然后执行下面的话就行.
安装目录bin\ mysqladmin -uroot -p shutdown
显示用户权限
show grants for root@‘localhost‘;
查看用户
select * from mysql.user
插入用户
CREATE USER ‘username‘@‘host‘ IDENTIFIED BY ‘password‘;
授权
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, INDEX, ALTER, EXECUTE ON `数据库名称`.* TO ‘用户名称‘@‘%‘
说说这个改端口.这个免安装版目录下有个my-default.ini的文件.直接改这个是不启用的.要复制一份.改名为my.ini才可以.
改端口就是在这个配置文件加一句 port=xxx 就可以了.
由max_allowed_packet引发的mysql攻防大战