...

 

Логин  
Пароль
Восстановление пароля

 


 



РУКОВОДСТВА

Настройка SSL для SMTP-сервера sendmail (FreeBSD)

« Вернуться

Как правило, при отсылке писем используется самый простой способ авторизации пользователя по логину и паролю. Проблема в том, что данный способ является самым небезопасным методом авторизации пользователя, так как пара логин/пароль передается в незашифрованном виде. С ростом мобильности пользователей (что влечет за собой необходимость доступности SMTP-сервиса из Internet), а также с развитием беспроводных технологий связи, становится очевидной необходимость криптографической защиты этих данных.

Для реализации работы TSL/SSL в сервере sendmail используется технология SASL (Simple Authentication and Security Layer). Далее описан процесс настройки sendmail.

Установка и настройка sendmail

  • Если это не было сделано ранее, установите openssl:
    cd /usr/src/ports/security/openssl/
    make && make install
  • Установите пакеты SASL (cyrus-sasl2 и cyrus-sasl-saslauthd):
    cd /usr/src/ports/security/cyrus-sasl2
    make all install
    cd /usr/src/ports/security/cyrus-sasl2-saslauthd
    make all install
  • Создайте файл конфигурации SASL для sendmail:
    echo "pwcheck_method: saslauthd" > /usr/local/lib/sasl2/Sendmail.conf
    echo srvtab: /etc/srvtab >> /usr/local/lib/sasl2/Sendmail.conf
  • Отредактируйте файл /etc/rc.conf и добавьте следующие строки для запуска cyrus-sasl при запуске системы:
    saslauthd_enable="YES"
    sasl_saslauthd_flags="-a sasldb"
    cyrus_pwcheck_enable="YES"
  • Запустите cyrus-sasl:
    /usr/local/etc/rc.d/saslauthd.sh start
  • Скопируйте полученные файлы сертификата и приватного ключа в каталог для хранения сертификатов и ключей:
    mkdir /etc/mail/certs
    cp certificate.crt /etc/mail/certs
    cp privatekey.key /etc/mail/certs
    cd /etc/mail/certs
  • Отредактируйте файл /etc/make.conf и добавьте следующие строки для того, чтобы скомпилировать sendmail с поддержкой SASL:
    SENDMAIL_CFLAGS= -I/usr/local/include -DSASL=2
    SENDMAIL_LDFLAGS= -L/usr/local/lib
    SENDMAIL_LDADD= -lsasl2 -lcrypto
  • Перекомпилируйте sendmail:
    cd /usr/lib/lib/libsm
    make clean && make obj && make depend && make
    cd /usr/src/lib/libsmutil
    make clean && make obj && make depend && make
    cd /usr/src/usr.sbin/sendmail
    make clean && make obj && make depend && make && make install
  • Отредактируйте файл /etc/mail/freebsd.mc и добавьте следующие строки:
    define(`confCACERT_PATH', `/etc/mail/certs')
    define(`confSERVER_CERT', `/etc/mail/certs/certificate.crt')
    define(`confSERVER_KEY', `/etc/mail/certs/privetekey.key')
    define(`confCLIENT_CERT', `/etc/mail/certs/certificate.crt')
    define(`confCLIENT_KEY', `/etc/mail/certs/privetekey.key')
    TRUST_AUTH_MECH(`LOGIN')dnl
    define(`confAUTH_MECHANISMS', `LOGIN')dnl
  • Сгенерируйте конфигурационный файл sendmail:
    cd /etc/mail
    make install
  • Перезапустите sendmail.
  • Для проверки результата настроек выполните следующую команду:
    /usr/sbin/sendmail -d0.1 -bv root
    В выводе команды должны присутствовать слова SASLv2 и STARTTLS.
  • Проверьте работу sendmail:
    telnet localhost 25
    В результате вы должны увидеть строки:
    250-AUTH LOGIN
    250-STARTTLS

Управление пользователями осуществляется с помощью следующих команд:
Добавление пользователя: saslpasswd -c newuser
Просмотр существующих пользователей: sasldblistuser

Примечание: Если во время настройки возникают проблемы, воспользуйтесь следующими ссылками на первоисточники:
http://www.sendmail.org/~ca/email/starttls.html
http://www.sendmail.org/~ca/email/auth.html


« Вернуться

    © 2007 MoCERT. All rights reserved. info@mocert.ru