The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Ограничение пересылки почты в sendmail для указанных пользов..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от Nonamare emailИскать по авторуВ закладки(??) on 16-Дек-04, 18:57  (MSK)
Уважаемые эксперты, подскажите, как настроить по уму следующую систему - для пересылки почты из локальной сети в мир и обратно используется sendmail (FreeBSD 4.6.2). Требуется: некоторым пользователям ограничить прием/отправку писем только внутри данного почтового домена. А некоторым - безо всяких ограничений. Как это делается и куда смотреть. Буду очень благодарен любым готовым кускам конфигов.
Заранее спасибо.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от Medlar Искать по авторуВ закладки on 17-Дек-04, 13:15  (MSK)
http://www.sendmail.org/~ca/email/restrict.html
http://www.sendmail.org/~ca/email/protected.html

Это решения для всех локальных пользователей.
Нужно немного переделать,
если не будет получаться - пиши на sciurus@mail.ru,
у меня частичное решение твоей задачки есть, допишем остальное.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от aljil Искать по авторуВ закладки(??) on 17-Дек-04, 15:35  (MSK)
У меня подобная задача реализована связкой сендмыл+мильтер.
В конфигурации мильтера по умолчанию прием почты от нелокального домена или отправка на нелокальный домен запрещены, почта от локальных доменов на локальные ходит без ограничений. Дополнительно заданы ссылки на списки адресов юзеров, кто может принимать\отправлять почту для нелокальных доменов. Для разрешения конкретному адресу принимать почту из нелокального домена или отправлять почту на нелокальный домен достаточно просто прописать этот адрес в соответствующий список во внешнем файле и перестартовать мильтер+сендмыл.
Мильтер - sentinel (http://smfilter.sourceforge.net)
Сендмыл - любой, что поддерживает Milter API.
Если будет интересно, покажу пример конфига мильтера, который эту задачу реализует.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от Nonamare emailИскать по авторуВ закладки(??) on 21-Дек-04, 15:14  (MSK)
>Если будет интересно, покажу пример конфига мильтера, который эту задачу реализует.

Интересно :). Хотелось бы увидеть.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от aljil Искать по авторуВ закладки(??) on 23-Дек-04, 14:52  (MSK)
Пример конфига мильтера, пардон за аглицкий, ну перло меня повыпендриваться :-)
------------------------------------------------------------------------
# Configuration file for sentinel "sendmail milter".
# ------------------------------------------------------------------------
# I-net mail authorization.
# This milter configuration checks mail headers(EnvelopeFrom:,
# EnvelopeRcpt:) and accepts or rejects mail message depending on
# given rules.
# Milter configured as below is intended to operate as second-in-line.
# First-in-line milter should deal with SPAM.
# Functions:
# 1. Accept mail from corporate to corporate domains by default.
# 2. Accept mail to I-net from corporate senders
#    stated in /var/acls/outwhitelist.lst.
# 3. Accept mail from I-net to corporate recipients
#    stated in /var/acls/inwhitelist.lst.
# 4. Unconditionally accept mail to\from administrators stated in
#    /var/acls/admins.lst
# 5. Reject all other mail from\to I-net by default
# -----------------------------------------------------------------------
[global]

<skipped>

[headers]

EnvelopeRcpt:

# Process recipient of the mail
# -----------------------------
# Reject all mail to I-net by default. Mail to I-net is defined as
# recipient non-matching corporate domains regex.
# Mail to I-net from allowed senders will be accepted by
# rule 'fromallowed' in 'EnvelopeFrom:' section below
# ('accept' has precedence over 'reject').
# Mail to I-net from admins will be accepted by rule 'fromadmin' in
# 'EnvelopeFrom:' section below ('accept' has precedence over 'reject').
# Mail from corporate to corporate domains will be accepted by default
# as far as no 'rejecting' etc. rules for such mail are stated - message
# without evident actions like reject\accept etc. is accepted.

killout:killout:quarantine(rejectout):/тут regex корпоративных доменов/in

# Accept mail to admins
toadmin:toadmin:admins(accepta):/.*/i

# Accept mail to allowed recipients
toallowed:toallowed:allowin(accepta):/.*/i

EnvelopeFrom:

# Process sender of the mail
# --------------------------
# Reject all mail from I-net by default. I-net mail is defined as
# non-matching corporate domains regex.
# Mail from I-net to allowed recipients will be accepted by
# rule 'toallowed' in 'EnvelopeRcpt:' section above
# ('accept' has precedence over 'reject').
# Mail from I-net to admins will be accepted by rule 'toadmin' in
# 'EnvelopeRcpt:' section above ('accept' has precedence over 'reject').
# Mail from corporate to corporate domains will be accepted by default
# as far as no 'rejecting' etc. rules for such mail are stated - message
# without evident actions like reject\accept etc. is accepted.

killin:killin:quarantine(rejectin):/тут regex корпоративных доменов/in

# Accept mail from admins
fromadmin:fromadmin:admins(accepta):/.*/i

