Packet for query is too large

来源:互联网 发布:小甲鱼python视频教程 编辑:程序博客网 时间:2024/05/15 19:06

Packet for query is too large

今天web 宕掉了 ,报500错误 Packet for query is too large
mysql写入数据过大,百度了一下方法,基本上都是让修改max_allowed_packet的值,这也是一种解决办法。windows修改my.ini,linux 直接 vi /etc/my.cnf 修改参数 改大一点就可以了。

但是这个异常延伸出来一个问题,我服务好几个月不宕机,为什么突然会有这种情况,因为数据量是一定的,要down早就down。所以开始怀疑服务器的安全性(linux)。

之前的linux服务器阿里云买来直接就用了 也没有做什么安全保护

立马上服务器备份了一版本数据库,和一些资源,开始查找原因。

首先看了威胁日志
cat /var/log/secure
果不其然,以下是部分截图

部分日志信息

很明显,不止一个人在ssh扫描服务器的密码。

然后看数据库日志
show binary logs;
或者用ftp看看mysql/data/下的日志文件,时间对照着扫描你服务器的时间,慢慢看。 果然查到了异常操作
这里写图片描述

哎哎哎 ,测试服务器也是惨的不行 密码000000 原始端口 登录用root登录。以后一定要谨慎。还是不能用弱口令。

接下来看看怎么阻止ssh扫描linux弱口令吧

使用DenyHosts

地址http://denyhosts.sourceforge.net

安装就不说了

# cd DenyHosts-2.6 # python setup.py install 默认是安装到/usr/share/denyhosts目录的。 2. 配置 # cd /usr/share/denyhosts/ # cp denyhosts.cfg-dist denyhosts.cfg # vi denyhosts.cfg PURGE_DENY = 50m #过多久后清除已阻止IP   HOSTS_DENY = /etc/hosts.deny #将阻止IP写入到hosts.deny   BLOCK_SERVICE = sshd #阻止服务名   DENY_THRESHOLD_INVALID = 1 #允许无效用户登录失败的次数   DENY_THRESHOLD_VALID = 10 #允许普通用户登录失败的次数   DENY_THRESHOLD_ROOT = 5 #允许root登录失败的次数   WORK_DIR = /usr/local/share/denyhosts/data #将deny的host或ip纪录到Work_dir中   DENY_THRESHOLD_RESTRICTED = 1 #设定 deny host 写入到该资料夹   LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。   HOSTNAME_LOOKUP=NO #是否做域名反解   ADMIN_EMAIL = #设置管理员邮件地址   DAEMON_LOG = /var/log/denyhosts #自己的日志文件   DAEMON_PURGE = 10m #该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间。 3. 设置启动脚本 # cp daemon-control-dist daemon-control # chown root daemon-control # chmod 700 daemon-control 完了之后执行daemon-contron start就可以了。 # ./daemon-control start 如果要使DenyHosts每次重起后自动启动还需做如下设置: # ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts # chkconfig --add denyhosts # chkconfig denyhosts on 然后就可以启动了: # service denyhosts start 可以看看/etc/hosts.deny内是否有禁止的IP,有的话说明已经成功了。 

最后还是以后要提醒自己,一定要透过问题看到事情的本质,不要随便一百度叭叭叭一敲键盘就完事儿了。

最后感激这位大哥不杀之恩,虽然没啥重要的数据

0 0
原创粉丝点击