The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Настройка postfix на авторизацию в AD, !*! naira, 18-Апр-07, 11:49  [смотреть все]
Помогите пожалуйста разобраться с такой проблемой: настроен сервер Windows Server 2003 и AD без Exchange. На другом сервере FreeBSD 6.1 и postfix. Не хочу набивать два раза пользователей в AD и для postfix. Я так поняла, что есть возможность, чтобы пользователи проходили SMTP аутентификацию через SASL в AD. Вот подробное описание того, что я уже сделала:

Настройка почтовой системы Postfix+SASL+Pam

1. Установила из портов:
    Cyrus-sasl-2.1.22
    Cyrus-sasl-saslauthd-2.1.22
    Pam-ldap-182
2. cyrus-sasl указала метод аутентификации:
    /usr/local/lib/sasl2/smtpd.conf:
     pwcheck_method:saslauthd
3. Запустила saslauthd с поддержкой  -a pam.
    Создала файла в usr/local/etc/rc.d/saslauthd.sh:
              #! /bin/sh
                  /usr/local/sbin/saslauthd – a pam
Присвоила этому файлу право на выполнение:
  Chmod 705 saslauthd.sh

4. Установила postfix-2.4.0 из портов с поддержкой SASL2, TLS, MYSQL
5. Отключила запуск sendmail при старте системы в rc.conf:
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
Отключила специфичные для sendmail опции. Для этого создала файла /etc/periodic.conf:
      
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"


   6. Создала символическую ссылку, необходимую для запуска во время начальной загрузки:
     cd /usr/local/etc/rc.d
      ln –s /usr/local/sbin/postfix postfix.sh

7. Создала базу псевдонимов alias.db и запустила postfix:
        
            # postalias /etc/aliases
           # ls -l /etc/aliases.db
           # postmap /usr/local/etc/postfix/virtual
           # postfix start
Проверила, что postfix работает:
   telnet localhost 25
Все нормально
8. Редактируем файл /usr/local/etc/postfix/main.cf
Привожу не весь файл, а только, где вводила изменения:
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
myhostname = gateway.domain.ru
mydomain = domain.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks_styl=host
mynetworks = 192.168.0.0/24, 127.0.0.0/8
alias_maps = hash:/etc/aliases
home_mailbox=Maildir/
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
smtpd_sasl_security_options = noanonymous
   smtpd_sasl_local_domain = $myhostname
   smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,
            reject_unauth_destination

8. Создала файл /user/local/etc/pam.conf:
   smtp auth sufficient  /usr/local/lib/pam_ldap.so
9. pam_ldap для взаимодействия с AD использует ldap.conf:
  /usr/local/etc/openldap/ldap.conf:
        BASE dc=domain,dc=org
        scope sub
        URI ldap://server.domain.org
        port 389
        ldap_version 3
        binddn cn=Administrator,cn=Users,dc=domain,dc=org
        bindpw qwerty412
        pam_filter objectclass=User
        pam_login_attribute sAMAccountName
        pam_password ad
10. В файле /usr/local/etc/postfix/master.cf:
           smtp  inet  n y n - - smtpd.
В результате получается, что postfix принимает сообщения для пользователей, которые есть на сервере FreeBSD, ну например тот же самый postfix, а для пользователей, которые сидят в AD нет, выдает ошибку. Привожу отрывок из файла /var/log/maillog/
Apr 18 06:04:36 gateway postfix/smtpd[895]: connect from unknown[192.168.0.3]
Apr 18 06:04:36 gateway postfix/smtpd[895]: NOQUEUE: reject: RCPT from unknown[192.168.0.3]: 550 5.1.1 <usertest@domain.ru>.....
Apr 18 06:04:36 gateway postfix/smtpd[895]: disconnect from unknown[192.168.0.3]
Про SASL нигде ничего.

