URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 2284
[ Назад ]

Исходное сообщение
"Exim и SMTP AUTH - как?"

Отправлено _RAW_ , 08-Сен-05 10:16 
В общем сидел размышлял над своим трафиком исходящим, изучал статистику и дампы и пришел к выводу что пора прикрутить авторизацию на SMTP...

На серваке Debian Woody, Exim3.
Умею прикручивать SASL к sendmail на фряхе. С экзимом не умею... Расскажите как авторизацию включить через passwd чтобы почту абы кто без авторизации не отправлял?


Содержание

Сообщения в этом обсуждении
"Exim и SMTP AUTH - как?"
Отправлено Xela , 12-Сен-05 10:41 
У exim-а самая лучшая документация из виденых мною. Читайте доки, они рулез!

33. SMTP authentication http://www.exim.org/exim-html-4.50/doc/html/spec_33.html#CHAP33

34. The plaintext authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_34.html#CHAP34

35. The cram_md5 authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_35.html#CHAP35

36. The cyrus_sasl authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_36.html#CHAP36

37. The spa authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_37.html#CHAP37


"Exim и SMTP AUTH - как?"
Отправлено _RAW_ , 20-Сен-05 13:01 
>У exim-а самая лучшая документация из виденых мною. Читайте доки, они рулез!
>
>
>33. SMTP authentication http://www.exim.org/exim-html-4.50/doc/html/spec_33.html#CHAP33
>
>34. The plaintext authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_34.html#CHAP34
>
>35. The cram_md5 authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_35.html#CHAP35
>
>36. The cyrus_sasl authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_36.html#CHAP36
>
>37. The spa authenticator http://www.exim.org/exim-html-4.50/doc/html/spec_37.html#CHAP37


Да все это хорошо... но установленный есть уже экзим... Как мне его пересобрать то чтобы включить поддержку этих драйверов? а то по тупому вставляю в конфиг то что написано в описаниях этих что выше... оно и ругается что не может найти соответствующий драйвер... типа plaintext или login...


"Exim и SMTP AUTH - как?"
Отправлено Xela , 20-Сен-05 13:17 
>Да все это хорошо... но установленный есть уже экзим... Как мне его
>пересобрать то чтобы включить поддержку этих драйверов? а то по тупому
>вставляю в конфиг то что написано в описаниях этих что выше...
>оно и ругается что не может найти соответствующий драйвер... типа plaintext
>или login...

Скачать исходники. Распаковать. Создать Makefile и внести в него следущие
измениния:
Local/Makefile:
#-----------------------------------------------------------------------------
-
# Exim has support for the AUTH (authentication) extension of the SMTP
# protocol, as defined by RFC 2554. If you don't know what SMTP authentication
# is, you probably won't want to include this code, so you should leave these
# settings commented out. If you do want to make use of SMTP authentication,
# you must uncomment at least one of the following, so that appropriate code i
s
# included in the Exim binary. You will then need to set up the run time
# configuration to make use of the mechanism(s) selected.

# AUTH_CYRUS_SASL=yes
AUTH_CRAM_MD5=yes
AUTH_PLAINTEXT=yes
AUTH_SPA=yes
SUPPORT_PAM=yes


Для того что бы проверить какие авторизаторы есть в текущей установленой версии
$ exim -bV

Exim version 4.50 #1 built 07-Sep-2005 14:21:40
...
Authenticators: cram_md5 plaintext spa
...


"Exim и SMTP AUTH - как?"
Отправлено _RAW_ , 20-Сен-05 16:09 
>Скачать исходники. Распаковать. Создать Makefile и внести в него следущие
>измениния:
>Local/Makefile:
>#-----------------------------------------------------------------------------
>-
># Exim has support for the AUTH (authentication) extension of the SMTP
>
># protocol, as defined by RFC 2554. If you don't know what
>SMTP authentication
># is, you probably won't want to include this code, so you
>should leave these
># settings commented out. If you do want to make use of
>SMTP authentication,
># you must uncomment at least one of the following, so that
>appropriate code i
>s
># included in the Exim binary. You will then need to set
>up the run time
># configuration to make use of the mechanism(s) selected.
>
># AUTH_CYRUS_SASL=yes
>AUTH_CRAM_MD5=yes
>AUTH_PLAINTEXT=yes
>AUTH_SPA=yes
>SUPPORT_PAM=yes
>
>
>Для того что бы проверить какие авторизаторы есть в текущей установленой версии
>
>$ exim -bV
>
>Exim version 4.50 #1 built 07-Sep-2005 14:21:40
>...
>Authenticators: cram_md5 plaintext spa
>...


А... лады, придется тащить. Потому как я обновлял его все время только через apt-get но он же обновляет с сохранением текущих флагов настройки. поправить настройки нельзя по идее.


"Exim и SMTP AUTH - как?"
Отправлено dmart , 03-Окт-05 17:36 
>У exim-а самая лучшая документация из виденых мною. Читайте доки, они рулез!

Тем не менее, раздел SMTP authentification написан хоть и английскими словами, но все равно по-китайски. Работающим фрагментом конфига никто не поделится?


"Exim и SMTP AUTH - как?"
Отправлено bass , 04-Окт-05 07:01 
>>У exim-а самая лучшая документация из виденых мною. Читайте доки, они рулез!
>
>Тем не менее, раздел SMTP authentification написан хоть и английскими словами, но
>все равно по-китайски. Работающим фрагментом конфига никто не поделится?

по моему довольно внятно всё написано.

Ну раз так хочется конфиг, вот рабочий:

auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}

