LINUX.ORG.RU
ФорумAdmin

Ребята, помогите! Exim рассылает спам, не могу понять откуда. Сервер на базе CENTOS 6.

 , , ,


0

3

В /var/log/exim/mainlog нашёл такую строку

2018-10-25 16:14:42 cwd=/ 4 args: /usr/sbin/sendmail -f info@cars.com.ua vasyapupkin@gmail.com

Мыло vasyapupkin@gmail.com - моё. В gmail каких-либо писем, связанных с мылом info@cars.com.ua во входящих, исходящих сообщениях, спаме или где-нибудь ещё нет.

Как мне определить откуда идёт спам ? Что делать?

Помогите пожалуйста

Open relay? А по теме, нанять толкового одмина нужно.

post-factum ★★★★★
()

для начала скажи, у тебя там не сайт на этом же сервере? А то мож сайт похакали то, а не экзим виноват? Больше подробностей. Пока кроме админа посоветовать нечего.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Ну и пока не расскажешь больше подробностей, или не наймешь админа, останови экзим :).

Deleted
()

/usr/sbin/sendmail -f info@cars.com.ua vasyapupkin@gmail.com

Если так, то это кто-то позвал sbin/sendmail локально. Ищи кто. И да, это может быть сайт, который тут же крутится.

AS ★★★★★
()
Ответ на: комментарий от Deleted

Да. На сервере есть сайты.

Директорию, где лежат сайты, просканировал. Не нашёл ничего связанного с этими эмейлами. То есть в коде их нет.

Откуда похакал, если в коде ничего нет ?

sashacitylight
() автор топика
Ответ на: Да. На сервере есть сайты. от sashacitylight

То есть в коде их нет.

Может и нет. Их могут подавать в виде http-запроса. Ищи код, который шлёт. Пиши/ищи врапер для sbin/sendmail, котрый будет писать в лог (да и в заголовок письма можно) из какого каталога и под каким пользователем запущен процесс. Если php, то проще: в последних версиях сам php может информацию о вызывающем, кажется, скрипте добавлять. Или не скрипте, но точно что-то может.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)

Я б погрепал сайты на предмет функций, использующихся для обфускации. base64_decode, eval, gzinflate для пыхопы, например. И логи вебсервера почитать на предмет необычных запросов с кодом 200.

Алсо лорчую враппер/заглушку вместо sendmail. Пусть он у тебя пишет stdin в файл, может там будет какой-нибудь заголовок, указывающий на место вызова. Для пхп опять же можно установить опцию sendmail_path которая будет указывать на нужный тебе скрипт.

NeverLoved ★★★★★
()
Ответ на: Да. На сервере есть сайты. от sashacitylight

Блин. Мальчик. Я что, должен из тебя всё выспрашивать, как там у тебя настроено? Какая у тебя там панелька? ISP, веста? Самодел, или гольная консоль? Nginx/Apache, сайты на чём? PHP или python/Ruby? Режим работы PHP? Понаберут ВПС не думая, что это надо админить, а потом попадают... От этого всего зависит, какие настройки тыкать и как искать злоумышленника. Тебе либо сайты похакали, либо доступ к серверу кто-то поимел. Просканируй сайты айболитом хотя бы... Если PHP - какая версия пыха? Логирование включено? Запрети отправлять вообще письма пыху, и используй SMTP-доступ, если это возможно.

Deleted
()
Ответ на: комментарий от Deleted

и используй SMTP-доступ, если это возможно.

Как раз лучше наоборот, smtp исходящий для пользователя, под которым апач работает, закрыть. Так он хоть найти сможет, где дыра. Но тут я устройство Эксима не знаю, можно почту исходящую сломать. В случае настоящего Sendmail sbin/sendmail запускается от того же пользователя, и сообщение не уходит сразу, а падает в спул, а уже потом обработчик очереди от root его досылает. Как это с Exim пройдёт, надо смотреть.

AS ★★★★★
()
Ответ на: комментарий от AS

Если сайт использует SMTP - при проблемах рассылки с конкретного сайта сразу глушим доступ для этого пользователя и инспектируем код...

Deleted
()
Ответ на: комментарий от Deleted

Если сайт использует SMTP - при проблемах рассылки с конкретного сайта

