Тестирование maildrop

Подключение и настройка дополнительных модулей: антивирус, антиспам, аутентификация mySQL и пр.
Писать в этот форум могут только зарегистрированные пользователи.

Модераторы: prefer, alexandrnew, ALex_hha, Roman, Axel

adm_udp

Тестирование maildrop

Сообщение adm_udp » 24 май 2016, 11:31

Подскажите, что неправильно делаю или как расширить степень вывода протокола, чтобы понять, что происходит.
Исходные данные:

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

uname -a
FreeBSD mkfse11.mk.fse.gov.ua 10.2-RELEASE FreeBSD 10.2-RELEASE #0 r286666: Wed Aug 12 19:31:38 UTC 2015     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  i386

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

pkg version | grep maildrop
maildrop-2.8.3                     <
Тестирую тестирую maildrop, использую ldap для связи с Active Directory Microsoft
Файлы конфигурации:
cat authdaemonrc | grep -v '^#' | grep -v '^$'

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

authmodulelist="authldap"
authmodulelistorig="authuserdb authvchkpw authpam authldap authmysql authpgsql"
authmodulelistorig="authldap"
daemons=5
authdaemonvar=/var/run/authdaemond
subsystem=mail
DEBUG_LOGIN=0
DEFAULTOPTIONS="wbnodsn=1"
LOGGEROPTS=""
cat authldaprc | grep -v '^#' | grep -v '^$'

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

LDAP_URI               ldap&#58;//10.115.0.1
LDAP_PROTOCOL_VERSION   3
LDAP_BASEDN             dc=mk, dc=fse, dc=gov, dc=ua
LDAP_BINDDN             CN=internet_user, CN=Users, DC=mk, DC=fse, DC=gov, DC=ua
LDAP_BINDPW             мой_текстовый_пароль
LDAP_TIMEOUT            5
LDAP_AUTHBIND           1
LDAP_INITBIND           1
LDAP_MAIL               mail
LDAP_DOMAIN             mk.fse.gov.ua
LDAP_HOMEDIR            description
LDAP_MAILDIR            physicalDeliveryOfficeName
LDAP_DEFAULTDELIVERY    defaultDelivery
LDAP_FULLNAME           userPrincipalName
LDAP_CRYPTPW            userPassword
LDAP_DEREF              never
LDAP_TLS                0
После тестированя maildrop появляется сообщение "Temporary authentication failure"

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

maildrop -d inf
maildrop&#58; Temporary authentication failure.
Вот выдержка из протокола почты

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

May 24 11&#58;26&#58;55 mkfse11 authdaemond&#58; stopping authdaemond children
May 24 11&#58;26&#58;55 mkfse11 authdaemond&#58; modules="authldap", daemons=5
May 24 11&#58;26&#58;55 mkfse11 authdaemond&#58; Installing libauthldap
May 24 11&#58;26&#58;55 mkfse11 authdaemond&#58; Installation complete&#58; authldap
May 24 11&#58;27&#58;17 mkfse11 maildrop&#91;79642&#93;&#58; Temporary authentication failure.
May 24 11&#58;27&#58;36 mkfse11 maildrop&#91;79644&#93;&#58; Temporary authentication failure.
May 24 11&#58;27&#58;53 mkfse11 maildrop&#91;79646&#93;&#58; Temporary authentication failure.
Насколько мне понятно связь с AD получилась, но аунтетификация не проходит, соответственно тестовое письмо не уходит.

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 24 май 2016, 16:01

Добрый день!
1.А ты тестировал доступность LDAP сервера утилитой ldapsearch?
2. Может в конфиге authldaprc или в каком другом нужно явно указать номер порта LDAP-сервера? Вроде такого: ldap://10.115.0.1:389
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

adm_udp

Сообщение adm_udp » 24 май 2016, 16:38

Да, тестировал

adm_udp

Сообщение adm_udp » 24 май 2016, 16:44

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