acl_check_auth:                                                                                    
    accept encrypted = *                                                                            
    deny message  = TLS Encryption Required

auth_login:                                                                                        
    driver = plaintext                                                                              
    public_name = LOGIN                                                                            
    server_prompts = Username:: : Password::                                                        
    server_condition = ${if ldapauth \                                                              
    {user=cn=${quote_ldap:${lookup ldap \                                                          
    {ldap:///ou=people,o=mail?cn?one?(uid=$1)}}},\                                              
    ou=people,o=mail \                                                                          
    pass=$2 ldap:///}{yes}fail}                                                                    
    server_set_id = cn=${quote_ldap:${lookup ldap \                                                
    {ldap:///ou=people,o=mail?cn?one?(uid=$1)}}},\                                              
    ou=people,o=mail



"Exim и SMTP AUTH - как?"
Отправлено dmart , 04-Окт-05 11:27 
>>>У exim-а самая лучшая документация из виденых мною. Читайте доки, они рулез!
>>
>>Тем не менее, раздел SMTP authentification написан хоть и английскими словами, но
>>все равно по-китайски. Работающим фрагментом конфига никто не поделится?
>
>по моему довольно внятно всё написано.
>
>Ну раз так хочется конфиг, вот рабочий:

Спасибо, добиться работы-то мне вчера удалось, но многое все равно осталось непонятно. С какого потолка берутся public names аутентификаторов, в каких случаях нужен server_password, а в каких server_secret, когда надо возвращать set server = ..., а когда не обязательно.
Про это где-нибудь внятно и последовательно написано?


"Exim и SMTP AUTH - как?"
Отправлено dmart , 04-Окт-05 11:29 
>когда надо возвращать set server = ..., а когда не обязательно.

Пардон, конечно, server_set_id = ...

>Про это где-нибудь внятно и последовательно написано?



"Exim и SMTP AUTH - как?"
Отправлено bass , 04-Окт-05 12:21 
>>>>У exim-а самая лучшая документация из виденых мною. Читайте доки, они рулез!
>>>
>>>Тем не менее, раздел SMTP authentification написан хоть и английскими словами, но
>>>все равно по-китайски. Работающим фрагментом конфига никто не поделится?
>>
>>по моему довольно внятно всё написано.
>>
>>Ну раз так хочется конфиг, вот рабочий:
>
>Спасибо, добиться работы-то мне вчера удалось, но многое все равно осталось непонятно.

вы в какую документацию смотрите?
33. SMTP authentication
http://www.exim.org/exim-html-4.50/doc/html/spec_33.html#CHAP33

>С какого потолка берутся public names аутентификаторов, в каких случаях нужен
>server_password, а в каких server_secret, когда надо возвращать set server =
>..., а когда не обязательно.
>Про это где-нибудь внятно и последовательно написано?

http://www.exim.org/exim-html-4.50/doc/html/spec_33.html#SEC...


p.s. внимательнее читайте. мне например открывались многие вещи после 2-3-го прочтения документации :)


"Exim и SMTP AUTH - как?"
Отправлено dmart , 04-Окт-05 16:19 
>>>Спасибо, добиться работы-то мне вчера удалось, но многое все равно осталось непонятно.
>
>вы в какую документацию смотрите?
>33. SMTP authentication
>http://www.exim.org/exim-html-4.50/doc/html/spec_33.html#CHAP33

Вот именно в эту. И вместо информации о предназначении server_set_id, как и в каких случаях его надо заполнять, а когда он не нужен, а также о том, как пристегнуть к авторизации имеющиеся хешированные пароли из /etc/shadow, вижу, сами понимаете, фигу.

>p.s. внимательнее читайте. мне например открывались многие вещи после 2-3-го прочтения документации
>:)

Не помогает.


"Exim и SMTP AUTH - как?"
Отправлено Xela , 04-Окт-05 16:37 
>Вот именно в эту. И вместо информации о предназначении server_set_id, как и
>в каких случаях его надо заполнять, а когда он не нужен,
>а также о том, как пристегнуть к авторизации имеющиеся хешированные пароли
>из /etc/shadow, вижу, сами понимаете, фигу.

Эх-эх...

server_set_id        Use: authenticators   Type: string*       Default: unset

    When an Exim server successfully authenticates a client, this string is
    expanded using data from the authentication, and preserved for any
    incoming messages in the variable $authenticated_id. It is also included
    in the log lines for incoming messages. For example, a user/password
    authenticator configuration might preserve the user name that was used to
    authenticate, and refer to it subsequently during delivery of the message.
    If expansion fails, the option is ignored.

что касается shadow:

pam {<string1>:<string2>:...}

   "Pluggable Authentication Modules"
   (http://www.kernel.org/pub/linux/libs/pam/) are a facility which is avail-
   able in the latest releases of Solaris and in some GNU/Linux distributions.
   The Exim support, which is intended for use in conjunction with the SMTP
   AUTH command, is available only if Exim is compiled with

     SUPPORT_PAM=yes

   in Local/Makefile. You probably need to add -lpam to EXTRALIBS, and in some
   releases of GNU/Linux -ldl is also needed.

....

${hash{<string1>}{<string2>}{<string3>}}

   This is a textual hashing function, and was the first to be implemented in
   early versions of Exim. In current releases, there are other hashing
   functions (numeric, MD5, and SHA-1), which are described below.

etc...


"Exim и SMTP AUTH - как?"
Отправлено rory , 14-Окт-05 19:18 
http://forum.ru-board.com/topic.cgi?forum=8&topic=4514&start=0
http://wombat.stapravda.ru/exim.shtml
работает на ура
best regards