новости книги игры
библиотека программы форум

11.05 11.10 1C 2010 2011 3d Acer action Additional Adobe alt linux ALT линукс в школу altlinux amarok AMD Android Apache apple apt-get ArchLinux asplinux ASUS Asus Eee PC ATI audio avi backup bash beta big buck bunny bind bittorrent blender bluetooth bsd c C++ Calibre Canonical cd Cedega CentOS chrome chromium cisco clamav CLI Damn Small Linux debian Dell desktop dns DOOM DOS download driver dvd e-book Eclipse emacs embedded linux enterprise EPUB Etersoft exim ext2 ext3 ext4 faq FB2 fedora fedora10 fedora8 fedora9 fedoracore firefox firefox3 firewall Flash Fluxbox flv free FreeBSD freeware ftp games gcc gentoo GIMP gnome GNU gnu linux google GPL GRUB gtk GTK+ hackday hdd HDR


   

«    Октябрь 2010    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Каков ваш возраст?

До 14
14-16
16-18
18-21
21-25
25-30
30-40
40-50
От 50



LinuxTwitter:




Архив:

Октябрь 2011 (91)
Октябрь 2010 (42)
Апрель 2010 (10)
Январь 2010 (29)
Декабрь 2009 (6)
Ноябрь 2009 (31)
Октябрь 2009 (20)
Апрель 2009 (19)
Март 2009 (1)
Февраль 2009 (20)
Январь 2009 (31)
Декабрь 2008 (71)
Ноябрь 2008 (89)
Октябрь 2008 (91)
Сентябрь 2008 (113)
Август 2008 (168)
Июль 2008 (156)
Июнь 2008 (147)
Май 2008 (191)
Апрель 2008 (213)
Март 2008 (197)
Февраль 2008 (195)
Январь 2008 (112)
Декабрь 2007 (146)
Ноябрь 2007 (94)




Партнёры:


 

Добавить в Google Reader
Читать в Yandex.Ленте
Mobile LinuxOpen (test version)

Установка StartSSL сертификатов — Postfix/Dovecot/Nginx 

 Мне нравится:


 

В предыдущем топике я рассказал о сервисе где можно бесплатно получить ssl-сертификаты. И как бы в продолжение решил описать как установить их на то или иное ПО.
Я рассмотрю следующее ПО:

  • Postfix
  • Dovecot
  • Nginx
Все выше перечисленное установлено на CentOS 5.5.

Postfix

С постфиксом я намучился больше всего. Казалось бы, есть документация, куча примеров и тд, должно быть все просто, но нет, перепробовав кучу вариантов попутно перечитывая документацию я убил не мало времени пока все стало работать.
Подготовка
Подразумевается что у вас уже есть приватный ключ и сертификат для домена.
mail.example.com.key
mail.example.com.crt

Также вам необходимо скачать файл с сертификатом промежуточного CA необходимого класса.
Их можно найти здесь
Для бесплатных сертификатов это sub.class1.server.ca.pem
В этом примере я использую приватный ключ без пассфразы.
И так у нас есть 3 файла.
mail.example.com.key
mail.example.com.crt
sub.class1.server.ca.pem

Создадим файл который скушает постфикс
cat mail.example.com.key mail.example.com.crt sub.class1.server.ca.pem > mail.example.com.pem
копируем полученный файл куда надо, я свой положил в /etc/pki/postfix/
Конечно же не забиваем выставить владельца и права, так как в файле наш ключ.

в /etc/postfix/main.cf добавляем:
smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtpd_tls_cert_file = /etc/pki/postfix/mail.example.com.pem # путь к нашему файлу
smtpd_tls_key_file = /etc/pki/postfix/mail.example.com.pem # путь к нашему файлу
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_session_cache
smtpd_use_tls = yes

smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_cert_file = /etc/pki/postfix/mail.example.com.pem # путь к нашему файлу
smtp_tls_key_file = /etc/pki/postfix/mail.example.com.pem # путь к нашему файлу
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_use_tls = yes
smtpd_tls_security_level = may

smtpd_tls_received_header = yes
smtpd_tls_loglevel = 1
smtpd_tls_auth_only = no
tls_random_source = dev:/dev/urandom

Что значит каждый параметр и за что он отвечает можно узнать в документации для Postifx
для проверки того что все окей можно использовать следующую комманду:
openssl s_client -starttls smtp -showcerts -connect localhost:25
В результате должно вернуться что то вроде:
SSL handshake has read 4760 bytes and written 354 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: 418AA0ED7BA85B2B9301FA127D05DCAFABCEDC192101A6E75DD872FA3E528366
Session-ID-ctx:
Master-Key: 498FB41D5810A9768710936351DC92169B6D7DEFAHTEDBDUO60DE9349DA7EB5536F975A8BC4AF190466B637CC129A93E
Key-Arg : None
Krb5 Principal: None
Start Time: 1287331961
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
250 DSN

в /etc/postfix/master.cf раскомментируем следующие строки:
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes


На этом с постфиксом все.

Dovecot

С довекотом все оказалось намного проще и у меня все заработало с первого раза
Подготовка
У вас уже есть 3 файла
mail.example.com.key
mail.example.com.crt
sub.class1.server.ca.pem

Копируем ключ, создаем сертификат который скушает dovecot
cp mail.example.com.key /etc/pki/dovecot/private/
cat mail.example.com.crt sub.class1.server.ca.pem > /etc/pki/dovecot/certs/mail.example.com.pem

В dovecot.conf надо прописать:
ssl_cert_file = /etc/pki/dovecot/certs/mail.example.com.pem
ssl_key_file = /etc/pki/dovecot/private/mail.example.com.key

и конечно же включить SSL
ssl_listen = *
ssl = yes

И добавить в список протоколов необходимые лично вам.
protocols = pop3 pop3s imap imaps

Nginx

С ним тоже все очень просто и в целом процедура не отличается от dovecot'овской
Погдотовка
У вас уже есть 3 файла
mail.example.com.key
mail.example.com.crt
sub.class1.server.ca.pem

Копируем ключ, создаем сертификат который скушает nginx
cp mail.example.com.key /etc/pki/nginx/private/
cat mail.example.com.crt sub.class1.server.ca.pem > /etc/pki/nginx/certs/mail.example.com.pem

в конфигурации для хоста nginx должно быть что типа такого:
server {
listen 443;
server_name mail.example.com;
ssl on;
ssl_certificate /etc/pki/nginx/certs/mail.example.com.pem;
ssl_certificate_key /etc/pki/nginx/private/mail.example.com.key;

ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

location / {
root /srv/www/htdocs/;
index index.html index.htm;
}
}


На этом все, надеюсь кому-то этот топик окажется полезным.

источник статьи   


18 октября 2010  /   /   ]

Похожие статьи

  • Gentoo Linux
  • Как отправить и получить письмо под консолью в Linux
  • Пора сделать свой выбор...
  • Настраиваем TLS/SASL-шифрование и аутентификацию в MTA Sendmail
  • Пример настройки корпоративного почтового сервера на базе Postfix в Ubuntu ...




  • Комментировать:



    [root@linuxopen.ru ~]$ find
     ©2007 - 2011 @antropoff.ru