Назад | Перейти на главную страницу

Как отследить происхождение призрачного процесса в ubuntu, из-за которого postgres использует 100% ЦП в контейнере Amazon EC2?

Я запускаю PostgreSQL 10.10 (Ubuntu 10.10-0ubuntu0.18.04.1) на микро-экземпляре AWS EC2. Раньше я разрешал удаленные подключения к postgres db откуда угодно. Через несколько дней я вижу неизвестный процесс, запущенный postgres пользователь использует 100% ЦП. Бег top команда дает аналогичный результат.

8092 postgres  20   0  302872 266776      0 S 99.3 26.5   2574:21 WI0oUt

Нет активных запросов, которые долго выполнялись бы в фоновом режиме. Я остановил базу данных postgres, даже если этот призрачный процесс запущен. Я получил вероятный ответ на проблему Вот. Но мне нужно знать, какой родительский процесс запускает выполнение таких дочерних процессов-призраков? Если я сбегу ps с PID, Я получил PPID как 1. Мне нужно знать, какая зараженная программа запускает эти дочерние процессы?

Я уже пробовал бежать man,appros для имени процесса я попытался сбросить postgres пароль пользователя для взлома, но никакого эффекта. В любом случае, чтобы узнать, какая зараженная программа вызывает это? или как я могу справиться с этой ситуацией без форматирования сервера?

Очень сложно бескомпромиссный сервер. Лучше всего:

  • свалка ваша база данных (используя pg_dump),
  • Удалить экземпляр EC2,
  • Создайте новый экземпляр,
  • переустановить postgres и
  • перезагрузить данные.

Урок: Никогда не оставляйте серверы баз данных открытыми для всего мира. Используйте группу безопасности, чтобы ограничить доступ только теми IP-адресами, которым действительно нужен доступ. И в идеале используйте AWS RDS, который может автоматически исправлять вашу базу данных для устранения проблем с безопасностью.