This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
сервер_dovecot [2021/03/10 12:35] val [Настройка dovecot на использование GSSAPI] |
сервер_dovecot [2024/05/01 09:42] (current) val [Сокрытие названия сервиса] |
||
---|---|---|---|
Line 4: | Line 4: | ||
* [[http://ru.wikipedia.org/wiki/IMAP]] | * [[http://ru.wikipedia.org/wiki/IMAP]] | ||
* [[http://ru.wikipedia.org/wiki/Dovecot]] | * [[http://ru.wikipedia.org/wiki/Dovecot]] | ||
- | * [[http://lehan604.blogspot.com/2008/12/dovecot-imaps-pop3s.html]] | ||
- | * [[http://tuupic.org.ru/perenos-pochty-s-mbox-na-maildirsendmaildovecot/]] | ||
- | |||
===== Установка ===== | ===== Установка ===== | ||
==== Debian/Ubuntu ==== | ==== Debian/Ubuntu ==== | ||
- | === Без поддержки GSSAPI === | + | * [[https://help.ubuntu.com/community/Dovecot]] |
- | [[https://help.ubuntu.com/community/Dovecot]] | ||
<code> | <code> | ||
root@server:~# apt install dovecot-imapd | root@server:~# apt install dovecot-imapd | ||
</code> | </code> | ||
- | === C поддержкой GSSAPI === | + | |
- | <code> | + | |
- | root@gate:~# apt install dovecot-imapd dovecot-gssapi | + | |
- | </code> | + | |
Line 40: | Line 33: | ||
... | ... | ||
ssl = no | ssl = no | ||
- | ... | ||
- | #ssl_cert = ... | ||
- | #ssl_key = ... | ||
... | ... | ||
</code><code> | </code><code> | ||
Line 68: | Line 58: | ||
===== Kerberos GSSAPI аутентификация ===== | ===== Kerberos GSSAPI аутентификация ===== | ||
+ | <code> | ||
+ | # apt install dovecot-imapd dovecot-gssapi | ||
+ | </code> | ||
==== Создаем ключи сервиса и копируем иx на сервер ==== | ==== Создаем ключи сервиса и копируем иx на сервер ==== | ||
+ | |||
+ | === При использовании Winbind === | ||
+ | |||
+ | * [[Сервис WINBIND#Управление ключами KERBEROS в режиме ADS]] | ||
=== Если в роли KDC выступает Active Directory === | === Если в роли KDC выступает Active Directory === | ||
Line 76: | Line 73: | ||
Добавляем пользователя в AD | Добавляем пользователя в AD | ||
<code> | <code> | ||
+ | Login: gatesmtp | ||
Login: gateimap | Login: gateimap | ||
Password: Pa$$w0rd | Password: Pa$$w0rd | ||
- | </code> | ||
Пароль не меняется и не устаревает | Пароль не меняется и не устаревает | ||
+ | </code> | ||
== Создаем ключ сервиса http связывая его с фиктивным пользователем AD == | == Создаем ключ сервиса http связывая его с фиктивным пользователем AD == | ||
- | Устанавливаем Microsoft Windows Support Tools | ||
<code> | <code> | ||
C:\>ktpass -princ imap/gate.corpX.un@CORPX.UN -mapuser gateimap -pass 'Pa$$w0rd' -out gateimap.keytab | C:\>ktpass -princ imap/gate.corpX.un@CORPX.UN -mapuser gateimap -pass 'Pa$$w0rd' -out gateimap.keytab | ||
+ | |||
+ | C:\>ktpass -princ smtp/gate.corpX.un@CORPX.UN -mapuser gatesmtp -pass 'Pa$$w0rd' -out gatesmtp.keytab | ||
</code> | </code> | ||
Line 91: | Line 90: | ||
<code> | <code> | ||
C:\>pscp gateimap.keytab root@gate: | C:\>pscp gateimap.keytab root@gate: | ||
+ | |||
+ | C:\>pscp gatesmtp.keytab root@gate: | ||
</code> | </code> | ||
Line 114: | Line 115: | ||
kadmin.local: ktadd -k gateimap.keytab imap/gate.CORPX.UN | kadmin.local: ktadd -k gateimap.keytab imap/gate.CORPX.UN | ||
+ | kadmin.local: addprinc -randkey smtp/gate.corpX.un | ||
+ | kadmin.local: addprinc -e rc4-hmac:normal -randkey smtp/gate.CORPX.UN | ||
+ | |||
+ | kadmin.local: ktadd -k gatesmtp.keytab smtp/gate.corpX.un | ||
+ | kadmin.local: ktadd -k gatesmtp.keytab smtp/gate.CORPX.UN | ||
kadmin.local: exit | kadmin.local: exit | ||
</code> | </code> | ||
Line 135: | Line 141: | ||
<code> | <code> | ||
server# scp gateimap.keytab gate: | server# scp gateimap.keytab gate: | ||
+ | |||
+ | server# scp gatesmtp.keytab gate: | ||
</code> | </code> | ||
Line 150: | Line 158: | ||
root@gate:~# ktutil | root@gate:~# ktutil | ||
ktutil: rkt /root/gateimap.keytab | ktutil: rkt /root/gateimap.keytab | ||
+ | ktutil: rkt /root/gatesmtp.keytab | ||
ktutil: wkt /etc/krb5.keytab | ktutil: wkt /etc/krb5.keytab | ||
ktutil: quit | ktutil: quit | ||
Line 163: | Line 172: | ||
</code><code> | </code><code> | ||
... | ... | ||
- | #однажды понадобилось) | + | #периодически нужно :) |
- | #auth_gssapi_hostname = "$ALL" | + | auth_gssapi_hostname = "$ALL" |
... | ... | ||
auth_mechanisms = gssapi plain | auth_mechanisms = gssapi plain | ||
... | ... | ||
</code><code> | </code><code> | ||
- | debian10# chmod +r /etc/krb5.keytab | + | debian10/11/12# chmod +r /etc/krb5.keytab |
gate# mail user1 | gate# mail user1 | ||
Line 175: | Line 184: | ||
* Thunderbird - [[Thunderbird#Настройка на использование GSSAPI]] | * Thunderbird - [[Thunderbird#Настройка на использование GSSAPI]] | ||
- | |||
===== Аутентификация для postfix ===== | ===== Аутентификация для postfix ===== | ||
+ | |||
+ | * [[Сервис MTA#Настройка MTA на релеинг почты на основе аутентификации]] | ||
+ | |||
<code> | <code> | ||
# cat /etc/dovecot/conf.d/10-master.conf | # cat /etc/dovecot/conf.d/10-master.conf | ||
Line 247: | Line 258: | ||
auth_mechanisms = EXTERNAL | auth_mechanisms = EXTERNAL | ||
... | ... | ||
- | </code><code> | + | </code> |
+ | |||
+ | ===== OAuth аутентификация ===== | ||
+ | |||
+ | * [[https://doc.dovecot.org/configuration_manual/authentication/oauth2/|Open Authentication v2.0 database]] | ||
+ | |||
+ | <code> | ||
+ | # cat /etc/dovecot/conf.d/10-auth.conf | ||
+ | ... | ||
+ | auth_mechanisms = xoauth2 oauthbearer #gssapi | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | ===== Авторизация без пароля, на основе аутентификации ===== | ||
+ | <code> | ||
# cat /etc/dovecot/conf.d/auth-system.conf.ext | # cat /etc/dovecot/conf.d/auth-system.conf.ext | ||
... | ... | ||
Line 260: | Line 285: | ||
===== Сокрытие названия сервиса ===== | ===== Сокрытие названия сервиса ===== | ||
<code> | <code> | ||
- | # cat dovecot.conf | + | # cat /etc/dovecot/dovecot.conf |
</code><code> | </code><code> | ||
... | ... | ||
Line 266: | Line 291: | ||
... | ... | ||
</code> | </code> | ||
+ | |||
+ | * [[#Тестирование конфигурации и запуск]] | ||
===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== |