ldapsearch -x -b "DC=mk,DC=fse,DC=gov,DC=ua" -D "internet_user@mk.fse.gov.ua" -w "мой_пароль" -h mkfse01.mk.fse.gov.ua -v 3 -p 389 > /var/log/ad.log
ldap_initialize&#40; ldap&#58;//mkfse01.mk.fse.gov.ua &#41;
filter&#58; &#40;objectclass=*&#41;
requesting&#58; 3 -p 389
Ответ вот такой:

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

# extended LDIF
#
# LDAPv3
# base <DC=mk,DC=fse,DC=gov,DC=ua> with scope subtree
# filter&#58; &#40;objectclass=*&#41;
# requesting&#58; 3 -p 389 
#

# mk.fse.gov.ua
dn&#58; DC=mk,DC=fse,DC=gov,DC=ua

# Users, mk.fse.gov.ua
dn&#58; CN=Users,DC=mk,DC=fse,DC=gov,DC=ua

# Computers, mk.fse.gov.ua
dn&#58; CN=Computers,DC=mk,DC=fse,DC=gov,DC=ua
........

adm_udp

Сообщение adm_udp » 24 май 2016, 17:01

Прикрутил debug
Вот, что пишет при попытке протестировать maildrop -d udp@mk.fse.gov.ua

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

May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; authldap&#58; trying this module
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; selected ldap protocol version 3
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; binding to LDAP server as DN 'CN=internet_user, CN=Users, DC=mk, DC=fse, DC=gov, DC=ua', password 'мой_пароль'
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; using search filter&#58; &#40;&&#40;objectClass=person&#41;&#40;userPrincipalName=udp@mk.fse.gov.ua&#41;&#41;
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; ldap_search_st&#40;&#41; failed
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; selected ldap protocol version 3
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; binding to LDAP server as DN 'CN=internet_user, CN=Users, DC=mk, DC=fse, DC=gov, DC=ua', password 'мой_пароль'
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; using search filter&#58; &#40;&&#40;objectClass=person&#41;&#40;userPrincipalName=udp@mk.fse.gov.ua&#41;&#41;
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; ldap_search_st&#40;&#41; failed
May 24 16&#58;54&#58;57 mkfse11 authdaemond&#58; authldap&#58; TEMPFAIL - no more modules will be tried
Карты постфикса работают. Извините, что пишу 3 раза. Весь ответ не умещается. Завершается с 403 кодом.

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 24 май 2016, 17:31

Т.к. у тебя в логах:

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

authdaemond&#58; using search filter&#58; &#40;&&#40;objectClass=person&#41;&#40;userPrincipalName=udp@mk.fse.gov.ua&#41;&#41; 
authdaemond&#58; ldap_search_st&#40;&#41; failed 
поиск ldap_search не сработал.
Могу предположить, что:
1. у тебя не указано какие должны возвращаться атрибуты по результату поиска. Обычно возвращают атрибут mail.
2. Или фильтр для запроса должен быть другим. Например objectClass=user таким:

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

&#40;&&#40;objectClass=user&#41;&#40;userPrincipalName=udp@mk.fse.gov.ua&#41;&#41;
Т.к. у себя я попробовал эти 2-а разных класса объектов (person, user) и получил разные результаты поиска.

P.S. тесты фильтров я делаю утилитой: Apache Directory Studio. Отличная штука.
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

adm_udp

Сообщение adm_udp » 24 май 2016, 18:01

Я не совсем понимаю, почему нет возвращаемых атребутов.
Вот моя карта для постфикса, она рабочая:

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

server_host = 10.115.0.1&#58;3268
search_base = OU=Users, OU=MKFSE, dc=mk,dc=fse,dc=gov,dc=ua
version = 3
query_filter = &#40;&&#40;objectclass=person&#41;&#40;mail=%s&#41;&#41;
result_attribute = mail
result_format = %d/%s/Maildir/
bind_dn = internet_user@mk.fse.gov.ua
bind_pw = мой_пароль
Подскажите, что править, я дезориентирован.
Мой ответ натолкнул меня на правильное решение. В конфигурационном файле указал порт 3268. Завтра буду дальше тестировать

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

