我一直在经历着我的服务器上的攻击,并通过包括在apache的conf文件中的以下阻止xmlrpc
访问:攻击MySQL - 以及如何防止它?
<files xmlrpc.php>
order allow,deny
deny from all
</files>
,而不是粉碎mysql服务每隔几个小时了,压伤一次/二次一天。这仍然是一个问题。 fail2ban
禁止2个小时的ssh尝试失败。不过,我看到下面的条目100+在daemon.log
:
的mysqld [18852]:2016年10月13日3时06分40秒139773247216384 [注意]访问 被拒绝的用户 '根' @ '139.196.28.237'(使用密码:是)
所有这些尝试100+发生在一分钟内,和大约一小时后,我看到几个消息,如:
mysqld的[18852]:2016 -10-13 3:32:52 139773325777664 [Warning] Unsafe statem ent从 BINLOG_FORMAT = STATEMENT使用语句格式写入二进制日志。该声明是不安全的,因为它使用了LIMIT子句 。这是不安全的,因为包含的行集不能被预测为 。声明:DELETE FROM
wp_generic_options
WHEREoption_name
LIKE '喷气背包\ _nonce \ _%' 和CAST(option_value
AS UNSIGNED)< 1476340372 ORDER BYoption_id
LIMIT 100
一段时间后,似乎MySQL服务得到重新启动
InnoDB: Initializing buffer pool, size = 256.0M
InnoDB: mmap(281542656 bytes) failed; errno 12
InnoDB: Cannot allocate memory for the buffer pool
Plugin 'InnoDB' init function returned error.
Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Unknown/unsupported storage engine: InnoDB
Aborting
可有人请向我解释发生了什么:,但随后失败,并以下线在错误日志中发现了什么?如何阻止并防止它再次发生?
这里有很多信息缺失。我假设你使用wordpress?用Apache?如果您使用的是旧版本,或者插件不合适,攻击可能会通过那里?你的MySQL服务器也可能暴露在互联网上,在这种情况下,假设你不需要直接访问,第一份工作就是防火墙。 –