LINUX-BG Адрес : http://www.linux-bg.org |
Postfix с TLS подръжка |
От: Пейо Попов Публикувана на: 4-09-2005 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=programs&key=375281411 |
Покрай новата машина на Linux-BG, Слави (нашият безстрашен лидер) предложи да опишем като статии по-интересните неща, които са имплементирали върху нея. Надявам се това да доведе до поредица от полезни статии и затова ето опит за кратко описание как се активират и използват TLS възможностите на Postfix. За TLS подръжката в Postfix Създаване на CA За управление на CA ще използваме скрипта CA.pl който идва с дистрибуцията на openssl. Името на скрипта е различно при различните дистрибуции и аз съм го срещал като CA или ca, но той е стандартна част от openssl (обикновено е в misc/ директорията) и трябва да може лесно да го откриете. Аз обикновено го копирам в директорията, която ще съдържа файловете на CA и нанасям малки промени по него, касаещи името на директорията, срока на валидност на сертификатите, clr листи, използвани алгоритми и др.. Създаването на нова CA се извършва с командата:
Следват въпроси относно CA, които служат за попълване на сертификатните полета и за установяване на парола за частния й ключ. Създаване и подписване на сертификат
В файла newkey.pem се съдържа частния ключ, а в newreq.pem — заявката за сертификат. Използването на конвенцията за именоване на файловете newkey.pem, newreq.pem и newcert.pem е заради използването на CA.pl и тези имена може лесно да бъдат променени с редакция на скрипта. Преглеждането и подписването на заявката от страна на CA се извършват с командата:
След нейното изпълнение във файла newcert.pem се намира подписаният от нашата CA сертификат. Конфигурация на Postfix
при усовие, че ги съхраняваме в един файл, или да го добавим в директорията в която държим сертификатите на външни CА: (certs/ в примера):
За съжаление, в дистрибуциите на Postfix по подразбиране няма такива файлове и горното няма да е нужно в общия случай и ние можем да изпълним само:
Копираме и частния ключ и сертификата на пощенския сървър като се уверяваме, че ключа може да се прочете само от root:
За да активираме TLS услугата в main.cf добавяме:
И презареждаме конфигурацията:
На този етап нашият пощенски сървър трябва да е способен да комуникира използвайки TLS. Удостоверяване за изпращане на поща чрез клиентски сертификат За
тази цел е нужно нашите потребители да си генерират частен ключ и
заявка за сертификат, която ние да подпишем и с помоща на подписаният
от нас сертификат те да си генерират PKCS#12 файл, който да внесат в
пощенския си клиент.
Заявката за сертификат (newreq.pem) се изпраща по надежден начин до управляващият CA, който преглежда заявката и я подписва чрез:
За да се позволи изпращането на поща потребителският сертификат се трябва да се опише и да се укаже на Postfix да иска потребителски сертификат и списъкът на валидните сертификати. В main.cf се добавя:
а в реда на smtpd_recipient_restrictions се добавя и permit_tls_clientcerts:
Сертификатът се описва чрез отпечатъка си в /etc/postfix/ssl/relay_clientcerts. Отпечатъкът се генерира чрез:
и се добавя в relay_clientcerts, като може да се поясни и чий е той:
/etc/postfix/ssl/relay_clientcerts е стандартен за Postfix hash формат и затова трябва да се компилира чрез:
И конфигурацията да се презареди:
Подписаният сертификат (newcert.pem) се изпраща обратно на потребителя, който създава PKCS#12 файл с командата:
Където cacert.pem e сертификата на подписващото CA. Новосъздаденият .p12 файл заедно със сертификата на CA се внасят в пощенския клиент на потребителя, като се указва ползването на TLS за свързването към този пощенски сървър. След успешното им внасяне потребителят трябва да може да се автентикира само чрез своя сертификат. Postfix като TLS клиент
За съжаление тази възможност съм виждал да се се използва единствено в корпоративните комуникации или между сървърите на организации, които тясно си сътрудничат. Екипът на Linux-BG е готов да обмени сертификати с организации, които проявяват интерес в установяването на надеждна връзка между пощенските ни сървъри. От по-популярните пощенски сървъри TLS подръжка имат: Sendmail, qmail (чрез пач), Exim, courier-mta. Дори и да няма вградена TLS подръжка е възможно установяването на сигурна комуникация чрез използването на stunnel, който има версия дори и за Windows. Полезни четива
Заключение << Ограничаване на достъпа чрез mod_ssl | Greylisting с Postgrey >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|