Настройка Exim4, которая позволяет мне отправлять электронные письма, не становясь открытым реле

Итак, я приобрел VPS и домен (my_domain.com, скажем), и теперь я хотел бы создать свою собственную инфраструктуру электронной почты на основе exim4 для учебных целей. Чтобы не производить открытую ретрансляцию, мне нужно некоторое базовое понимание о рекомендациях для аутентификации.

<!-Мое первоначальное понимание заключается в том, что MTA (exim4) должен действовать в двух ролях, когда дело доходит до аутентификации:

  • когда мой MUA (Apple Mail на MacBook, скажем) подключается к нему по SMTP, он должен настаивать на аутентификации. Если адрес отправителя me@my-domain.com, имя пользователя / пароль для пользователя (Debian)me на VPS должен служить. Мой интернет-провайдер назначает переменные IP-адреса, поэтому я не мог зафиксировать MAU к определенному, ни я знаю применимый диапазон. В любом случае, после такой аутентификации MTA должен отправить (relay?) сообщение соответствующему MTA (at mail.your-domain.com, скажем) без дальнейшей идентификации.

  • когда другой MTA (в mail.your-domain.com, скажем) контакты мои MUA через SMTP он должен держать его для доставки только тогда, когда целевой домен my_domain.com (т. е. разрешить это как локальный домен) и сбросить его в противном случае (т. е. не действовать как открытое реле).

мои вопросы-это два раза такой: Это мои знания верны и следующие ответы dpkg-reconfigure exim4-config достичь этой установки / цели?

mail name: my_domain.com
IP-addresses to listen on for incoming SNMP connection: (the VPS)
local domains: mail;my_domain.com
domains to relay mail for: (none)
machines to relay mail for: (none)
keep DNS-queries minimal: no
delivery method for local mail: mbox format in /var/mail
split configuration file into small files: no
root and postmaster mail recipient: root

Я в настоящее время озадачен, потому что это не упоминает никакой аутентификации (или на каких основаниях MTA может даже сделать различие между SMTP-соединениями от MUA или другого MTA) и будут ли сообщения к доменам кроме локальных доменов "сбрасываться". Мне кажется, что это позволит моему MTA получать сообщения в my-domain.com из любой точки мира, не быть открытым реле, но и не позволяют моему MUA, чтобы отправить что-нибудь через него.

11
задан Drux
19.11.2022 1:01 Количество просмотров материала 3126
Распечатать страницу

2 ответа

exim мощно и гибко достаточно подействовать в любой роли вы хотите. Но для обычных операций SMTP единственный сценарий, требуемый аутентификацией, является "кто-то хочет передать или передать сообщение через меня". Представление и ретрансляция должны быть строго ограничены для предотвращения отлучения DNSBLs. Если exim служить в какой-то подсети, s&r обычно ограничивается этой подсети. Но если клиентские хосты блуждают по интернету с динамически изменяемыми IP-адресами из различных подсетей, возможность ограничения клиентов-аутентификация.

прежде всего, вы должны включить шифрование SMTP с SSL / TLS

daemon_smtp_ports       = 25 : 465 : 587 
tls_on_connect_ports    = 465
tls_certificate         = /path/exim.crt
tls_privatekey          = /path/exim.key

самоподписанный пара создается с помощью openssl достаточно. Шифрование является опцией для простого SMTP на порту 25 или MSA на 587 и обязательным для SMTPS на 465.

идентификация будет возможна только для зашифрованных клиентам, чтобы не допустить прохождения логин-пасс за unencripted подключения:

auth_advertise_hosts    = ${if eq{$tls_cipher}{}{}{*}}

любой non-emtpy $tls_cipher сгенерированный, когда TLS установлен, является хорошим знаком для начала аутентификации.

теперь мы можем использовать ACL:

acl_smtp_connect        = acl_conn
acl_smtp_rcpt           = acl_rcpt
acl_smtp_data           = acl_data

begin acl
.....
acl_rcpt:
  accept authenticated = *
  accept         hosts =  : +relay_from_hosts
  require      domains = +relay_to_domains : +local_domains
  deny

здесь мы принимаем сообщение для s&r в трех случаях:

  1. если клиент аутентифицируется
  2. если клиент из списка известных хостов/подсетей
  3. если сообщение является входящим для одного из наших доменов.
  4. последние deny Не нужно как третье правило делать deny неявно, но для лучше comrehension я бы место явные окончательной разрешать/запрещать во всех случаях.

другие МТА обычно передаются по третьему правилу, независимо от того, аутентифицированы они или нет. Мы не можем требовать auth от других МТА, так как это не является обязательным для RFC. Но мы строго ограничиваем все внешние МТА сообщениями только для наших доменов. Мы не передаем их сообщения другим доменам ни при каких обстоятельствах.

2
отвечен Kondybas 2022-11-20 08:49

настройки конфигурация Debian предлагает для нормального локального использования. Более сложные настройки, такие как с аутентификацией, потребуют ручного редактирования конфигурации.

вероятно, проще перенастроить конфигурацию разделения. Затем вы можете включить аутентификацию в /etc/exim4 / conf.d / auth/. Файл 30_exim4-config_examples содержит много закомментированных примеров, которых должно быть достаточно, чтобы помочь вам на вашем пути.

plain_server фрагмент использует passwd файл в /etc/ exim4/, содержащий имена пользователей и пароли, разделенные двоеточием. По умолчанию exim предлагает аутентификацию только при зашифрованном соединении, что хорошо.

Я использую службу аутентификации dovecot для проверки пользователей в exim; таким образом, если пользователь может получить доступ к dovecot (например, IMAP), они могут использовать те же учетные данные для отправки электронной почты через exim.

1
отвечен wurtel 2022-11-20 11:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх