Добрый день.
Возможно кто-то может подсказать что делать с такой проблемой не только отсылая к гуглу.
Проблема в следующем: неделю назад началось все с того что память вся резко заканчивалась и виновником вроде как был mysql, хостер сказал увеличивайте память сервера, тут народ сказал ищите запросы тяжелые. В общем найти не получилось, мучались мучались, но вдруг память перестала кушаться, но стал забиваться канал. Тоже тему поднимал - якобы нагрузка идет от БД, но в итоге спустя пару дней все нормализовалось. Тут пару суток новая напасть опять сайты не работают на сервере. Память не забивается полностью примерное использование 8 из 16. atop показывает что каналы свободны, нагрузка на CPU от mysqld 600-900%. запускаю сохранить в файл что за запросы сейчас в очереди, а там всего их 5 с таймингом 0 и половина из них sleep. т.е. фигня какая-та - запросов нет, но сайт лежит и нагрузка mysqld якобы ого-го какая.
Запускаю htop и вижу что значение tasks в районе 400
перезапустил полностью сервер, никакой реакции, все тоже самое, никакого просвета не видно
решил пойти по другому и начал останавливать службы, стопорю первым делом mysqld, вижу что нагрузка вроде как упала, но tasks остались, открываю в браузере сайт ожидая увидеть ошибку подключения к БД, а вместо этого сайт висит, через минуту выдал 504, обновляю страницу 502, а ошибок о подключении к БД нет. Стопорю всякие memcached, httpd и nginx , обновляю страницу в браузере и получаю опять 502 или 504 вместо проверьте подключение.
при этом tasks в районе 100 и CPU почти на нулях
итого со вчерашнего дня (с 16) до 23:55 с периодическими проблесками на минут 10 только работал. Затем с 0:30 и до 5:00 опять отвалился и только с 5 утра начал работать сайт
Написал хостеру о том что вижу, на что получил администрирование вашего сервере лежит на вас хотите чтобы мы разбирались что у вас за проблемы 3000/час
Помогите пожалуйста советами что делать, что пробовать
какой именно?
если httpd, то ничего такого в нем не увидел, запросы разных страниц сайта и все
проскакивают конечно левые запросы из серии "GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application HTTP/1.0" 404 24563 "-" "Mozilla/5.0 zgrab/0.x"
но их единицы
В логах mysqld вот такие записи есть, но опять же с перерывами
2022-03-11T00:54:36.513328Z 138648 [Note] Access denied for user 'wordpress'@'localhost' (using password: YES)
2022-03-11T00:54:36.931456Z 138650 [Note] Access denied for user 'dev'@'localhost' (using password: YES)
2022-03-11T00:54:37.460394Z 138651 [Note] Access denied for user 'root'@'localhost' (using password: YES)
2022-03-11T00:54:37.911398Z 138652 [Note] Access denied for user 'root'@'localhost' (using password: YES)
2022-03-11T00:54:38.251439Z 138654 [Note] Access denied for user 'web'@'localhost' (using password: YES)
судя по всему кто-то пробовал подобрать наугад пароль к БД только не понятно на какой странице это
что подразумеваете под сервером, под управлением какой ос (какой дистрибутив), сервер, что значит перезупустил сервер и еще некоторые вопросы. потому что сразу не описали проблему как надо
Александр, под сервером я подразумеваю именно сервер, у нас Выделенный сервер RD-30065
перезапуск сервера - это зайти в панель управления хостингом , выделенный сервер и перезагрузить
остановить mysqld - через консоль выполняю команду service mysqld stop, так же и другие службы в том числе апач и нжинкс
Несколько сайтов на битриксе
Вся беда началась в конце февраля, до этого проблем не было, ничего глобального не делалось, все глобальное планируется на конец весны
tgarl, что у вас за сайт на сервере? возможно, sql инъекция, возможно, какие-то папки открыты для просмотра. способов много проникнуть на сервак.
если боитесь здесь размещать какую-то информацию (а вашей явно недостаточно для конкретных советов), то найдите специалиста, который проведет анализ
я не такой уж большой спец по безопасности
можно ограничить количество соединений к MySQL, если дело в памяти при нагрузке.
а так надо смотреть и логи, и параметры и т.д. непонятно, что происходит.
1) Запретите доступ к mysql извне!
2) Ограничте доступ к серверу путем настройки количества коннектов от одного IP
3) Установите firewall и запретите коннекты ко всем портам, кроме ssh и http/https
4) Поставьте логи в mysql на длинные запросы
5) Проанализируйте логи приложения, так как запросы к mysql похоже у вас идут изнутри приложения
6) Что вообще за приложение у вас там стоит? Не взомано ли оно?
1. внешнего доступа и так нет
2. у нас в компании 1 ip общий, в том числе и у всяких 1C и прочих
3. стоит на сервере
4. есть отдельный лог, но в него начинают падать все как только идет зависание
5. с этим непонятно как и что делать, логи-то получить не проблема, но у нас битрикс, а у него запросы ...
6. антивирус ничего не нашел
Битрикс, сочувствую! Ищите специалиста, его вам взломали. Да, будет дорого и больно. Ицену, которую вам объяаили, она божеская.
Через логи апаша (или что у вас там, nginx? ) смотрите, на какую страницу приходятся запросы, на которых все ломается.
Далее, ищите странные файлы со странными названиями и расширением php.
Подвисшие процессы смотрите через strace.
В битриксе почистите все кеши, переведите все файлы в read-only. А лучше все вылить на отдельный том и монтировать его в read-only.
Я пару раз на битриксе подобную гадость искал, в среднем дня три...
Бэкап сайтов есть? Мне в начале февраля ломанули сайт на старом Битриксе, только сравнением с чистым бэкапом удалось найти и вычистить раскиданных по всему сайту зловредов. Правда, особенных проблем они не создавали, взлом был обнаружен почти случайно.