# Accept mail from allowed senders
fromallowed:fromallowed:allowout(accepta):/.*/i

[actions]

null:null
accept:accept
accepta:accept
reject:reject
rejectout:reject:No rights to send mail outside
# rejectin:reject:Mail from outside blocked. Contact postmaster if this affects Your business
rejectin:discard
allowin(accepta):acl:/var/acls/inwhitelist.lst
allowout(accepta):acl:/var/acls/outwhitelist.lst
admins(accepta):acl:/var/acls/admins.lst
discard:discard
quarantine(rejectout):quarantine:/var/mailquarantine/%Y%m%d-out
quarantine(rejectin):quarantine:/var/mailquarantine/%Y%m%d-in

----------------------------------------------------------------------

Ну а подключено это дело как обычно.
Фрагмент sendmail.mc :
--------------------------------------------------
<skipped>

INPUT_MAIL_FILTER(`antispam', `S=inet:3003@localhost')
INPUT_MAIL_FILTER(`cop', `S=inet:3002@localhost')
INPUT_MAIL_FILTER(`drweb-filter', `S=inet:3001@localhost, F=T, T=C:1m;S:5m;R:5m;E:1h')
define(`confINPUT_MAIL_FILTERS', `drweb-filter,antispam,cop')
dnl define(`confMILTER_LOG_LEVEL',`6')
define(`confMILTER_LOG_LEVEL',`1')

<skipped>
-------------------------------------------------
cop - это мильтер, сконфигурированный как указано выше.
antispam - это отдельная песня, в данном случае сделано на том же мильтере sentinel, но с другой конфой.
Ну а дрвеба все знают :-). Вот так в связке сосисок-мильтеров и пашеть.

Все мильтеры должны быть запущены перед сендмылом, после внесения изменений в список разрешенных адресов мильтер\мильтеры надо перестартовать, чтобы перечитали списки. В конфигурации подключения мильтеров как выше желательно после этого перестартовать и сендмыл, потому как не заданы флаги F & T, в результате чего ежели сендмылу мильтер понадобится в момент его перестартовки и отсутствия, такой мильтер будет переведен в состояние ошибки и будет игнорироваться в дальнейшем, хоть уже и будет висеть в памяти перестартованным.

В таком вот виде пара серверов под фрей пашет более года - нареканий пока нету.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от Tigra emailИскать по авторуВ закладки(??) on 14-Янв-05, 08:20  (MSK)
Подскажите люди добрые сделал всё как написано выше, но что-то не работает.
В логах пишет
Milter (sentinel): error connecting to filter: Connection refused by localhost
Milter (sentinel): to error state
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от Andrey emailИскать по авторуВ закладки(??) on 21-Янв-05, 13:27  (MSK)
А не подскажите, что нужно добавить в этом конфиге sentinel`a чтобы разрешить отправку и приём почты из(во) "вне" для пользователей не находящихся в acl и их regex такой /sub(\d+)/i .
Таких пользователей много и записывать их в acl не хочется.
Сам что-то немогу догнать.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Ограничение пересылки почты в sendmail для указанных пользов..."
Сообщение от Nonamare emailИскать по авторуВ закладки(??) on 23-Янв-05, 13:49  (MSK)
Вопрос - при запуске строки вида sentinel -p 30001 -c /etc/mail/sentinel.cf -v3 -t -f /test1 выдает следующую картину:
Testing the configuration...
Looks good!
--
Starting sentinel version 1.7b, debug level is 3
01/21/2005 16:11:21 mlfi_connect[1.2.3.4]: entered
01/21/2005 16:11:21 mlfi_envfrom[gConfigTest777]: entered
01/21/2005 16:11:21 mlfi_envrcpt[gConfigTest777]: entered
01/21/2005 16:11:21 mlfi_header[gConfigTest777]: entered
01/21/2005 16:11:21 mlfi_header[gConfigTest777]: entered
01/21/2005 16:11:21 mlfi_header[gConfigTest777]: entered
01/21/2005 16:11:21 mlfi_eom[gConfigTest777]: entered
01/21/2005 16:11:21 mlfi_cleanup[gConfigTest777]: entered, return code SMFIS_ACCEPT
smfFlushLog[gConfigTest777]:
--
01/21/2005 16:11:21 sentinel[gConfigTest777]:
        error: regexec: invalid regular expression
--
01/21/2005 16:11:21 mlfi_close[1.2.3.4]: entered
--

При этом тестовый файл:
Connection: 1.2.3.4
EnvelopeFrom: foo@bar
EnvelopeRcpt: person1@company.com
Received: from relay.bar-list.com (relay.bar-list.com [192.112.214.7])
To: qwe@asd.zxc
From: asd@zxc
и конфигурационный файл

--skip
[headers]
From:
from1:from1:reject1:/.*/i
--skip

Ошибка происходит в файле sentinel.c в функции smfReplaceString при вызове regexec.

Вопрос - что следует исправить?

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2023 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру