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

Как остановить рассылку спама с почтового сервера eximʻa?

Недавно я попытался настроить почтовый сервер, чтобы попробовать разместить несколько списков рассылки. Кстати, я добавил записи DMARC, DKIM и SPF.

Недавно я увидел, что с моего сервера отправляется много (ОЧЕНЬ) спама (очередь выросла до тысяч, а электронные письма отправлялись на множество случайных адресов электронной почты). Есть ли у них способ, которым я могу разрешить почтальону отправлять почту только с моего сервера? Я хочу иметь возможность отправлять электронные письма на любой сервер, но я думаю, что только процесс отправки должен быть почтальоном? Сообщите мне, если я виноват в том, что не понимаю, как это работает.

Моя конфигурация здесь:

# File /etc/exim4/conf.d/main/00_local_macros

DKIM_DOMAIN = lists.domain.name
DKIM_SELECTOR = default
DKIM_PRIVATE_KEY = /etc/exim4/dkim/privatekey.pem
DKIM_CANON = relaxed

#-------
# File /etc/exim4/conf.d/main/25_mm3_macros

domainlist mm3_domains=lists.domain.name
MM3_LMTP_HOST=172.25.195.2
MM3_LMTP_PORT=8024
MM3_HOME=/opt/mailman/core/var

################################################################
# The configuration below is boilerplate:
# you should not need to change it.

# The path to the list receipt (used as the required file when
# matching list addresses)
MM3_LISTCHK=MM3_HOME/lists/${local_part}.${domain}

# Place this file at
# /etc/exim4/conf.d/router/455_mm3_router

mailman3_router:
  driver = accept
  domains = +mm3_domains
  require_files = MM3_LISTCHK
  local_part_suffix_optional
  local_part_suffix = -admin : \
     -bounces   : -bounces+* : \
     -confirm   : -confirm+* : \
     -join      : -leave     : \
     -owner     : -request   : \
     -subscribe : -unsubscribe
  transport = mailman3_transport

  # Place this file at

#-------
# File /etc/exim4/conf.d/transport/55_mm3_transport

mailman3_transport:
  debug_print = "Email for mailman"
  driver = smtp
  protocol = lmtp
  allow_localhost
  hosts = MM3_LMTP_HOST
  port = MM3_LMTP_PORT
  rcpt_include_affixes = true

#-------
# File /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'
#
# Please note that this is _not_ a dpkg-conffile and that automatic changes
# to this file might happen. The code handling this will honor your local
# changes, so this is usually fine, but will break local schemes that mess
# around with multiple versions of the file.
#
# update-exim4.conf uses this file to determine variable values to generate
# exim configuration macros for the configuration file.
#
# Most settings found in here do have corresponding questions in the
# Debconf configuration, but not all of them.
#
# This is a Debian specific file

dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces='0.0.0.0 ; ::0'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets='0.0.0.0/0'
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
IGNORE_SMTP_LINE_LENGTH_LIMIT='true'

И моя конфигурация почтальона:

[mta]
incoming: mailman.mta.exim4.LMTP
outgoing: mailman.mta.deliver.deliver
lmtp_host: 172.25.195.2
lmtp_port: 8024
smtp_host: 172.25.195.4
smtp_port: 25
configuration: python:mailman.config.exim4

[mailman]
# This address is the "site owner" address.  Certain messages which must be
# delivered to a human, but which can't be delivered to a list owner (e.g. a
# bounce from a list owner), will be sent to this address.  It should point to
# a human.
site_owner: admin@domain.name

В dc_relay_nets='0.0.0.0/0' позволяет ретранслировать с любого IP-адреса, делая ваш почтовый сервер открытое реле. Вы должны ограничить это своими внутренними / доверенными сетями.

SPF / DKIM / DMARC не защитят вас от внутренних ошибок конфигурации. В худшем случае сервер DKIM подписывает неавторизованную почту. В конце концов ваш IP-адрес попадает в черный список.

Как указал Эса, dc_relay_nets вот проблема. Бегать dpkg-reconfigure exim4-config чтобы снова запустить мастер настройки и изменить значение, или отредактировать файл и перезагрузить Exim, чтобы повторно обработать его в новый файл конфигурации Exim.

У Exim есть удобный exim4 -d -bh 1.2.3.4 команда, которая имитирует сеанс SMTP и подробно отображает, как обрабатываются списки управления доступом, в результате чего все они принимаются для ретрансляции или локальной доставки или отклоняются. Это бесценный инструмент, когда вы хотите спросить Exim: «Почему это разрешено?» (Или запрещено).