Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Также для работы postfix и dovecot мы будем использовать TLS, поэтому пакет openssl должен быть установлен.
Хотелось бы сделать уточнение, я бы выбрал авторизацию через LDAP по причине:
- вся адресная книга просматривается через стандартный Outlook в Windows XP, всего лишь необходимо подключиться к LDAP серверу
- при используемой схеме (postfix.schema - самописная) практически все поля адресной книги в Outlook заполнены, что позволяет использовать данную конфигурацию в большой организации
- репликация OpenLdap в случае организации отказоустойчивой конфигурации с несколькими серверами.
Поэтому рассмотрим первую конфигурацию с авторизацией в OpenLdap. Приступим :)
Первое что необходимо установить это OpenLdap, вся установка и настройка этого пакета выходит за рамки статьи, думаю, что в интернете Вы сможете найти немало статей. Я всего лишь приведу список схем, которые необходимо подключить в файле slpad.conf:
|
Последняя схема postfix.schema является самописной, в конце статьи прикреплёны архивы необходимые для работы с OpenLdap и эффективного управления записями.
После того как OpenLdap сервер настроен и прослушивается порт 389, можно производить настройку Dovecot.
Dovecot — свободный IMAP- и POP3-сервер, разрабатываемый в расчёте на безопасность. Особенности сервера Поддержка форматов почтовых ящиков mbox и Maildir, высокое быстродействие благодаря индексации содержимого ящиков. Честно говоря я очень доволен этой прогой!
Документация по Dovecot после его установки распологается в /usr/local/share/doc/dovecot или на сайте http://wiki.dovecot.org. Итак приступим.Собираем пакет из портов со следующими опциями:
|
После сборки и установки пакета идём в /usr/local/etc и выполняем команды:
|
И приступаем к редактированию конфига dovecot-ldap.conf:
|
Далее редактируем конфигурацию dovecot.conf. Советую проверить все пути и наличие сертификатов, так как в данной конфигурации поддерживается TLS. В рабочей конфигурации отключите всю отладку, т.е всё что касается опций debug:
|
С настройкой Dovecot закончили :), далее необходимо поставить и настроить антивирус. У нас будет использоваться Clamav, поэтому приступим. Собираем пакет clamav со следующими опциями:
|
Далее устанавливаем пакет clamsmtp и собираем его со следующими опциями:
|
После установки переходим в каталог /usr/local/etc и выполняем команды:
|
И редактируем файл clamsmtpd.conf, обязательно проверьте все пути:
|
VirusAction: /var/script/virus_action.sh - данный скрипт можно взят отсюда /usr/local/share/examples/clamsmtp.
Приступаем к редактированию файла clamd.conf, обязательно проверьте все пути:
|
Далее мы настроим спам-фильтер, все оценки спама я приводить не буду, потому что это довольно таки тонкие настройки и каждый сам их для себя сделает, мы только установим и свяжем спам-фильтер с Postfix'ом.
Отредактируем файл /usr/local/etc/mail/local.cf:
|
Устанавливаем Postfix со следующими опциями:
|
Опцию [X] SASL2 Cyrus SASLv2 (Simple Auth. and Sec. Layer) можно и не использовать, так как у нас аутентификация будет производится через Dovecot. Это для тех кто захочет поэкспериментировать с SASL2 :)
Далее необходимо создать в каталоге с Postfix'ом дирректории ldap, mysql, conf, права на дирректории определяете сами, в соответствии со своей политикой безопасности.
Приступаем к редактированию файла /usr/local/etc/postfix/main.cf. Обязательно проверьте все пути и наличие сертификатов, так как приведённая конфигурация с поддержкой TLS:
|
И далее редактируем файл /usr/local/etc/postfix/master.cf:
|
Для нормальной работы создаём два файла в соответствии с конфигурацией main.cf:
|
Файл mime_check:
|
Файл pcre_check_helo_access:
|
После всех произведённых настроек создаём в каталоге /usr/local/etc/postfix/ldap файлы с настройками для поиска в OpenLDAP необходимых данных. Имена файлов не имеют никакого значения, при смене имени, измените имя файла в main.cf:
1) Файлы transport.cf:
|
2) Файл virtual_aliases.cf - поиск алиасов:
|
3) Фйал virtual_domain.cf - поиск доменов для которых наш почтовый сервер является конечным. Список доменов должен быть уникальным и все домены не должны присутствовать в параметре mydestination:
|
4) Файл virtual_mailbox_recipient.cf - выбор пути к почтовому ящику пользователя:
|
5) Файл virtual_myuser_sender.cf[/b] - поиск пользователей для параметра smtpd_sender_login_mapsх:
|
6) Файл virtual_quota.cf - определение квоты на почтовый ящик для каждого пользователя:
|
7) Файл virtual_sender_access.cf - поиск ограничений:
|
8) Фйал virtual_sender_login.cf - получение логина пользователя, который может отправлять почту. Так как у нас будет n-количество доменов, то в качестве имени выбираем e-mail пользователя:
|
9) Файл virtual_uid.cf - получение списка uid виртуальных юзеров:
|
Все основные файлы настроили, это самое главное :). Далее с помощью прилагаемого архива 'Скрипты для работы с OpenLDAP', которые можно скачать в конце статьи, Вы добавляете всю необходимую информацию в OpenLDAP и проверяете файлы, которые мы создали выше с помощью следующей команды (man postmap):
|
Хотелось бы сделать уточнения, прежде чем пользоваться скриптами, обязательно скачайте архив со схемой и внесите два файла top.ldif и organization.ldif в LDAP с помощью следующих команд (порядок следования файлов имеет значение!!!):
|
Если Вы не хотите использовать скрипты, то Вам необходимо изучить файлы, которые находятся в архиве 'Схема Postfix для OpenLDAP' и использовать команду ldapadd, обязательно почитайте следующие маны (ldapadd, ldapsearch, ldapdelete, ldapmodify).
Всё с настройкой Postfix в связке с OpenLDAP закончили, далее приступим к настройке Postfix в связке с MySQL, для этого создадим в каталоге с Postfix дирректорию mysql(права на каталог определяйте в соответствии со своей политикой безопасности):
|
После создания каталога приступаем к созданию файлов с помощью которых будем извлекать информацию из MySQL.
Имена файлов не имеют никакого значения, при смене имени, измените имя файла в main.cf:
1) Файлы transport.cf:
|
2) Файл virtual_aliases.cf - поиск алиасов:
|
3) Фйал virtual_domain.cf - поиск доменов для которых наш почтовый сервер является конечным. Список доменов должен быть уникальным и все домены не должны присутствовать в параметре mydestination:
|
4) Файл virtual_mailbox_recipient.cf - выбор пути к почтовому ящику пользователя:
|
5) Файл virtual_myuser_sender.cf[/b] - поиск пользователей для параметра smtpd_sender_login_mapsх:
|
6) Файл virtual_quota.cf - определение квоты на почтовый ящик для каждого пользователя:
|
7) Файл virtual_sender_access.cf - поиск ограничений:
|
8) Фйал virtual_sender_login.cf - получение логина пользователя, который может отправлять почту. Так как у нас будет n-количество доменов, то в качестве имени выбираем e-mail пользователя:
|
9) Файл virtual_uid.cf - получение списка uid виртуальных юзеров:
|
:
Настройка MySQL сервера выходит за рамки данной статьи, я думаю Вы найдёте достаточное количество статей по настройке сервера MySQL.
Далее нам необходимо произвести небольшие изменения в конфигурационном файле main.cf Postfix'a :)
Всего лишь необходимо заменить:
|
на
|
Т.е мы практически ничего не изменили в конфигурации, поменялось только место из которого извлекаются все данные :)
Изменим в файле dovecot.conf следующие параметры:
|
на
|
После изменения файла dovecot.conf выполняем следующую команду:
|
И отредактируем файл dovecot-sql.conf:
|
С Dovecot закончили :)
Всё у нас получилась полностью рабочая конфигурация :)
Хотелось бы сделать несколько уточнений:
1) При данной конфигурации Postfix не возможности отправлять почту локальным пользователя, поэтому как выход могу посоветовать сделать alias на локальных пользователей!
2) Обязательно посмотрите документацию к Postfix она находится в пакете с Postfix - папка html.
3) Таблицы для работы с MySQL прикреплены в конце статьи, измените их в соответствии со своими нуждами.
В данной конфигурации таблицы были отредактированы, поэтому советую проверять все файлы, которые работают с MySQL.
4) В конфигурации Postfix отсутствую чёрные списки для спам доменов, поэтому добавте их в соответствии с вашими желаниями
5) Приведённые выше настройки являются тестовыми, поэтому возможно в реальной работе Вам необходимо будет что-то изменить.
6) Управление очередью Postfix осуществляется с помощью команд 'mailq' и 'postsuper'. Почитайте man по этим командам. Пример:
Удаление определённой очереди:
|
Удаление всех писем из очереди:
|
7) Есть такая ещё полезная команда как 'qshape'. Почитайте обязательно man. Показывает письма по очередям и их время нахождения в очереди.
Пример:
|
Удачи!!
Список прилагаемых файлов:
|
-------------------
|
-------------------
|
размещено: 2009-01-16,
последнее обновление: 2009-03-20,
автор: atrium
ADvise, 2009-02-13 в 11:09:48
Статья безусловно полезная, не учитывая конечно такие моменты, что опытным пользователям она может не пригодится, а начинающим нужны пояснения по LDAP. И просто в целом, все сжато.
Другой вопрос, можно ли прикрутить postfixadmin?
atrium, 2009-02-14 в 15:12:26
А какие именно пояснения по LDAP? Конфиг slapd?
Я postfixadmin не прикручивал, хочю написать типа postfixadmin только для работы с OpenLDAP сервером?
atrium, 2009-02-14 в 15:18:23
А чего по LDAP нужно, slapd.conf выложить? Схема написана, скрипты есть изучить только формат ldif и пользуйся на здоровье!
Postfixadmin не прикручивал! Хочу написать аналог postfixadmin только для работы с OpenLDAP!
Почему статья сжатая, конфиги практически все представлены, осталось изучить и самостоятельно освоить!
Advise, 2009-02-15 в 20:12:00
1. нужна была ссылка на статью для создание сертификатов.
пришлось потратить время.
2. не понятно что с smtpd. где его конф? и что там написано, и если мы его не используем, чего тогда postfix ругается что postfix/smtpd: ldap не известен.
3. в целом конечно прикольно, так, взять статью как идею, установить софт, скопировать конфы, а потом голову ломать, почему не работает. Тогда делай проще, "статья - скручиваем dovecot + postfix + LDAP". Тупо. и все. в тексте пишим. "вот тут лежат дистрибутивы. Конфы с каментами. Желаю удачи."
я на LDAP три дня убил, пока понял, что l1523 это лицей 1523, а не одинадцать тысяч пятьсот двадцать три. Конечно, спасибо, ибо если бы не ваше описание головы, я бы не вкурил LDAP.
25. с каким кругом пользователей вы делитесь своей статьей? с пропитыми админами? дан наф им надо, они сидят на своих прокуреных МТА, которые крутятся годами, и лишь фиксят недоделки. Или может для чайников? Вот никак рука не поднимается поставить оценкку +10. +3.. с натяжкой.
100. чисто от себя. уже больше года на твоем сайте (lissyara) читаю статьи и делаю по ним. и знаешь что заметил, чем новее статья, тем больше ошибок и недоговорок.
раньше ты писал лучше, более подробно и понятливее. Для тебя может это и просто и понятно, но к примеру, сможешь ли ты установить за два часа расходомер на насос с агресивной средой и подцепить к КПК с прошивкой для этого дела (самому и прошить придется). Уверен, убьешь много времени на поиск инфы. Вот такой же и смысл твоей статьи.
из всего что установил по статье, только mysql не требовал вмешательство, с БД дружим, а в остальном.. ну матов не хватает. просто элементарное listing: IP:110. кто знает, IP это какой то внутренний параметр или это опция или что это... я сначал ов шоке был.. пока понял, что там просто адрес написать надо... звездачку не судьба написать было...
без обид.. накипело..
atrium, 2009-02-15 в 23:07:02
Я конечно не спорю может ты и прав, но всё разжовывать... Если я всё напишу куда ткнуть и что сделать ты тупо всё сделаешь и сам не поймёшь что делал, я на прикрутку openldap к postfix с нормальной схемой потратил 2 недели и не плачу, сидел разбирался, а если тебе влом разобраться то извини....
atrium, 2009-02-15 в 23:09:38
IP:110 - :) думать надо, а не тупо конфиги копировать :) извини, если грубо!
ADvise, 2009-02-16 в 6:02:36
По рабочим примерам легче учится.
А то создается такое впечатление, что ты тупо что-то у кого-то скопировал, добавил, изменил и выложил сам не разобравшись. А тупо копировать приходится, ибо быстро нужна почта, а ты уперся в хз что, и постоянно разгребаешь ошибки. Да и в 2 часа ночи, когда мозги уже на исходе, такие детали могут проскальзывать, ибо ищещь адрес, а не слово IP.
Ладно, закроем пустую тему, не имеющую отношения к статье...
atrium, 2009-02-16 в 9:12:21
Правильно, что приператься попусту!
Я конечно понимаю что тяжело чужие каракули разбирать...
Все конфиги рабочие, хотел скриншоты приложить но слишком объёмная статья была бы!
И ни у кого я ничего не копировал, я лучше разберусь сам... :)
Извини, если чем обидел, не хотел, ничего личного :)
Advise, 2009-02-17 в 6:00:43
Не знаю почему, но постфиксу помогло для подключения к LDAP
/usr/local/etc/openldap/slapd.conf
allow bind_v2
и что характерно, первой строкой.
ADvise, 2009-02-17 в 6:58:53
Не могу понять, какие нужны сертификаты для Postfix и dovecot. Пробовал по разному их генерировать, по разным статьям. Постоянно ругается:
postfix/smtpd[27384]: warning: TLS library problem: 27384:error:0906406D:PEM routines:PEM_def_callback:problems getting password:pem_lib.c:105:
скажите, или укажите, где истина? какие нужны сертификаты демонам и какие клиентам. Честно, устал уже копать...
atrium, 2009-02-17 в 9:14:29
/usr/src/crypto/openssl/apps - Посмотрите там генерируется первый сертификат, которым вы будите подписывать все остальные!
1) CA.sh или CA.pl -newca
2) openssl x509 -in cacert.pem -out cacert.der -outform DER - для установки в Windows
3)openssl req -new -nodes -keyout postfix_private_key.pem -out postfix_private_key.pem -days 365
4)openssl ca -policy policy_anything -out postfix_public_cert.pem -infiles postfix_private_key.pem
Далее всё по статьям...если не получится
ProFTP, 2009-02-23 в 8:16:24
LDAP можно сюда прикрутить
http://forum.lissyara.su/viewtopic.php?f=20&t=12348
Advise, 2009-02-23 в 21:16:11
с LDAP разобрались.
с сертификатами то же.
но почта как не работала, так и не работает.
почему гвоорит
loops back to myself
помогите настроить пошагово, где-то ведь что-то пропустил.
устал читать документации, от них только хуже, особенно если на енглиш - трудно понять, если на русском, то каждый в своем переводе либо коротко и не понятно, либо по словарю перевел. трудно.
отпишите мне на почту, помогите настроить postfix.
даже элементарное, не создаются папки пользователей.. почему.. теряюсь в догадках и логе..
atrium, 2009-02-24 в 9:20:01
Напишите мне на почту всю проблему, я пошагово расскажу как необходимо делать!
atrium, 2009-02-24 в 9:23:18
ivchenko_maksim[собака]mail.ru - Жду письма с проблемой. Расскажите как вы делайте!
skliz, 2009-03-30 в 11:56:54
Здрасте всем подскажите плиз, сейчас постфикс принимает почту и передает ее ексченджу и заодно идет проверка пользователей по ldap, планируеться еще одну почту передовать через этот постфикс тока теперь на другой ексчендж который абсолютно в другом домене AD находиться, работает ли постфикс с двумя проверками по LDAP, пробовал настроить без результатно, гуглил тоже покачто ненашел, за любую инфу заранее спасибо!!!
atrium, 2009-04-01 в 16:17:09
У вас я так понимаю postfix работает в качестве шлюза. В чём собственно загвостка?
В main.cf в параметре transport_maps необходимо прописать domain.ru smtp:[ip_ексченджа]:25 если конечно есть маршрутизаци между доменами?
И что за проверки по LDAP?
atrium, 2009-04-01 в 16:19:03
В параметре relay_recipient_maps необходимо указать список пользователей для которых разрешено получать почту. Почитайте в доке к postfix про relay_recipient_maps!
dacent, 2009-06-06 в 20:59:46
схема postfix.schema вообще живая?
При include получаю:
==
config_build_entry: "cn={5}openldap"
config_build_entry: "cn={6}postfix"
config_build_attrs: error 21 on olcAttributeTypes value #0
config_build_entry: build "cn={6}postfix" failed: ""
backend_startup_one: bi_db_open failed! (-1)
slapd shutdown: initiated
====> bdb_cache_release_all
slapd destroy: freeing system resources.
slapd stopped.
==
atrium, 2009-06-09 в 9:02:55
Порядок подключения схемы имеет значение, могу посоветовать глянуть вот сюда, более новое и web-интерфейс к тому же:
http://olpostfix.googlecode.com/svn/trunk/
dacent, 2009-06-09 в 22:24:18
Как то не было времени разбираться со схемой - поднял все на sendmail.
На досуге все таки осуществлю эту "схему" - только из-за "админки"
densan, 2009-07-04 в 15:41:02
Если в postfix.schema в DESC '' присутствует кириллица slapd валиться с ошибкой:
config_build_attrs: error 21 on olcAttributeTypes value #0
config_build_entry: build "cn={7}postfix" failed: ""
backend_startup_one: bi_db_open failed! (-1)
openldap-server-2.4.16_1
andry, 2009-08-14 в 10:11:38
В архиве с таблицами MySQL нашел только три таблицы
# virtual_aliases
# virtual_mailbox_domains
# virtual_users
Хотя в описании их больше.
Denis Kharkov, 2010-02-04 в 13:36:54
Не понятно зачем в конфиге Dovecot у автора используется
login_max_connections = 180,так как данная опция используется если login_process_per_connection установлено в no
Saamuel, 2010-02-11 в 13:38:40
Скажите пожалуйста у меня вот такая ошибка при запуске dovecot. Что делать?
Feb 11 13:39:55 auth(default): Error: dovecot-auth: error while loading shared libraries: libldap-2.4.so.2: failed to map segment from shared object: Cannot allocate memory
Feb 11 13:39:55 dovecot: Error: child 12138 (auth) returned error 127
Feb 11 13:39:55 dovecot: Fatal: Auth process died too early - shutting down
alex, 2010-05-05 в 7:09:06
for Saamuel
В конфиге dovecot измени параметр вот так login_process_size = 64
mas, 2011-04-19 в 18:33:03
auth(default): Error: /libexec/ld-elf.so.1: /usr/lib/libssl.so.6: mmap of entire address space failed: Cann
ot allocate memory
А с этим добром чего делать?
Кирилл, 2011-05-10 в 17:03:13
2mas: только что решили подобную проблему, но только библиотека была от мускуля 5.5.х, решилось откатом мускуля до 5.1.х
но вообще похоже на некорректную работу с mmap у Dovecot-a 1.2.16
Роман, 2014-03-12 в 10:42:59
вот что делать в phpmyadmin никто не пишет, у всех это выходит за рамки темы или postfixadmin используют((
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [29 шт.]