Показано с 1 по 4 из 4

Тема: Проблема с исходящим спамом

  1. #1
    Member
    Регистрация
    22.09.2010
    Сообщений
    35

    Question Проблема с исходящим спамом

    Панель ISPmanager 5 Lite

    На панели 4 Pro включал в настройках php.ini логирование "mail.log = /var/log/phpmaillog" и мог затем видеть каким именно скриптом рассылается спам (и если приходила абуза, соответственно найти и удалить его).
    Сделал аналогично на 5-й панели, какие-то логи там ведутся. Но получив абузу из ДЦ, проверил размер почтовой очереди в exim, она оказалась больше миллиона писем. Этих писем в логах нет.
    В тексте абузы есть упоминание только IP адреса сервера.

    Погуглив, добавил несколько строк в exim.conf:
    Код:
    bounce_return_message = false
    bounce_return_body = false
    Здесь на форуме нашел обсуждение по поводу ограничений на исходящие письма и исправил еще пару строк:
    Код:
    begin acl
    
    	acl_check_not_smtp:
    		# check ratelimits by local user
    		warn	condition	= ${if match_local_part{$sender_ident}{lsearch;/etc/exim/ratelimits} {yes}{no}}
    				set	acl_c9	= $sender_ident
    		warn	condition	= ${if match_local_part{$sender_address}{lsearch;/etc/exim/ratelimits} {yes}{no}}
    				set acl_c9	= $sender_address
    		deny	condition	= ${if and{{!eq{$acl_c9}{}}{>{$acl_c8}{0}}}{yes}{no}}
    				set acl_c8	= ${lookup{$acl_c9}lsearch*{/etc/exim/ratelimits}}
    #				ratelimit	= $acl_c8 / 1h / strict / $acl_c9
                    ratelimit	= 50 / 1h / leaky
    				message		= Sender rate overlimit - $sender_rate / $sender_rate_period / $acl_c9
    .ifdef DEFAULT_RATELIMIT
    		# check ratelimits by default
    		warn    set acl_c7	= $sender_ident
    		warn    condition	= ${if eq{$acl_c7}{} {yes}{no}}
    				set acl_c7	= $sender_address
    		deny    condition	= ${if and{{!eq{$acl_c7}{}}{eq{$acl_c8}{}}}{yes}{no}}
    #				ratelimit	= DEFAULT_RATELIMIT / 1h / strict / $acl_c7
                    ratelimit	= 100 / 1h / leaky
    				message		= Sender rate overlimit - $sender_rate / $sender_rate_period / $acl_c7
    .endif
    (# закоментированы оригинальные строки, прямо под ними исправленные)


    Подскажите, как правильно настроить логирование exim, чтобы было видно какой именно скрипт рассылает письма?

    Какие еще необходимо внести изменения в exim.conf, чтобы оградить сервер от исходящего спама?

    Буду благодарен за советы.

  2. #2

    По умолчанию

    То же самое ставится в php.ini (в настройках PHP из панели).
    Exim имеет очень скудный функционал фильтрации по сравнению с Postfix. Или забаньте через iptables пакеты по ключевому слову "phpmailer" и проблема на 80% решится. Легитимную почту очень редко шлют через скрипт phpmailer, а спамеры его обожают.

    -A INPUT -p tcp --dport 80 -m string --algo bm --string "phpmailer" -j DROP

  3. #3
    Senior Member
    Регистрация
    22.06.2012
    Сообщений
    160

    По умолчанию

    prezident, у Вас приведенный код из конфига Экзима реально работает и ограничивает спам, рассылаемый чере php mail () ?

    -A INPUT -p tcp --dport 80 -m string --algo bm --string "phpmailer" -j DROP
    Вероятно, это поломает нормальных пользователей тоже.

  4. #4
    Senior Member
    Регистрация
    09.04.2013
    Адрес
    Москва
    Сообщений
    2,067

    По умолчанию

    заменить sendmail скрипт на свою оболочку, которая будет принимать решение кто может отправлять письма а кто нет на основании директории (в пути котрой фигурирует имя пользователя + домен)
    Успешно пользуемся уже года 4 таким методом

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •