The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Postfix+Cyrus-Imapd+ClamAv+Clamsmtp+Аутентификация в Active ..."
Отправлено ZXVF, 20-Сен-05 16:02 
Slackware 10.1
postfix+maildrop+courier-imap+ldap+Auth-in-Active_Directory+ almost-every-thing-your-want

Без winbind, pam, и пр.

Очень кратко:


Postfix:

master.cf

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}

main.cf

virtual_gid_maps      static:5000
virtual_mailbox_base     /var/virtual/mail/virtualdomain.com/
virtual_mailbox_limit     0
virtual_mailbox_maps     ldap:ldapvirtual
virtual_minimum_uid     500
virtual_transport     maildrop
virtual_uid_maps     static:5000

ldapvirtual_server_host = 192.168.0.1
ldapvirtual_server_port = 389
ldapvirtual_bind = yes
ldapvirtual_bind_dn = CN=BindName, CN=Users, DC=virtualdomain, DC=com
ldapvirtual_bind_pw = passwd
ldapvirtual_search_base = CN=Users, DC=virtualdomain, DC=com
ldapvirtual_query_filter =  (&(mail=%s)(sAMAccountName=%u))    
ldapvirtual_result_attribute = sAMAccountName
ldapvirtual_domain = virtualdomain.com

Courier IMAP

authdaemonrc

LDAP_SERVER             192.168.0.1
LDAP_PORT               389
LDAP_PROTOCOL_VERSION   3
LDAP_BASEDN             CN=Users,DC=virtualdomain,DC=com
LDAP_BINDDN             CN=Bindname, CN=Users, DC=virtual, DC=com
LDAP_BINDPW             passwd
LDAP_TIMEOUT            5
LDAP_AUTHBIND           1
LDAP_MAIL               mail
LDAP_FILTER        (objectClass=user)
LDAP_DOMAIN             virtualdomain.com
LDAP_GLOB_UID           vmail
LDAP_GLOB_GID           vmail
LDAP_HOMEDIR            sAMAccountName
LDAP_MAILROOT           /var/virtual/mail/virtualdomain.com
LDAP_MAILDIR            ./Maildir
LDAP_MAILDIRQUOTA       info
LDAP_FULLNAME           cn
LDAP_CLEARPW            clearPassword
LDAP_CRYPTPW            userPassword
LDAP_DEREF              never
LDAP_TLS                0

>Встала предомной задача, сделать почтовый сервер у себя в конторе для внутреннего
>испльзования и сделал :).
>Есть у меня что-то типа опсания моих действий. Хочу выложить его чтобы
>другие могли в будующем пользоваться. Но в том виде как оно
>есть выкладывать стыдно, как-то все коряво. Посоветуйте как мне все это
>формить чтобы этим моим черновиком можно было пользоваться как неким руководством
>:)
>
>Текст привожу ниже:
>Общие параметры
>Сервер:
>ОС: Fedora Core 3
>FQDN: k1-210.domain
>Выполняемые функции: Почтовый сервер для внутреннего использования + Веб-интерфейс к почте
>Требования к почтовому серверу:
>• Почта пользователей храниться на сервере (так проще делать Backup)
>• Не создавать пользователей дважды (Сначала в Active Directory потом на почтовом
>сервере)
>• Нужно чтобы имя пользователя и пароль на вход в Windows подходил
>и для почтового сервера, если пользователь сменил пароль в Windows, то
>пароль на почтовом сервере тоже должен смениться
>• В именах пользователей в AD присутствуют точки например: a.ivanov (так сложилось
>исторически)
>•
>• Нужно чтобы у пользователей была возможность самостоятельно перенаправить почту на другой
>ящик.
>• Вся переписка должна проверяться на вирусы
>• Хочеться иметь возможность использовать «Группы распространения» в Active Directory как почтовые
>псевдонимы
>• Желательно чтобы был WEB интерфейс для пользователей
>Глядя на выше перечисленные требования я остановил свой выбор на следующих программах:
>
>Дистрибутив: FC3
>• первое что попалось под руку
>В качестве почтового сервера cyrus-imapd:
>• Это первое на что я наткнулся  и что отвечало моим
>требованиям
>• Есть возможность работать с почтой прямо на сервере (IMAP)
>• Есть возможность создавать ящики пользователям автоматически при первом входе или поступления
>письма через lmtp
>• Можно создавать Sieve скрипты которые позволяют управлять письмами (автоматически сортировать по
>папкам, перенаправлять на другой ящик и т.д. и т.п.)
>В качестве MTA postfix:
>• Мне с ним проще работать чем с каким-либо другим MTA
>• Можно общаться с AD как с LDAP сервером (проверять наличие пользователя,
>использовать «Группы распространения» в качестве почтовых псевдонимов.
>• Можно подключить ClamAv для проверки писем на вирусы
>В качестве WEB интерфейса Squirrelmail
>• Нашел в Google список вещей которые могут работать как web интерфейс
>к почте. SquirrelMail получилось настроить с первого раза
>Аутентификация через Winbind
>Параметры установки системы
>Установка пакетов и дополнительных программ
>Делаем минимальную установку
>После установки обновляемся до последних версий с помощью yum –y update
>Доставляем нужные пакеты и удаляем мешающие
>/var/log/yum.log:
>Sep 14 10:49:06 Installed: desktop-file-utils.i386 0.9-2
>Sep 14 11:43:23 Installed: mc.i386 1:4.6.1-1.FC3
>Sep 14 12:05:08 Installed: postfix.i386 2:2.1.5-5
>Sep 14 12:14:28 Installed: samba-common.i386 3.0.10-1.fc3
>Sep 14 12:14:28 Installed: samba-client.i386 3.0.10-1.fc3
>Sep 14 12:27:29 Installed: cyrus-imapd.i386 2.2.12-1.1.fc3
>Sep 14 12:29:16 Installed: perl-Cyrus.i386 2.2.12-1.1.fc3
>Sep 14 12:29:16 Installed: cyrus-imapd-murder.i386 2.2.12-1.1.fc3
>Sep 14 12:29:16 Installed: cyrus-imapd-nntp.i386 2.2.12-1.1.fc3
>Sep 14 12:29:16 Installed: cyrus-imapd-utils.i386 2.2.12-1.1.fc3
>Sep 14 12:37:10 Installed: apr.i386 0.9.4-24.2
>Sep 14 12:37:10 Installed: libidn.i386 0.5.6-1
>Sep 14 12:37:10 Installed: curl.i386 7.12.3-3.fc3
>Sep 14 12:37:10 Installed: apr-util.i386 0.9.4-17
>Sep 14 12:37:10 Installed: libc-client.i386 2002e-8
>Sep 14 12:37:11 Installed: httpd.i386 2.0.53-3.3
>Sep 14 12:37:12 Installed: php.i386 4.3.11-2.7
>Sep 14 12:37:12 Installed: php-pear.i386 4.3.11-2.7
>Sep 14 12:37:12 Installed: httpd-suexec.i386 2.0.53-3.3
>Sep 14 12:37:14 Installed: squirrelmail.noarch 1.4.6-0.cvs20050812.1.fc3
>Sep 14 12:37:14 Installed: php-imap.i386 4.3.11-2.7
>Sep 14 17:35:36 Installed: openldap-clients.i386 2.2.13-2
>Sep 14 18:16:25 Installed: cyrus-sasl-gssapi.i386 2.1.19-3
>Sep 16 11:15:05 Installed: rpm-build.i386 4.3.2-21
>Sep 16 12:16:14 Installed: php-mbstring.i386 4.3.11-2.7
>Sep 16 19:41:26 Installed: openldap-clients.i386 2.2.13-2
>Sep 18 10:21:04 Installed: autoconf.noarch 2.59-5
>Sep 18 10:21:06 Installed: automake.noarch 1.9.2-3
>Sep 18 10:43:21 Installed: ntp.i386 4.2.0.a.20040617-5.FC3
>Sep 18 12:18:50 Installed: fetchmail.i386 6.2.5-7.fc3.1
>Sep 14 12:05:20 Erased: sendmail
>Вытыскиваем последнии версии, собираем и устанавливаем следующие пограммы:
>+clamav
>+clamsmtpd
>Настройка программ
>Настройка Почтовой подсистемы
>Файл /etc/postfix/main.cf (параметры отличающиеся от параметров по умолчанию):
>alias_maps   hash:/etc/aliases
>content_filter  scan:127.0.0.1:10025
>mailbox_transport  cyrus
>fallback_transport  lmtp:unix:/var/lib/imap/socket/lmtp
>local_recipient_maps  ldap:/etc/postfix/ldap_local_recipient_maps.conf
>mydestination  $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, k1-210.$mydomain, kant-mail5.$mydomain
>mynetworks  192.168.0.0/16, 127.0.0.0/8
>myorigin  $myhostname
>relayhost  smtp.domain
>virtual_alias_maps  ldap:/etc/postfix/ldap_aliases.conf
>
>/etc/postfix/ldap_local_recipient_maps.conf
>server_host = domain
>server_port = 389
>search_base = dc=domain
>timeout = 2
>query_filter = (&(objectClass=user)(samAccountName=%u))
>result_attribute = samAccountName
>scope = sub
>bind = yes
>bind_dn =cn=postfix,cn=Users,dc=domain
>bind_pw =secret
>version = 3
>
>/etc/postfix/ldap_aliases.conf
>server_host = domain
>server_port = 389
>search_base = dc= domain
>timeout = 3
>query_filter = (&(mail=%s)(sAMAccountType=268435457))
>result_filter = %u
>result_attribute = userPrincipalName
>special_result_attribute = member
>scope = sub
>bind = yes
>bind_dn =cn=postfix,cn=Users,dc= domain
>bind_pw =secret
>version = 3
>
>В /etc/postfix/master.cf добавлеям строчки
># AV scan filter (used by content_filter)
>scan    unix    -    
>   -       n
>      -    
>  16      smtp -o smtp_send_xforward_command=yes
>
># For injecting mail back into postfix from the filter
>127.0.0.1:10026 inet    n      
>-       n    
>   -       16
>     smtpd
>    -o content_filter=
>    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
>    -o smtpd_helo_restrictions=
>    -o smtpd_client_restrictions=
>    -o smtpd_sender_restrictions=
>    -o smtpd_recipient_restrictions=permit_mynetworks,reject
>    -o mynetworks_style=host
>    -o smtpd_authorized_xforward_hosts=127.0.0.0/8
>
>Файл /etc/cyrus.conf
># standard standalone server implementation
>
>START {
>  # do not delete this entry!
>  recover       cmd="ctl_cyrusdb -r"
>
>  # this is only necessary if using idled for IMAP
>IDLE
>  idled         cmd="idled"
>
>}
>
># UNIX sockets start with a slash and are put into /var/lib/imap/sockets
>
>SERVICES {
>  # add or remove based on preferences
>  imap          
>cmd="imapd" listen="imap" prefork=5
>  imaps         cmd="imapd
>-s" listen="imaps" prefork=1
>  pop3          
>cmd="pop3d" listen="pop3" prefork=3
>  pop3s         cmd="pop3d
>-s" listen="pop3s" prefork=1
>  sieve         cmd="timsieved"
>listen="sieve" prefork=0
>
>  # these are only necessary if receiving/exporting usenet via NNTP
>
>#  nntp         cmd="nntpd"
>listen="nntp" prefork=3
>#  nntps          
>      cmd="nntpd -s" listen="nntps" prefork=1
>
>  # at least one LMTP is required for delivery
>#  lmtp         cmd="lmtpd"
>listen="lmtp" prefork=0
>  lmtpunix      cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
>
>  # this is only necessary if using notifications
>#  notify       cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp"
>prefork=1
>}
>
>EVENTS {
>  # this is required
>  checkpoint    cmd="ctl_cyrusdb -c" period=30
>
>  # this is only necessary if using duplicate delivery suppression,
>
>  # Sieve or NNTP
>  delprune      cmd="cyr_expire -E 3" at=0400
>
>
>  # this is only necessary if caching TLS sessions
>  tlsprune      cmd="tls_prune" at=0400
>}
>
>Файл /etc/imapd.conf
>configdirectory: /var/lib/imap
>partition-default: /var/spool/imap
>admins: cyrus root
>sievedir: /var/lib/imap/sieve
>sendmail: /usr/sbin/sendmail
>hashimapspool: true
>sasl_pwcheck_method: saslauthd
>sasl_mech_list: PLAIN
>autocreatequota: 10000
>createonpost: yes
>autocreateinboxfolders: Sent|Drafts|Trash
>autosubscribeinboxfolders: Sent|Drafts|Trash
>allowusermoves: 1
>unixhierarchysep: yes
>quotawarn: 90
>quotawarnkb: 2048
>username_tolower: 1
>Настройка авторизации и аутентификации
>Авторизацию пользоавтелей делаем через winbind
>/etc/samba/smb.conf
>[global]
>        dos charset = CP866
>
>        unix charset = UTF8
>
>        workgroup = domain
>        realm = DOMAIN
>        server string = Samba
>server (v.%v) on %L
>        security = ADS
>        min passwd length =
>0
>        map to guest =
>Bad Password
>        null passwords = Yes
>
>        log file = /var/log/samba/%m.log
>
>        max log size =
>0
>        announce version = 5.0
>(2195)
>        time server = Yes
>
>        socket options = TCP_NODELAY
>SO_RCVBUF=8192 SO_SNDBUF=8192
>        wins server = 192.168.0.3
>
>        ldap ssl = no
>
>        default service = pub
>
>        idmap uid = 10000-20000
>
>        idmap gid = 10000-20000
>
>        template homedir = /home/%U
>
>        winbind use default domain
>= Yes
>        username = samba
>
>Файл /etc/krb5.conf
>[logging]
> default = FILE:/var/log/krb5libs.log
> kdc = FILE:/var/log/krb5kdc.log
> admin_server = FILE:/var/log/kadmind.log
>
>[libdefaults]
> default_realm = DOMAIN
> dns_lookup_realm = false
> dns_lookup_kdc = false
>
>[realms]
> DOMAIN = {
>  kdc = domain:88
>  admin_server = domain:749
>  default_domain = domain
> }
>
>[domain_realm]
> .domain = DOMAIN
> domain = DOMAIN
>
>[kdc]
> profile = /var/kerberos/krb5kdc/kdc.conf
>
>[appdefaults]
> pam = {
>   debug = false
>   ticket_lifetime = 36000
>   renew_lifetime = 36000
>   forwardable = true
>   krb4_convert = false
> }
>
>Файл /etc/pam.d/system-auth.winbind
>auth        required    
>  /lib/security/$ISA/pam_env.so
>auth        sufficient    
>/lib/security/$ISA/pam_winbind.so
>auth        sufficient    
>/lib/security/$ISA/pam_unix.so use_first_pass likeauth nullok
>auth        required    
>  /lib/security/$ISA/pam_deny.so
>account     sufficient    /lib/security/$ISA/pam_winbind.so
>account     required      /lib/security/$ISA/pam_unix.so
>
>account     sufficient    /lib/security/$ISA/pam_succeed_if.so uid <
>100 quiet
>account     required      /lib/security/$ISA/pam_permit.so
>
>password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3
>password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5
>shadow
>password    required      /lib/security/$ISA/pam_deny.so
>session     required      /lib/security/$ISA/pam_limits.so
>
>session     required      /lib/security/$ISA/pam_unix.so
>
>
>Файл /etc/sysconfig/saslauthd
>и пишем там строчку
>MECH=pam
>
>Файл /etc/pam.d/imap
>auth       required    
>pam_stack.so service=system-auth.winbind
>account    required     pam_stack.so service=system-auth.winbind
>Файл /etc/pam.d/sieve
>auth       required    
>pam_stack.so service=system-auth.winbind
>account    required     pam_stack.so service=system-auth.winbind
>Файл /etc/pam.d/pop
>auth       required    
>pam_stack.so service=system-auth.winbind
>account    required     pam_stack.so service=system-auth.winbind
>Файл /etc/pam.d/lmtp
>auth       required    
>pam_stack.so service=system-auth.winbind
>account    required     pam_stack.so service=system-auth.winbind


 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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