User Tools

Site Tools


сервер_dovecot

This is an old revision of the document!


Сервер dovecot

Установка

Debian/Ubuntu

Без поддержки GSSAPI

https://help.ubuntu.com/community/Dovecot

root@server:~# apt install dovecot-imapd

C поддержкой GSSAPI

root@gate:~# apt install dovecot-imapd dovecot-gssapi

Настройка с использованием стандартных mailboxes и аутентификации открытым текстом

!!! Можно не делать, если удастся “уговорить” Thunderbird использовать самоподписанные сертификаты (не удалось под Linux)

server# cat /etc/dovecot/conf.d/10-auth.conf
...
disable_plaintext_auth = no
...
server# cat /etc/dovecot/conf.d/10-ssl.conf
...
ssl = no 
...
#ssl_cert = ...
#ssl_key = ...
...
server# less /etc/dovecot/conf.d/10-mail.conf
...
mail_location = mbox:~/mail:INBOX=/var/mail/%u
...
mail_privileged_group = mail
...

Тестирование конфигурации и запуск

# dovecot -n

# service dovecot restart

Kerberos GSSAPI аутентификация

Создаем ключи сервиса и копируем иx на сервер

Если в роли KDC выступает Active Directory

Добавляем пользователя в AD

Добавляем пользователя в AD

Login: gateimap
Password: Pa$$w0rd

Пароль не меняется и не устаревает

Создаем ключ сервиса http связывая его с фиктивным пользователем AD

Устанавливаем Microsoft Windows Support Tools

C:\>ktpass -princ imap/gate.corpX.un@CORPX.UN -mapuser gateimap -pass 'Pa$$w0rd' -out gateimap.keytab
Копируем ключ сервиса http сервер dovecot
C:\>pscp gateimap.keytab root@gate:

Если в роли KDC выступает HEIMDAL (FreeBSD)

[server:~] # kadmin -l
kadmin> add -r imap/gate.corpX.un
kadmin> add -r imap/gate.CORPX.UN

kadmin> ext -k gateimap.keytab imap/gate.corpX.un
kadmin> ext -k gateimap.keytab imap/gate.CORPX.UN

kadmin> exit

Если в роли KDC выступает MIT (Debian/Ubuntu)

root@server:~# kadmin.local
kadmin.local:  addprinc -randkey imap/gate.corpX.un
kadmin.local:  addprinc -e rc4-hmac:normal -randkey imap/gate.CORPX.UN

kadmin.local:  ktadd -k gateimap.keytab imap/gate.corpX.un
kadmin.local:  ktadd -k gateimap.keytab imap/gate.CORPX.UN

kadmin.local:  exit
server# scp gateimap.keytab gate:

Копируем ключи в системный keytab

FreeBSD

gate# ktutil copy /root/gateimap.keytab /etc/krb5.keytab

gate# ktutil list

Debian/Ubuntu

root@gate:~# ktutil 
ktutil:  rkt /root/gateimap.keytab
ktutil:  wkt /etc/krb5.keytab
ktutil:  quit

root@gate:~# klist -k /etc/krb5.keytab
...

Настройка dovecot на использование GSSAPI

# cat /etc/dovecot/conf.d/10-auth.conf
...
#однажды понадобилось)
#auth_gssapi_hostname = "$ALL"
...
auth_mechanisms = gssapi
...
debian10# chmod +r /etc/krb5.keytab

gate# mail user1

Аутентификация для postfix

# cat /etc/dovecot/conf.d/10-master.conf
...
service auth {
...
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
  }
...

Использование сертификатов для шифрования трафика

Debian/Ubuntu/FreeBSD

server# cat /etc/dovecot/conf.d/10-auth.conf
...
disable_plaintext_auth = yes
...
server# cat /etc/dovecot/conf.d/10-ssl.conf
...
ssl = yes
...
ssl_cert = </root/server.crt
ssl_key = </root/server.key
...

Аутентификация на основе пользовательских сертификатов

  • Проверить можно из shell (Интерактивное подключение по ssl)
  • Заработало в Thunderbird с импортированным в него пользовательским сертификатом в формате PKS#12
  • Установка параметров ssl_cert_username_field и ssl_username_from_cert позволяет указывать произвольное имя пользователя в почтовом клиенте
# cat ca.crt ca.crl > /root/ca_crt_crl.pem

# cat /etc/dovecot/conf.d/10-ssl.conf
...
#ssl_ca_file = </root/ca_crt_crl.pem
#ssl_ca = </root/ca_crt_crl.pem
...
ssl_verify_client_cert = yes
...
ssl_cert_username_field = commonName
...
# cat /etc/dovecot/conf.d/10-auth.conf
...
auth_ssl_require_client_cert = yes
...
auth_ssl_username_from_cert = yes
...
auth_mechanisms = EXTERNAL
...
# cat /etc/dovecot/conf.d/auth-system.conf.ext
...
passdb {
    driver = static
    args = nopassword=yes allow_all_users=yes
} 
...

Сокрытие названия сервиса

# cat dovecot.conf
...
login_greeting = Exchange ready.
...

Дополнительные материалы

FreeBSD

Без поддержки GSSAPI

[server:~] # pkg install dovecot

C поддержкой GSSAPI

[gate:~] # cd /usr/ports/mail/dovecot2
[gate:ports/mail/dovecot2] # make config
[gate:ports/mail/dovecot2] make showconfig | grep '=on'
     DOCS=on: Build and/or install documentation
     EXAMPLES=on: Build and/or install examples
     KQUEUE=on: kqueue(2) support
     GSSAPI_BASE=on: Use GSSAPI from base 
[gate:ports/mail/dovecot2] # make install clean

Подготовка к запуску

[gate:~] # cat /etc/rc.conf
...
dovecot_enable=yes
[gate:~] # cp -R /usr/local/etc/dovecot/example-config/ /usr/local/etc/dovecot/

[gate:~] # cd /usr/local/etc/dovecot/conf.d/

NTLM аутентификация и авторизация

Настройка dovecot на использование NTLM

# cat 10-auth.conf
...
auth_use_winbind = yes
...
#auth_winbind_helper_path = /usr/bin/ntlm_auth            #For Linux
#auth_winbind_helper_path = /usr/local/bin/ntlm_auth      #For FreeBSD
...
auth_mechanisms = ntlm
...
# chown root:dovecot /var/run/samba/winbindd_privileged/    #For Linux

# chown root:dovecot /var/db/samba34/winbindd_privileged/   #For FreeBSD
# chown root:dovecot /var/db/samba/winbindd_privileged/     #For FreeBSD

Настройка клиента Outlook Express на использование NTLM

… Использовать безопасную проверку пароля (SPA) …

сервер_dovecot.1614233185.txt.gz · Last modified: 2021/02/25 09:06 by val