2016-10-13 5 views
1

я испытывал нападение на моем сервере, и заблокировали xmlrpc доступ, в том числе следующие в файле Apache конф:Атака на MySQL - и как ее предотвратить?

<files xmlrpc.php> 
    order allow,deny 
    deny from all 
</files> 

Теперь, вместо того, чтобы дробильно MySQL сервис каждые пару часов, он дробит один/два раза день. Это все еще проблема. fail2ban запрещает 2 неудачных попытки ssh в течение часа. Тем не менее, я вижу около 100+ из следующих записей в daemon.log:

туздЫ [18852]: 2016-10-13 3:06:40 139773247216384 [Предупреждение] Доступ запрещен для пользователя 'корень' @ '139.196.28.237' (используя пароль: ДА)

Все эти попытки 100+ произойти в течение одной минуты, и примерно через час я вижу несколько сообщений, как:

туздЫ [18852]: 2016 -10-13 3:32:52 139773325777664 [Warning] Небезопасный statem записывается в двоичный журнал, используя формат оператора с BINLOG_FORMAT = ЗАЯВЛЕНИЕ. Заявление небезопасно, поскольку оно использует предложение LIMIT . Это небезопасно, потому что набор включенных строк не может быть предсказан . Заявление: DELETE FROM wp_generic_options WHERE option_name LIKE 'Реактивный ранец \ _nonce \ _%' AND CAST (option_value AS UNSIGNED) < 1476340372 ORDER BY option_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 

Может кто-то пожалуйста, объясните мне, что происходит? И как остановить и предотвратить это снова?

+1

Здесь немного информации отсутствует. Я предполагаю, что вы используете Wordpress? С апачем? Возможно, атаки идут туда, если вы используете старую версию или плохой плагин? Также возможно, что ваш сервер MySQL открыт для Интернета, и в этом случае первое задание будет состоять в том, чтобы отключить его, если вам не нужен прямой доступ? –

ответ

2

Геолокация для IP-адреса 139.196.28.237 сообщает, что она происходит из Ханчжоу, Китай. Это то, откуда вы ожидаете появления клиентов MySQL, когда они подключаются к вашему экземпляру MySQL? Если нет, у вас может быть внешний злоумышленник. Вероятно, вы не должны разрешать внешним клиентам доступ к вашему серверу MySQL вообще. Вам нужен брандмауэр, чтобы заблокировать порт MySQL от внешних запросов.

Предупреждающее сообщение о небезопасном заявлении в вашем журнале binlog может быть несвязанным. Я помню, что «jetpack» - популярный плагин WordPress, и SQL-запрос может быть нормальной частью кода для jetpack. Вы можете исправить эти предупреждения, изменив формат бинарного файла MySQL на MIXED или ROW. Чтобы узнать больше о небезопасном заявлении, прочитайте https://dev.mysql.com/doc/refman/5.7/en/replication-rbr-safe-unsafe.html

Ошибки в том, что InnoDB не выделяет 256 МБ памяти для пула буферов, указывает, что процессы на вашем сервере используют больше памяти, чем сервер. InnoDB не будет выделять память, если физическая память не доступна (она не будет выделять память, которая уже заменяет). Это также может быть не связано с попытками входа в систему. Вам необходимо увеличить объем памяти на вашем сервере. Если вы используете AWS, вам нужно увеличить размер экземпляра.

 Смежные вопросы

  • Нет связанных вопросов^_^