May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; received userid lookup request&#58; udp@mk.fse.gov.ua
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; authldap&#58; trying this module
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; selected ldap protocol version 3
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; binding to LDAP server as DN 'CN=internet_user, CN=Users, DC=mk, DC=fse, DC=gov, DC=ua', password 'мойпароль'
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; using search filter&#58; &#40;&&#40;objectclass=person&#41;&#40;mail=udp@mk.fse.gov.ua&#41;&#41;
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; one entry returned, DN&#58; CN=............ ......,OU=Inf,OU=Users,OU=MKFSE,DC=mk,DC=fse,DC=gov,DC=ua
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; raw ldap entry returned&#58;
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; | l&#58; 3003
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; | description&#58; mk.fse.gov.ua/udp@mk.fse.gov.ua
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; | userPrincipalName&#58; udp@mk.fse.gov.ua
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; | mail&#58; udp@mk.fse.gov.ua
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; authldaplib&#58; sysusername=<null>, sysuserid=3003, sysgroupid=3003, homedir=/var/spool/mail/mk.fse.gov.ua/udp@mk.fse.gov.ua, address=udp@mk.fse.gov.ua, fullname=udp@mk.fse.gov.ua, maildir=<null>, quota=<null>, options=<null>
May 24 18&#58;02&#58;38 mkfse11 authdaemond&#58; authldaplib&#58; clearpasswd=<null>, passwd=<null>
Вот конфигурационный файл:

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

 cat authldaprc | grep -v '^#' | grep -v '^$'
LDAP_URI               ldap&#58;//10.115.0.1&#58;3268
LDAP_PROTOCOL_VERSION   3
LDAP_BASEDN             dc=mk, dc=fse, dc=gov, dc=ua
LDAP_BINDDN             CN=internet_user, CN=Users, DC=mk, DC=fse, DC=gov, DC=ua
LDAP_BINDPW             мой_пароль
LDAP_TIMEOUT            5
LDAP_AUTHBIND           1
LDAP_INITBIND           1
LDAP_MAIL               mail
LDAP_FILTER           &#40;objectclass=person&#41;
LDAP_GLOB_UID         3000
LDAP_GLOB_GID         3000
LDAP_HOMEDIR            description
LDAP_MAILROOT        /var/spool/mail
LDAP_MAILDIR            physicalDeliveryOfficeName
LDAP_DEFAULTDELIVERY    defaultDelivery
LDAP_FULLNAME           userPrincipalName
LDAP_CRYPTPW            userPassword
LDAP_UID              l
LDAP_GID              l
LDAP_DEREF              never
LDAP_TLS                0
Последний раз редактировалось adm_udp 24 май 2016, 18:08, всего редактировалось 2 раза.

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 24 май 2016, 18:07

Ошибку выдал authdaemond. Вот его конфиг и смотри.
Где-то в системе у тебя должны быть маны. Вроде этих:

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

/usr/local/share/doc/courier-authlib/README.authmysql.html
/usr/local/share/doc/courier-authlib/README_authlib.html 
Почитай
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 24 май 2016, 18:18

Ты настраиваешь случайно не по этой статье?
http://scheford.blogspot.ru/2010/05/pos ... ctory.html
Там все расписано.
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

adm_udp

Сообщение adm_udp » 25 май 2016, 10:28

Я знаю эту статью. Настраивал довекот несколько лет назад. Установка получилась, тестовые письма пошли но сервер так и не запустил.
Ставлю по книге "Postfix Подробное руководство" Ральф Гильдебрандт и Патрик Кеттер. Там про довекот ничего нет. Я всетаки хочу осилить книгу и запустить сервер. В главе 19 корпоративный почтовый сервер в качестве транспорта используется maildrop. У них вроде все рассказано, но когда писалась эта книга, все делалось на Linux. Есть большие отличия. Вроде все препятствия приодолел. Осталось побороть maildrop и установить сервер pop3/imap. Maildrop начал видеть AD, но у меня появляется сообщение при тестировании о недоверенном пользователе.

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