Надеюсь на помощь.

  • Настройка postfix на авторизацию в AD, !*! geekkoo, 12:40 , 18-Апр-07 (1)
    >Помогите пожалуйста разобраться с такой проблемой: настроен сервер Windows Server 2003 и
    >AD без Exchange. На другом сервере FreeBSD 6.1 и postfix. Не
    >хочу набивать два раза пользователей в AD и для postfix. Я
    >так поняла, что есть возможность, чтобы пользователи проходили SMTP аутентификацию через
    >SASL в AD. Вот подробное описание того, что я уже сделала:
    >
    >
    >Настройка почтовой системы Postfix+SASL+Pam
    >
    >1. Установила из портов:
    >    Cyrus-sasl-2.1.22
    >    Cyrus-sasl-saslauthd-2.1.22
    >    Pam-ldap-182
    >2. cyrus-sasl указала метод аутентификации:
    >    /usr/local/lib/sasl2/smtpd.conf:
    >     pwcheck_method:saslauthd
    >3. Запустила saslauthd с поддержкой  -a pam.
    >    Создала файла в usr/local/etc/rc.d/saslauthd.sh:
    >            
    >  #! /bin/sh
    >            
    >      /usr/local/sbin/saslauthd – a pam
    >Присвоила этому файлу право на выполнение:
    >  Chmod 705 saslauthd.sh
    >
    >4. Установила postfix-2.4.0 из портов с поддержкой SASL2, TLS, MYSQL
    >5. Отключила запуск sendmail при старте системы в rc.conf:
    >sendmail_enable="NO"
    >sendmail_submit_enable="NO"
    >sendmail_outbound_enable="NO"
    >sendmail_msp_queue_enable="NO"
    >Отключила специфичные для sendmail опции. Для этого создала файла /etc/periodic.conf:
    >
    >daily_clean_hoststat_enable="NO"
    >daily_status_mail_rejects_enable="NO"
    >daily_status_include_submit_mailq="NO"
    >daily_submit_queuerun="NO"
    >
    >
    >   6. Создала символическую ссылку, необходимую для запуска во время
    >начальной загрузки:
    >     cd /usr/local/etc/rc.d
    >      ln –s /usr/local/sbin/postfix postfix.sh
    >
    >7. Создала базу псевдонимов alias.db и запустила postfix:
    >
    >            
    ># postalias /etc/aliases
    >           #
    >ls -l /etc/aliases.db
    >           #
    >postmap /usr/local/etc/postfix/virtual
    >           #
    >postfix start
    >Проверила, что postfix работает:
    >   telnet localhost 25
    >Все нормально
    >8. Редактируем файл /usr/local/etc/postfix/main.cf
    >Привожу не весь файл, а только, где вводила изменения:
    >queue_directory = /var/spool/postfix
    >command_directory = /usr/local/sbin
    >daemon_directory = /usr/local/libexec/postfix
    >mail_owner = postfix
    >myhostname = gateway.domain.ru
    >mydomain = domain.ru
    >myorigin = $mydomain
    >inet_interfaces = all
    >mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    >unknown_local_recipient_reject_code = 550
    >mynetworks_styl=host
    >mynetworks = 192.168.0.0/24, 127.0.0.0/8
    >alias_maps = hash:/etc/aliases
    >home_mailbox=Maildir/
    >smtpd_banner = $myhostname ESMTP $mail_name
    >smtpd_sasl_auth_enable = yes
    > smtpd_sasl_application_name = smtpd
    > smtpd_sasl_security_options = noanonymous
    >   smtpd_sasl_local_domain = $myhostname
    >   smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,
    >            
    >reject_unauth_destination
    >
    >8. Создала файл /user/local/etc/pam.conf:
    >   smtp auth sufficient  /usr/local/lib/pam_ldap.so
    >9. pam_ldap для взаимодействия с AD использует ldap.conf:
    >  /usr/local/etc/openldap/ldap.conf:
    >        BASE dc=domain,dc=org
    >        scope sub
    >        URI ldap://server.domain.org
    >        port 389
    >        ldap_version 3
    >        binddn cn=Administrator,cn=Users,dc=domain,dc=org
    >        bindpw qwerty412
    >        pam_filter objectclass=User
    >        pam_login_attribute sAMAccountName
    >        pam_password ad
    >10. В файле /usr/local/etc/postfix/master.cf:
    >           smtp
    > inet  n y n - - smtpd.
    >В результате получается, что postfix принимает сообщения для пользователей, которые есть на
    >сервере FreeBSD, ну например тот же самый postfix, а для пользователей,
    >которые сидят в AD нет, выдает ошибку. Привожу отрывок из файла
    >/var/log/maillog/
    >Apr 18 06:04:36 gateway postfix/smtpd[895]: connect from unknown[192.168.0.3]
    >Apr 18 06:04:36 gateway postfix/smtpd[895]: NOQUEUE: reject: RCPT from unknown[192.168.0.3]: 550 5.1.1 <usertest@domain.ru>.....
    >Apr 18 06:04:36 gateway postfix/smtpd[895]: disconnect from unknown[192.168.0.3]
    >Про SASL нигде ничего.
    >
    >Надеюсь на помощь.

    В Системном Администраторе 10-11 за 2006 год были 2 статьи про настройку Cyrus-SASL Postfix и Cyrus-IMAP с аутентификацией в Kerberos. Единственное отличие от вашего случая - там в качестве KDC работал Heimdal. В случае AD нужно только завести принципала для почтового сервиса smtp/host@REALM, а всё остальное практически без изменений.
    Вопрос проверки адресата (получателя) на наличие - вопрос несколько другой и вас он, видимо, не интересует. На всякий случай - эта тема тоже неделю назад обсуждалась - Postfix+AD.

    • Настройка postfix на авторизацию в AD, !*! geekkoo, 12:46 , 18-Апр-07 (2)

      >В Системном Администраторе 10-11 за 2006 год были 2 статьи про настройку
      >Cyrus-SASL Postfix и Cyrus-IMAP с аутентификацией в Kerberos. Единственное отличие от
      >вашего случая - там в качестве KDC работал Heimdal. В случае
      >AD нужно только завести принципала для почтового сервиса smtp/host@REALM, а всё
      >остальное практически без изменений.
      В принципе, даже принципала заводить не нужно, если  интересует только проверка текстовых парлолей. Настраивается saslauthd соответствующим образом и всё.
      >Вопрос проверки адресата (получателя) на наличие - вопрос несколько другой и вас
      >он, видимо, не интересует. На всякий случай - эта тема тоже
      >неделю назад обсуждалась - Postfix+AD.


      • Настройка postfix на авторизацию в AD, !*! naira, 14:52 , 18-Апр-07 (3)
        >
        >>В Системном Администраторе 10-11 за 2006 год были 2 статьи про настройку
        >>Cyrus-SASL Postfix и Cyrus-IMAP с аутентификацией в Kerberos. Единственное отличие от
        >>вашего случая - там в качестве KDC работал Heimdal. В случае
        >>AD нужно только завести принципала для почтового сервиса smtp/host@REALM, а всё
        >>остальное практически без изменений.
        >В принципе, даже принципала заводить не нужно, если  интересует только проверка
        >текстовых парлолей. Настраивается saslauthd соответствующим образом и всё.
        >>Вопрос проверки адресата (получателя) на наличие - вопрос несколько другой и вас
        >>он, видимо, не интересует. На всякий случай - эта тема тоже
        >>неделю назад обсуждалась - Postfix+AD.


        Поясните, пожалуйста, что значит "Настраивается saslauthd соответствующим образом и всё."

        • Настройка postfix на авторизацию в AD, !*! geekkoo, 15:33 , 18-Апр-07 (5)

          >Поясните, пожалуйста, что значит "Настраивается saslauthd соответствующим образом и всё."

          В том смысле если smtp.conf выглядит как

          pwcheck_method: saslauthd
          mech_list: plain login

          то специального принципала для поствикча заводить не надо. Достаточно запустить saslauthd -a kerberos5 (или saslauthd -a ldap в зависимости от того, используется ли AD в качестве контроллера керберос или только сервера LDAP), чтобы можно было проверять пароли с помощью кербероса.

  • Настройка postfix на авторизацию в AD, !*! saylor_ua, 15:08 , 18-Апр-07 (4)
    Собрать постфикс с поддержкой LDAP

    в main.cf


    # имя Windows-домена
    ldapmap_search_base = ou=Users, dc=local, dc=com

    # IP-адрес PDC
    ldapmap_server_host = pdc

    # LDAP-порт
    ldapmap_server_port = 3268

    ldap_timeout = 60
    ldapmap_query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=contact)))
    ldapmap_result_filter = %s
    ldapmap_result_attribute = cn
    ldapmap_special_result_attribute =
    ldapmap_scope = sub
    ldapmap_bind = yes
    ldapmap_bind_dn = bind@local.com
    ldapmap_bind_pw = bindpw
    ldapmap_cache = no
    ldapmap_dereference = 0
    ldapmap_domain = local.com
    ldapmap_debuglevel = 0

    virtual_mailbox_maps = ldap:ldapmap
    virtual_mailbox_domains = local.com
    virtual_transport = hash:/etc/postfix/virtual_transport
    transport_maps = hash:/etc/postfix/virtual_transport


    /etc/postfix/virtual_transport

    local.com    smtp:[exchange.local.com]


    SMTP аутентификация в Вашем случае не нужна
    эксчендж должен быть настроен на передачу почты через релей (ваш постфикс)
    ну и соответсвенно постфикс должен позволять передавать через себя почту эксченджа

    Ну и в домене завести пользователя от имени которго будет биндиться постфикс к AD (bind@local.com)


    Все

    • Настройка postfix на авторизацию в AD, !*! naira, 16:28 , 18-Апр-07 (6)
      >Настраивается saslauthd соответствующим образом и всё.
      >
      >в main.cf
      >
      >
      ># имя Windows-домена
      >ldapmap_search_base = ou=Users, dc=local, dc=com
      >
      ># IP-адрес PDC
      >ldapmap_server_host = pdc
      >
      ># LDAP-порт
      >ldapmap_server_port = 3268
      >
      >ldap_timeout = 60
      >ldapmap_query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=contact)))
      >ldapmap_result_filter = %s
      >ldapmap_result_attribute = cn
      >ldapmap_special_result_attribute =
      >ldapmap_scope = sub
      >ldapmap_bind = yes
      >ldapmap_bind_dn = bind@local.com
      >ldapmap_bind_pw = bindpw
      >ldapmap_cache = no
      >ldapmap_dereference = 0
      >ldapmap_domain = local.com
      >ldapmap_debuglevel = 0
      >
      >virtual_mailbox_maps = ldap:ldapmap
      >virtual_mailbox_domains = local.com
      >virtual_transport = hash:/etc/postfix/virtual_transport
      >transport_maps = hash:/etc/postfix/virtual_transport
      >
      >
      >/etc/postfix/virtual_transport
      >
      >local.com    smtp:[exchange.local.com]
      >
      >
      >SMTP аутентификация в Вашем случае не нужна
      >эксчендж должен быть настроен на передачу почты через релей (ваш постфикс)
      >ну и соответсвенно постфикс должен позволять передавать через себя почту эксченджа
      >
      >Ну и в домене завести пользователя от имени которго будет биндиться постфикс
      >к AD (bind@local.com)
      >
      >
      >Все

      Я уже отмечатал, что на Windows Server 2003 Exchange не стоит. Я хочу использовать только один почтовый сервер - на FreeBSD postfix. Так как AD уже настроена, набиты все пользователи, то не хотелось бы второй раз набивать их в postfixe. Поэтому все это и затеялось.
      Еще вопрос. Я уже установила postfix только с поддержкой SASL2, TLS, MYSQL. Как быть с
      тем, что Вы пишите: "Собрать postfix с поддержкой LDAP@

      • Настройка postfix на авторизацию в AD, !*! geekkoo, 16:36 , 18-Апр-07 (7)
        >Еще вопрос. Я уже установила postfix только с поддержкой SASL2, TLS, MYSQL.
        >Как быть с
        >тем, что Вы пишите: "Собрать postfix с поддержкой LDAP@

        Добавили бы уж LDAP. Он вам понадобится, когда вы захотите настроить получение почты только для реально существующих пользователей.
        http://www.opennet.me/openforum/vsluhforumID1/73276.html

        • Настройка postfix на авторизацию в AD, !*! naira, 17:36 , 18-Апр-07 (8)
          >>Еще вопрос. Я уже установила postfix только с поддержкой SASL2, TLS, MYSQL.
          >>Как быть с
          >>тем, что Вы пишите: "Собрать postfix с поддержкой LDAP@
          >
          >Добавили бы уж LDAP. Он вам понадобится, когда вы захотите настроить получение
          >почты только для реально существующих пользователей.
          >http://www.opennet.me/openforum/vsluhforumID1/73276.html

          А если postfix установлен без поддержки ldap, как его переустановить с поддержкой.
          Помогите уже пожалуйста, с настройками почтового сервера я новичок.

          • Настройка postfix на авторизацию в AD, !*! hate, 17:47 , 18-Апр-07 (9)
            >>>Еще вопрос. Я уже установила postfix только с поддержкой SASL2, TLS, MYSQL.
            >>>Как быть с
            >>>тем, что Вы пишите: "Собрать postfix с поддержкой LDAP@
            >>
            >>Добавили бы уж LDAP. Он вам понадобится, когда вы захотите настроить получение
            >>почты только для реально существующих пользователей.
            >>http://www.opennet.me/openforum/vsluhforumID1/73276.html
            >
            >А если postfix установлен без поддержки ldap, как его переустановить с поддержкой.
            >
            >Помогите уже пожалуйста, с настройками почтового сервера я новичок.


            Документацию читал? И что?

            • Настройка postfix на авторизацию в AD, !*! naira, 18:20 , 18-Апр-07 (10)
              >>>>Еще вопрос. Я уже установила postfix только с поддержкой SASL2, TLS, MYSQL.
              >>>>Как быть с
              >>>>тем, что Вы пишите: "Собрать postfix с поддержкой LDAP@
              >>>
              >>>Добавили бы уж LDAP. Он вам понадобится, когда вы захотите настроить получение
              >>>почты только для реально существующих пользователей.
              >>>http://www.opennet.me/openforum/vsluhforumID1/73276.html
              >>
              >>А если postfix установлен без поддержки ldap, как его переустановить с поддержкой.
              >>
              >>Помогите уже пожалуйста, с настройками почтового сервера я новичок.
              >
              >
              >Документацию читал? И что?


              Да, читала. При вводе команды postconf -m | grep ldap ничего. Я так понимаю, что поддержки ldapa нет. Как теперь быть? Не сносить же весь сервер. Есть какие-то команды.
              Дайте, пожалуйста точный ответ.

              • Настройка postfix на авторизацию в AD, !*! niksonnnn, 18:26 , 18-Апр-07 (11)
                >>>>>Еще вопрос. Я уже установила postfix только с поддержкой SASL2, TLS, MYSQL.
                >>>>>Как быть с
                >>>>>тем, что Вы пишите: "Собрать postfix с поддержкой LDAP@
                >>>>
                >>>>Добавили бы уж LDAP. Он вам понадобится, когда вы захотите настроить получение
                >>>>почты только для реально существующих пользователей.
                >>>>http://www.opennet.me/openforum/vsluhforumID1/73276.html
                >>>
                >>>А если postfix установлен без поддержки ldap, как его переустановить с поддержкой.
                >>>
                >>>Помогите уже пожалуйста, с настройками почтового сервера я новичок.
                >>
                >>
                >>Документацию читал? И что?
                >
                >
                >Да, читала. При вводе команды postconf -m | grep ldap ничего. Я
                >так понимаю, что поддержки ldapa нет. Как теперь быть? Не сносить
                >же весь сервер. Есть какие-то команды.
                >Дайте, пожалуйста точный ответ.

                Собрать значит - СОБРАТЬ... а что собственно пугает? сохраняем все конфиги подальше и перСОБИРАЕМ postfix с поддержкой LDAP )))

                Предварительно обкуриваемся мануалами до рвоты... иначе как вы собираетесь админить сервер? без конца постить на форуме? приложите усилия и всё будет бамбуча )))

      • Настройка postfix на авторизацию в AD, !*! saylor_ua, 18:27 , 18-Апр-07 (12)
        >>Настраивается saslauthd соответствующим образом и всё.
        >>
        >>в main.cf
        >>
        >>
        >># имя Windows-домена
        >>ldapmap_search_base = ou=Users, dc=local, dc=com
        >>
        >># IP-адрес PDC
        >>ldapmap_server_host = pdc
        >>
        >># LDAP-порт
        >>ldapmap_server_port = 3268
        >>
        >>ldap_timeout = 60
        >>ldapmap_query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=contact)))
        >>ldapmap_result_filter = %s
        >>ldapmap_result_attribute = cn
        >>ldapmap_special_result_attribute =
        >>ldapmap_scope = sub
        >>ldapmap_bind = yes
        >>ldapmap_bind_dn = bind@local.com
        >>ldapmap_bind_pw = bindpw
        >>ldapmap_cache = no
        >>ldapmap_dereference = 0
        >>ldapmap_domain = local.com
        >>ldapmap_debuglevel = 0
        >>
        >>virtual_mailbox_maps = ldap:ldapmap
        >>virtual_mailbox_domains = local.com
        >>virtual_transport = hash:/etc/postfix/virtual_transport
        >>transport_maps = hash:/etc/postfix/virtual_transport
        >>
        >>
        >>/etc/postfix/virtual_transport
        >>
        >>local.com    smtp:[exchange.local.com]
        >>
        >>
        >>SMTP аутентификация в Вашем случае не нужна
        >>эксчендж должен быть настроен на передачу почты через релей (ваш постфикс)
        >>ну и соответсвенно постфикс должен позволять передавать через себя почту эксченджа
        >>
        >>Ну и в домене завести пользователя от имени которго будет биндиться постфикс
        >>к AD (bind@local.com)
        >>
        >>
        >>Все
        >
        >Я уже отмечатал, что на Windows Server 2003 Exchange не стоит. Я
        >хочу использовать только один почтовый сервер - на FreeBSD postfix. Так
        >как AD уже настроена, набиты все пользователи, то не хотелось бы
        >второй раз набивать их в postfixe. Поэтому все это и затеялось.
        >
        >Еще вопрос. Я уже установила postfix только с поддержкой SASL2, TLS, MYSQL.
        >Как быть с
        >тем, что Вы пишите: "Собрать postfix с поддержкой LDAP@

        ну тогда сделайте через самбу, установите самбу 3 и введите freebsd в домен, таким образом получите пользователей АД на машине с фрей




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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