exim+dovecot&2k3domain - Группы рассылки

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Tah
рядовой
Сообщения: 23
Зарегистрирован: 2007-04-01 16:01:54
Откуда: Kharkov

exim+dovecot&2k3domain - Группы рассылки

Непрочитанное сообщение Tah » 2007-06-03 21:37:06

собственно exim + dovecot + kerberos аутонтификация в 2к3 домене,
нужны идеи как мне создавать группы рассылки ?
я тут потихоньку буду описывать свои дальнейшие шаги, ступор на данный момент какой-то наступил.

пока мысль лдап клиентом пытаться вытягивать списки юзеров из групп AD... может есть ещё какие идеи ?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-06-03 22:26:47

э..
щас пытаю подобное направление, но я ушёл в сторону winbindd/exim/dovecot
до рассылок не докопал, зато интересен керберос.
и насчёт кэширования там как ? (сеть филиальная, а DC тока в голове, не хотелось бы чтобы начали резко выть из-за пропаданий связи на пару секунд)
Убей их всех! Бог потом рассортирует...

Tah
рядовой
Сообщения: 23
Зарегистрирован: 2007-04-01 16:01:54
Откуда: Kharkov

Непрочитанное сообщение Tah » 2007-06-03 22:44:43

lissyara писал(а):э..
щас пытаю подобное направление, но я ушёл в сторону winbindd/exim/dovecot
до рассылок не докопал, зато интересен керберос.
и насчёт кэширования там как ? (сеть филиальная, а DC тока в голове, не хотелось бы чтобы начали резко выть из-за пропаданий связи на пару секунд)
кеширование не нужно.
очень упрощенно: у тебя есть сетевые сервисы(exim+dovecot), для них в АД-ке создаются соотв. пользователи. При аутонтификации пользователя домена на данных сервисах, они(сервисы в данном случае exim или dovecot) изначально проверяют, устарел у них билет или нет. Если устарел - то идет запрос к серверу кербероса(по умолчанию ДК). Время жизни билета для 2к3 по умолч 1 неделя.

Т.е. есть пользователь вася, который сидит на виндовой машине и авторизировался в домене, он обращается к экзиму и время на его машине и на сервере различается не более чем на 5-ть минут, то он автоматически проходит аутонтификацию на экзиме.

соответственно в твоем случае проблем быть не должно.
ЗЫ Неплохо описано насчет работы кербероса в журнале системный администратор 2005/06.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-06-03 23:35:14

а линк мона?
или куски про аутенификацию из конфига
Убей их всех! Бог потом рассортирует...

Tah
рядовой
Сообщения: 23
Зарегистрирован: 2007-04-01 16:01:54
Откуда: Kharkov

Непрочитанное сообщение Tah » 2007-06-04 14:39:39

собственно конфиги, внутри линки..

доки по принципам работы
http://www.samag.ru/cgi-bin/go.pl?q=art ... .2005;a=10
http://www.securitylab.ru/analytics/265153.php
http://www.google.com/search?hl=ru&q=Heimdal+kerberos

файло не аатачитса :-//

вот выложил на время kerb_163
Вложения
Kerb.rar
(19.67 КБ) 74 скачивания

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-06-04 16:48:04

мдя...
тоже самое один-в-один я описал на winbindd сегодня :)
http://www.lissyara.su/?id=1455
Убей их всех! Бог потом рассортирует...

Tah
рядовой
Сообщения: 23
Зарегистрирован: 2007-04-01 16:01:54
Откуда: Kharkov

Непрочитанное сообщение Tah » 2007-06-08 19:18:56

lissyara писал(а):мдя...
тоже самое один-в-один я описал на winbindd сегодня :)
http://www.lissyara.su/?id=1455
ну собственно это можно было и без winbindd :) (а юзать "чистый" керберос)
вопрос в другом, как более красиво разрешать списки групп из АД-ки :)

седни/завтра вечерком посижу, надеюсь разрешится.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-06-08 20:05:46

у меня пока таймаут есть в пару-тройку недель - буду думать...
======
вообще - навскидку не вижу интегрированного решения, если тока фильтром.
посему, вероятно, придётся делать вызов внешнего скрипта...
=========
с учётом самой большой группы у меня, в 450 человек - будет неслабо...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-06-22 13:57:35

решил? если нет - вот решение:
роутер в экзиме.

Код: Выделить всё

mail_lists_router:
        driver          = "redirect"
        domains         = LOCAL_DOMAIN
        condition       = ${if eqi{${lookup ldap{LDAP_DATA \
                                ldap:///DISTRIBUTION_LISTS?name?sub?DISTRIBUTION_LISTS_FILTER}}}\
                                {$local_part}{yes}{no}}
        data            = ${perl{rcpt_generator}{${lookup ldap{LDAP_DATA \
                                ldap:///DISTRIBUTION_LISTS?member?sub?DISTRIBUTION_LISTS_FILTER}}}}
        user            = mailnull
        group           = mail
        file_transport  = address_file
        pipe_transport  = address_pipe
ну и к нему обвязка такова:

Код: Выделить всё

# perl for mailing lists
perl_startup = do '/usr/local/etc/exim/includes/mail_lists.pl'
# макросы 
LOCAL_DOMAIN = my.local.domain.name
LDAP_DATA = user=LDAP_AD_BINDDN pass=LDAP_AD_PASS
DISTRIBUTION_LISTS = OU=Users_mail,DC=MY,DC=LOCAL,DC=DOMAIN,DC=NAME
DISTRIBUTION_LISTS_FILTER       = (&(|(objectClass=group)\
(objectClass=publicFolder))\
(|(proxyAddresses=${quote_ldap:${local_part}@domain.in.mail.lists})\
(proxyAddresses=smtp:${quote_ldap:${local_part}@domain.in.mail.lists}))\
(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
сам скрипт:

Код: Выделить всё

#!/usr/bin/perl -w

sub rcpt_generator

{
        # exit string
        my $lists = "";
        #
        my ($array_of_ldap_search) = @_;
        #printf "all users = $array_of_ldap_search \n";
        # splitting space
        my (@array_of_users) = split(/ /,$array_of_ldap_search);
        for my $dn (@array_of_users) {
                #printf "user_dn = $dn \n";
                # split ','
                my (@dn_attr_full) = split(/,/,$dn);
                #printf "some attr = $dn_attr_full[0]; $dn_attr_full[1]; $dn_attr_full[2]; $dn_attr_full[3]; $dn_attr_full[4];\n";
                #printf "first element? = $dn_attr_full[$#dn_attr_full] \n";
                my ($unnecessary,$user_name) = split(/\=/,$dn_attr_full[0]);
                $user_address = $user_name . '@my-local-domain-name';
                $lists = $lists . "," . $user_address;
        }
        $lists = substr($lists,1);

        # return data
        #printf "$lists \n";
        return "$lists";
}

# для теста раскомментить и запустить
#rcpt_generator("CN=user1,OU=Novosibirsk,OU=my_specific_users_ou,DC=my-domain-name,DC=LOCAL, CN=user2,OU=Novosibirsk,OU=my_specific_users_ou,DC=my-domain-name,DC=LOCAL, CN=user3,OU=Novosibirsk,OU=my_specific_users_ou,DC=my-domain-name,DC=LOCAL, CN=user2,OU=Novosibirsk,OU=my_specific_users_ou,DC=my-domain-name,DC=LOCAL");
правил находу - имена доменов везде разные получились.
Убей их всех! Бог потом рассортирует...