su -m vmail -c 'maildrop -f udp@mk.fse.gov.ua -d udp@mk.fse.gov.ua'
maildrop&#58; You are not a trusted user.
Что это может означать? Если я правильно все далаю ...

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 25 май 2016, 11:56

Добрый день!
Книга эта хорошая, хотя немного устарела с 2008 года. просмотрел я 19 главу. В ней делаются некоторые оговорки по поводу каталога LDAP, который будет использоваться почтовым сервером.
1. В книге рассмотрена реализация каталога на основе openLDAP. У него немного другие схемы в сравнении с Microsoft AD. Т.е. тебе нужно понимать отличие одного от другого. Потому, что авторы прямо в книге ссылаются на то, что уже на работающий каталог LDAP нужно будет накатить новую схему от Courier IMAP. Т.е. сделать расширение каталога схемами inetorgperson.schema, authldap.schema (Courier IMAP) и nis.schema. И много еще всякой работы по настройке LDAP-каталога.
2. Нужно понимать разницу в шифровании паролей в разных ldap-каталогах. У Microsoft это md5. В openLDAP, ты можешь сам скомпилировать нужный тебе способ шифрования паролей.
3. Для postfix прога Courier IMAP, это только внешняя программа по работе пользователей со своими п/ящиками. Courier maipdrop, это всего лишь агент локальной доставки (LDA). Все это можно заменить на Dovecot. Который, кстати, считается более простым в настройке и лучше развивается последние годы, в сравнении с Courier IMAP. В интернете больше статей по успешной интеграции с каталогом АД именно Dovecot.

P.S. так как у тебя на текущем этапе проблемы с authdaemond, то рекомендую присмотреться к другому методу аутентификации. Не authldap, а authpam.
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

adm_udp

Сообщение adm_udp » 25 май 2016, 12:24

Из Интернетовских источников понял, что надо перекомпилировать maildrop с доверенным пользователем vmail. Пока не понял, как это сделать.
В файле Makefile порта maildrop сказано вот это:

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

# You can define the following to enable further compile time
# customizations&#58;
# MAILDROP_SUID=<username>,
# MAILDROP_SGID=<groupname>     Maildrop will be installed with suid
#                               permissions for MAILDROP_SUID, and sgid
#                               permissions for MAILDROP_SGID.
#                               NOTE&#58; must be a valid username/groupname
#                               at installation time, numeric uids/gids
#                               and non existing users will cause the
#                               installed package to miss files.
# MAILDROP_TRUSTED_USERS=<user> Specify users allowed to use the -d option
# MAILDROP_LOG_COLUMNS  lenght of 'File&#58;' line in log - 8; default&#58; 72
# MAILDROP_MBOX_DIR=<dir>       Specify DEFAULT mailbox location
Попробовал несколько раз прокомпелировать с указанием этих параметров но ничего не получилось, даже перестало все работать. Вернул как было, вроде маилдроп не может найти ящик. Чудо.

Пока получилось вот так:

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

maildrop -f udp@mk.fse.gov.ua -d udp@mk.fse.gov.ua
test list
maildrop&#58; Unable to open mailbox.

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

May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; Authenticated&#58; sysusername=<null>, sysuserid=3003, sysgroupid=3000, homedir=/var/spool/mail/mk.fse.gov.ua/udp@mk.fse.gov.ua/, address=udp@mk.fse.gov.ua, fullname=udp@mk.fse.gov.ua, maildir=/var/spool/mail/mk.fse.gov.ua/udp@mk.fse.gov.ua/, quota=<null>, options=<null>
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; Authenticated&#58; clearpasswd=<null>, passwd=<null>
May 25 12&#58;12&#58;32 mkfse11 maildrop&#91;1068&#93;&#58; Unable to open mailbox.

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

