Discourse отправил 18K+ писем? Или мой сервер взломали

Я буду честен: я не знаю, как сформулировать эту тему и что именно нужно предоставить для получения помощи. Всё, что я знаю, — это то, что Discourse отправил более 18 000 писем и не смог доставить более 7 000 (после того как мой Amazon SES был заморожен из-за высокого показателя возвратов — около 20 %). Также похоже, что система продолжает пытаться отправить ещё более 500 писем.

discorsesk1

РЕДАКТИРОВАНИЕ: На моём форуме всего 8 участников.

Вывод: порт 53 был открыт, хотя я никогда не устанавливал сервер имён. Похоже, что система была взломана (даже если Sidekiq отображал все процессы, я всё равно уверен, что это взлом).

Мне кажется, что почта или Redis долго не работали, а сегодня всё починили и отправилось множество накопившихся писем.

Вы можете посмотреть в разделе администрирования: Почта, чтобы увидеть, что было отправлено.

Там всего было отправлено 23 письма.

РЕДАКТИРОВАНИЕ: В тот день, когда это произошло, было 10 апреля (только что понял, что письма отправлял Discourse), и на нём нет ни одного письма от 10-го числа.

Затем письма отправил кто-то другой.

Это лучшее объяснение.

Что бы это ни было, я не запускаю на сервере ничего, кроме Discourse. Меня могли атаковать или что-то в этом роде?

Также только что нашел это: на вкладке «Retries» в панели управления Sidekiq аргументы выглядят примерно так:
{"type"=>"digest", "user_id"=>11, "current_site_id"=>"default"}

Возможно, кто-то получил ваш SMTP-пароль и отправил письма с другого места? Может быть, ваш сервер взломали (защищён ли он паролем и не установлен ли fail2ban?). Что-то в этом роде.

Шансов, что это связано с Discourse, практически нет.

Вам, вероятно, стоит настроить новый сервер и перенести туда Discourse.

Я так и подумал, поэтому проверил последнее время входа, и оно было от меня в марте.

Это может показаться удивительным, но редактировать логи несложно. Или установить rootkit, который делает это. Адреса, на которые вы отправляете сообщения, в Discourse не существуют, верно? Значит, сообщения не были отправлены.

Почти наверняка вас взломали.

Вы входите с помощью пароля? У вас настроен fail2ban?

Поиск в Google, как проверить открытые порты, и убедитесь, что открыты только порты 22, 80 и 443.

Единственный открытый порт, кроме 22, 80 и 443, — это 53. Я не знаю, что такое fail2ban, но изучу это и постараюсь повысить безопасность. Предполагаю, мне стоит закрыть порт 53?

Вы можете увидеть, что его открыло. Вы не установили сервер имен, поэтому, вероятно, это и есть причина.

Вам нужно запустить новый сервер и перейти на него. Вы не можете знать, что находится на сервере. Всё вызывает подозрение.

А как насчет файлов резервных копий? Можно ли импортировать их туда?

Ваши файлы резервной копии Discourse должны быть в безопасности. Вы даже можете создать новую резервную копию прямо сейчас, чтобы убедиться, что у вас есть все ваши данные.

Отлично, спасибо за помощь!

Вы когда-нибудь публиковали свой файл app.yml или делились скриншотами для решения проблем?

Нет, я нигде не публиковал свой app.yml или скриншоты.

Скриншот в вашем первом сообщении очень похож на Sidekiq — систему, которая обрабатывает задачи для самых разных целей, а не только для рассылки писем. Это тот самый скриншот, откуда вы взяли цифру в 18 тысяч отправленных писем?

Это было, но это точно такое же количество писем, которое Amazon SES указывает как отправленные.

Если вас взломали, то крайне маловероятно, что хакеры украли ваши учетные данные и затем отправили письма через Sidekiq.

Если вы откроете логи отправленных писем в /admin/email/sent, то увидите ли там какие-либо подсказки, объясняющие такое огромное количество?

Я уже остановил сервер, но если речь идет об электронных письмах, отправленных через Discourse, то