А как узнать-то? Ну ладно, у php появилась возможность (я писал чуть раньше). А если там Perl/Phyton/разное? А с врапером sbin/sendmail каталог, откуда позвали, сразу известен, вне зависимости от того, как сайт сделан.

AS ★★★★★
()
Ответ на: комментарий от Deleted

А у вас проблема на сервере запилить каждому сайту свой акк для рассылки писем по смтп?

В смысле доступ к одному серверу своему дать? Вообще можно конечно, но лишние телодвижения.

AS ★★★★★
()
Ответ на: комментарий от AS

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

Deleted
()
Ответ на: комментарий от Deleted

Помогите понять, почему нет юзера cars в файле /etc/virtual/usage/cars.bytes ?

В directadmin сайта cars каждый день приходят варнинги. Subject: Warning: 1622 emails have been sent yesterday by cars

На сервере полностью удалил папку сайта cars.

Но спам продолжает отправляться.

В exim было открытым реле. Закрыл реле через exim.conf.

В файле /etc/virtual/usage/cars.bytes при отправке с мыла info@cars.com.ua в логе не пишет какой юзер отправляет

4240=type=email&email=info@cars.com.ua&method=outgoing&id=1gG9QZ-0007yd-QE&authenticated_id=&sender_host_address=&log_time=1540588436&message_size=4240&local_part=vasyapupkin&domain=gmail.com&path=/

На других сайтах сервера, где идёт отправка писем, юзер есть. Например в файле /etc/virtual/usage/bus.bytes пишет что юзер bus отправляет

17417=type=email&email=bus@host6.org.ua&method=outgoing&id=1gFeZC-0007eF-Se&authenticated_id=bus&sender_host_address=&log_time=1540588359&message_size=17417&local_part=example&domain=mail.ua&path=/ Почему нет юзера cars в файле /etc/virtual/usage/cars.bytes ?

sashacitylight
() автор топика

Первый вопрос: Как это на DirectAdmin оказался открытым релей? В дефолтных конфигах панели это не реально. Значит, кто-то лазил. Это раз. Два. Серверу нужен аудит. Три. CentOS 6 - гораздо правильнее в данном случае мигрировать на новый сервер под версией ОС по свежее (поддержка через год закончится).

Теперь рекомендации. Во-первых, сделать серверу минимальный аудит (rkhunter, проверить сервер clamav). rpm -Va не помешает. Просмотреть кронтабы всех пользователей. И разнести сайты по разным пользователям. Посмотреть /tmp и /var/tmp на предмет странностей. ОБНОВИТЬ весь софт на сервере после разбора полётов. Ну и опять же, враппер как выше сказали положить хотя бы. И на крайняк запретить рассылать письма вообще через сендмайл. Серверу уже аудит нужен, судя по всему.

И да. Просмотреть /etc/passwd не помешает - там может быть интересное как, например, у апача включен шелл.

Ну и айболитом сайты все проверить. Это, наверное, надо было сделать первым делом.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: Проверили от sashacitylight

Проверили всё rkhunter'ом, весь софт обновили до последней версии

Ты врапер нашёл? Их пол-интернета разных готовых. Ты в php включил нужную опцию (не хочу сам лазить по конфигу и вспоминать, как называется)?

AS ★★★★★
()
Ответ на: комментарий от Deleted

Понаберут ВПС не думая, что это надо админить, а потом попадают... От этого всего зависит, какие настройки тыкать и как искать злоумышленника.

Ну после того как арендуемые сервера пошли в массы, любой дурак хочет поадминить.

Deleted
()
Ответ на: комментарий от Deleted

Ну, а потом решай его проблему на форуме, с учетом того, что надо вдумчиво и не один час иногда потратить. Вот как деньги у товарища будут на админа - или желание хотя бы следовать советам товарищей, у которых он просит помощи - тогда Welcome. В любом случае, как бы желание помочь зависит от умения задавать вопрос и от умения следовать рекомендациям, а не от скиллов. Отсутствие действий как вот щас ни к чему не приведёт к хорошему. В треде куча правильных советов, выполнены всего два - rkhunter и обновление софта. Хотя делается это даже не в первую очередь... А всё остальное само ведь тоже не сделается. Тьфу, глупость.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Хотя бы сам себе слать спам почтовик перестанет и то хорошо :)

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

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.