May 25 12&#58;10&#58;47 mkfse11 authdaemond&#58; authldaplib&#58; clearpasswd=<null>, passwd=<null>
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; received userid lookup request&#58; udp@mk.fse.gov.ua
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; authldap&#58; trying this module
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; selected ldap protocol version 3
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; binding to LDAP server as DN 'CN=internet_user, CN=Users, DC=mk, DC=fse, DC=gov, DC=ua', password 'мой_пароль_в_AD'
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; using search filter&#58; &#40;&&#40;objectclass=person&#41;&#40;mail=udp@mk.fse.gov.ua&#41;&#41;
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; one entry returned, DN&#58; CN=............ ......,OU=Inf,OU=Users,OU=MKFSE,DC=mk,DC=fse,DC=gov,DC=ua
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; raw ldap entry returned&#58;
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; | l&#58; 3003
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; | st&#58; /var/spool/mail/mk.fse.gov.ua/udp@mk.fse.gov.ua/
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; | telephoneNumber&#58; 3000
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; | userPrincipalName&#58; udp@mk.fse.gov.ua
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; | mail&#58; udp@mk.fse.gov.ua
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; authldaplib&#58; sysusername=<null>, sysuserid=3003, sysgroupid=3000, homedir=/var/spool/mail/mk.fse.gov.ua/udp@mk.fse.gov.ua/, address=udp@mk.fse.gov.ua, fullname=udp@mk.fse.gov.ua, maildir=/var/spool/mail/mk.fse.gov.ua/udp@mk.fse.gov.ua/, quota=<null>, options=<null>
May 25 12&#58;12&#58;25 mkfse11 authdaemond&#58; authldaplib&#58; clearpasswd=<null>, passwd=<null>
Мне кажется, что можно обойтись без интергации дополнительной схемы. Я понял, что дело это сложное и опасное для АД. Я пользуюсь имеющимися параметрами, теми, которые может прочитать программное обеспечение (адрес, телефон и т.д). А главное, посоветоваться не с кем. Если дадите советы, то буду рад. А что касается про много литературы, то в собраном виде ее нет. Я все-таки хочу попробовать добить maildrop.[/code]

adm_udp

Сообщение adm_udp » 25 май 2016, 12:36

Прописал путь к почтовому ящику /var/spool/mail/mk.fse.gov.ua/udp@mk.fse.gov.ua/Maildir/ и тестовое письмо туда попало.
У меня 3 домена. Буду сейчас настраивать создание Maildir для пользователя из этих трех доменов.
Ящики организованы по принципу: /var/spool/mail/<имя_домена>/<почтовый_адрес>/Maildir/
Это глава 14 книги, толька там рассматривалось на примере mysql. У меня другая БД, разницы быть не должно.
Большое спасибо за помощь и участие. Очень важно иметь советчика и собеседника.

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 25 май 2016, 12:45

Я когда-то тоже пробовал побороть maildrop. Не получилось. :?
То, что у тебя в лога:

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

May 25 12&#58;12&#58;32 mkfse11 maildrop&#91;1068&#93;&#58; Unable to open mailbox. 
Может пользователя, от имени которого запускается maildrop нужно добавить в группу имеющей доступ на запись в папку var/spool/mail/mk.fse.gov.ua/ :?:
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

adm_udp

Сообщение adm_udp » 25 май 2016, 13:22

Письма в ящик ложатся для пользователя udp@mk.fse.mk.ua. Для других доменов надо настраивать и ящики и AD.
Проверил, какие права доступа получились для maildrop:

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

root@mkfse11&#58;/var/spool/mail # ls -l /usr/local/bin/maildrop
-rwxr-xr-x  1 root  mail  195632 25 май 11&#58;07 /usr/local/bin/maildrop
Создание почтовых ящиков буду делать дальше во по этой статье http://www.lissyara.su/articles/freebsd ... r_postfix/

Ответить