Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

Всем доброго времени суток!
Довольно часто воз­ни­кает необ­хо­ди­мость орга­ни­зо­вать защи­щен­ное соеди­не­ние для пере­дачи важ­ных дан­ных. Напри­мер, паро­лей, номе­ров кре­дит­ных карт и про­чей кон­фи­ден­ци­аль­ной инфор­ма­ции. Для этих целей исполь­зу­ется шиф­ро­ва­ние дан­ных с помо­щью SSL-сертификатов. Я рас­скажу о том, как полу­чить пра­виль­ный бес­плат­ный сер­ти­фи­кат и как под­клю­чить его к раз­лич­ным сер­ви­сам на сервере.

Пра­виль­ный SSL-сертификат от любого извест­ного цен­тра сер­ти­фи­ка­ции стоит нема­лых денег. Но когда целью стоит про­сто орга­ни­за­ция защи­щен­ного соеди­не­ния, то пла­тить деньги как-то не хочется. При­хо­дится поль­зо­ваться само­под­пи­сан­ными SSL-сертификатами, кото­рые хоть и обес­пе­чи­вают необ­хо­ди­мый уро­вень без­опас­но­сти соеди­не­ния, но застав­ляют поль­зо­ва­те­лей ваших сер­ви­сов наблю­дать допол­ни­тель­ные диа­логи в бра­у­зере или поч­то­вом кли­енте, тре­бу­ю­щие согла­ситься с тем, что поль­зо­ва­тель будет дове­рять вашему само­под­пи­сан­ному SSL-сертификату. У непод­го­тов­лен­ных поль­зо­ва­те­лей с этим могут воз­ник­нуть проблемы.

Но, к сча­стью, нашелся один из извест­ных цен­тров сер­ти­фи­ка­ции, кото­рый выдает бес­плат­ные SSL-сертификаты сро­ком на 1 год с воз­мож­но­стью про­дле­ния. Это орга­ни­за­ция «StartSSL». Выдан­ные SSL-сертификаты при­ни­ма­ются без лиш­них вопро­сов во всех браузерах.

Гене­ра­ция запроса на полу­че­ние SSL-сертификата

Прежде чем при­сту­пать к про­це­дуре полу­че­ния SSL-сертификата, необ­хо­димо создать сек­рет­ный уни­каль­ный ключ и запрос на полу­че­ние SSL-сертификата. Так же опре­де­лимся, где в системе будут хра­ниться сер­ти­фи­каты. Напри­мер, я храню свои сер­ти­фи­каты в «/etc/ssl/private». Если еще нет в системе дан­ной дирек­то­рии, то созда­дим ее.

# mkdir -p /etc/ssl/private
# cd /etc/ssl/private



В даль­ней­шем, в каче­стве при­мера, я буду опи­сы­вать все дей­ствия полу­че­ния SSL-сертификата для домена «mrcat.ru».

Сле­ду­ю­щий шаг - гене­ра­ция RSA-ключа и запроса на SSL-сертификат.

# openssl req -new -newkey rsa:2048 \
-nodes -keyout sysadmin-komi.ru.key \
-subj '/C=RU/ST=Komi/L=Town/O=Syktyvkar/OU=IT/CN=sysadmin-komi' \
-out sysadmin-komi.csr



На выходе полу­чатся два файла - «mrcat_ru.key» и «mrcat_ru.csr». Обя­за­тельно сде­лайте резерв­ные копии этих фай­лов. В даль­ней­шем они не раз пригодятся.

Содер­жи­мое файла «sysadmin-komi.ru.csr» можно про­смот­реть, как пока­зано ниже.

# openssl req -noout -text -in sysadmin-komi.ru.csr



Полу­че­ние SSL-сертификата

Для полу­че­ния SSL-сертификата нужно перейти на сайт орга­ни­за­ции «StartSSL» и заре­ги­стри­ро­ваться. Это можно сде­лать про­сто пройдя по ссылке на боль­шой кнопке с над­пи­сью «Express Lane». В про­цессе реги­стра­ции необ­хо­димо запол­нить все поля пред­став­лен­ной формы. Про­явите осо­бое вни­ма­ние при запол­не­нии поля, содер­жа­щего ваш адрес элек­трон­ной почты. На сле­ду­ю­щем шаге будет про­из­ве­дена про­верка вашего e-mail-адреса, поэтому, если на вашем поч­то­вом сер­вере вклю­чен меха­низм серых спис­ков, то про­верка e-mail-адреса может пройти неудачно. Пере­хо­дим к сле­ду­ю­щей стра­нице и ждем на ука­зан­ный e-mail-адрес письмо с про­ве­роч­ным кодом.

После полу­че­ния письма копи­руем полу­чен­ный про­ве­роч­ный код в пред­став­лен­ную форму и дви­га­емся далее. Откро­ется сле­ду­ю­щая стра­ница, на кото­рой ничего делать не нужно.

Дожди­тесь при­хода вто­рого письма со ссыл­кой, кото­рую нужно открыть в вашем люби­мом бра­у­зере. Будьте вни­ма­тельны, на этом этапе будет созда­ваться пер­со­наль­ный сер­ти­фи­кат, с помо­щью кото­рого будет про­из­во­диться авто­ри­за­ция на сайте.

Прой­дите по при­слан­ной ссылке и в открыв­шу­юся форму ско­пи­руйте полу­чен­ный про­ве­роч­ный код. Далее откро­ется форма гене­ра­ции вашего пер­со­наль­ного ключа. Выби­раем высо­кую сте­пень защиты и снова нажи­маем «Continue». После несколь­ких секунд ваш пер­со­наль­ный сер­ти­фи­кат будет создан. Для его уста­новки нажмите кнопку «Install» и затем снова «Continue».

Не забудьте создать резерв­ную копию вашего пер­со­наль­ного сер­ти­фи­ката, иначе, при его утере, вы больше не смо­жете полу­чить доступ к управ­ле­нию вашими SSL-сертификатами.

Я рас­скажу как сде­лать резерв­ную копию вашего пер­со­наль­ного сер­ти­фи­ката для бра­у­зера «Firefox». Откройте меню «Настройки», перей­дите на вкладку «Допол­ни­тельно» и в ней на вкладку «Шиф­ро­ва­ние». Нажмите кнопку «Про­смотр сер­ти­фи­ка­тов». В открыв­шемся диа­логе «Мене­джер сер­ти­фи­ка­тов» выбе­рите вкладку «Ваши сер­ти­фи­каты». В списке выбе­рите сер­ти­фи­кат с име­нем «StartCom Free Certificate Member» и нажмите кнопку «Сохра­нить копию». После выбора места и имени файла, появится диа­лог для зада­ния пароля к резерв­ной копии вашего пер­со­наль­ного сер­ти­фи­ката. Ука­жите любой пароль, но только такой, кото­рый можно запом­нить, и нажмите «OK».

Чтобы было понят­нее, что нужно делать дальше, на этом этапе лучше пре­кра­тить выпол­не­ние сце­на­рия «Express Lane», нажав кнопку «Exit Express Lane».

Прой­дите авто­ри­за­цию на сайте с помо­щью вашего пер­со­наль­ного сер­ти­фи­ката «StartCom Free Certificate Member», нажав кнопку «Authenticate». Вы попа­дете в кон­троль­ную панель.

Сле­ду­ю­щий шаг - про­верка вашего домена. Зай­дите в «Validations Wizard», выбе­рите «Domain Name Validation» и нажмите «Continue». Ука­жите имя вашего домена. В моем слу­чае это будет «mrcat.ru». Далее выбе­рите e-mail-адрес из пред­став­лен­ных в списке. Этот e-mail-адрес дол­жен суще­ство­вать, так как на него при­дет письмо с про­ве­роч­ным кодом. Сле­дуйте далее и дожди­тесь полу­че­ния письма с про­ве­роч­ным кодом. Ско­пи­руйте его в поле ввода на стра­нице. После нажмите «Continue» и «Finish». Про­верка домена закончена.

Настало время полу­чить SSL-сертификат для нашего домена. Нажи­маем «Certificates Wizard» и выби­раем «Web Server SSL/TLS Certificate». Сле­ду­ю­щий диа­лог можно про­пу­стить, нажав «Skip», так как запрос на полу­че­ние SSL-сертификата мы уже создали ранее в файле «.csr».

Ско­пи­руем дан­ные из ранее создан­ного файла с рас­ши­ре­нием «.csr» в буфер обмена и вста­вим в открыв­шу­юся форму. Я выпол­няю это для файла «mrcat_ru.csr». Нажи­маем «Continue» два раза.

Далее выби­раем наш домен, про­шед­ший про­верку, и снова нажи­маем «Continue».

Сле­ду­ю­щий шаг - выбор суб-домена. В нашем слу­чае доста­точно про­сто ука­зать «www» и нажать «Continue» два раза.

Все. В появив­шемся поле и будет наш све­же­ис­пе­чен­ный SSL-сертификат. Я про­сто ско­пи­рую содер­жи­мое этого поля в файл «mrcat_ru.crt». Нажи­маем «Finish».

Чтобы про­смот­реть полу­чен­ный SSL-сертификат можно выпол­нить сле­ду­ю­щую команду.

# openssl x509 -noout -text -in sysadmin-komi_ru.crt



Для нашего SSL-сертификата тре­бу­ется про­ме­жу­точ­ный сер­ти­фи­кат, кото­рый мы можем полу­чить, выпол­нив пере­ход в кон­троль­ной панели по ссылке «Tool Box» и далее «StartCom CA Certificates». Загру­жаем про­ме­жу­точ­ный сер­ти­фи­кат по ссылке «Class 1 Intermediate Server CA».

Теперь у нас есть весь набор необ­хо­ди­мых фай­лов: «sysadmin-komi.ru.crt», «sysadmin-komi.ru.key» и «sub.class1.server.ca.pem».

Сле­ду­ю­щий шаг - под­го­то­вить набор фай­лов для раз­лич­ных сер­ви­сов. Созда­дим в дирек­то­рии «/etc/ssl/private» два файла. Пер­вый будет состо­ять из фай­лов «mrcat_ru.crt» и «sub.class1.server.ca.pem», а вто­рой из всех трех фай­лов - «sysadmin-komi.ru.crt», «sysadmin-komi.ru.key» и «sub.class1.server.ca.pem».

# cp sysadmin-komi.ru.crt sysadmin-komi.ru.crt+ca

# cat sub.class1.server.ca.pem >>sysadmin-komi.ru.crt+ca
# cp sysadmin-komi.ru.crt+ca sysadmin-komi.ru.crt+ca+key
# cat sysadmin-komi.ru.key >>sysadmin-komi.ru.crt+ca+key



Из назва­ний фай­лов будет понятно, какое они имеют содержание.

Под­клю­че­ние SSL-сертификата к раз­лич­ным сервисам

Далее я рас­скажу, как вос­поль­зо­ваться полу­чен­ным SSL-сертификатом для раз­лич­ных сер­ви­сов на сер­вере. Я буду рас­ска­зы­вать на при­мере «Gentoo GNU/Linux», но тоже самое, в боль­шин­стве своем, подой­дет и для дру­гих дистрибутивов.

Нач­нем с «apache». Про­ве­рим, собран ли «apache» с USE-флагом «ssl».

# emerge apache -p



Запус­ка­ется ли «apache» с под­держ­кой «SSL». Про­ве­рим в файле «/etc/conf.d/apache2». В пере­мен­ной «APACHE2_OPTS» должна при­сут­ство­вать опция «-D SSL».

Если все в порядке, то в опциях необ­хо­ди­мого вир­ту­аль­ного хоста дожны быть ниже­при­ве­ден­ные строки.

/etc/apache2/vhosts.d/00_default_ssl_vhost.conf<ifdefine SSL>
</ifdefine><ifdefine SSL_DEFAULT_VHOST>
<ifmodule ssl_module>

Listen 443

<virtualhost _default_:443>
...
SSLEngine on
SSLCertificateFile /etc/ssl/private/sysadmin-komi.ru.crt
SSLCertificateKeyFile /etc/ssl/private/sysadmin-komi.ru.key
SSLCertificateChainFile /etc/ssl/private/sysadmin-komi.ru.crt+ca
...
</virtualhost>
</ifmodule>
</ifdefine>



Все, можно пере­за­пу­стить «apache».

Настройка «nginx». Про­ве­рим, собран ли «nginx» с USE-флагом «ssl».

# emerge nginx -p



Вне­сем необ­хо­ди­мые опции в настройку вир­ту­аль­ного хоста.

server {
    listen 443 default ssl;
    ssl_certificate /etc/ssl/private/mrcat_ru.crt+ca;
    ssl_certificate_key /etc/ssl/private/mrcat_ru.key;
...
}



Это все. Пере­за­пус­каем «nginx».

Настройка «postfix». Про­ве­рим, собран ли «postfix» с USE-флагом «ssl».


emerge postfix -p
В файл «/etc/postfix/main.cf» доба­вим необ­хо­ди­мые строки.

/etc/postfix/main.cfsmtpd_tls_cert_file = /etc/ssl/private/sysadmin-komi.ru.crt
smtpd_tls_key_file = /etc/ssl/private/sysadmin-komi.ru.key
smtpd_tls_CAfile = /etc/ssl/private/sysadmin-komi.ru.crt+ca
smtpd_tls_auth_only = yes



Послед­няя строка раз­ре­шает аутен­ти­фи­ка­цию только с исполь­зо­ва­нием защи­щен­ного соеди­не­ния, что пре­пят­ствует пере­даче паро­лей в откры­той форме.

Пере­за­пус­каем «postfix».

Настройка «courier-imap». Пакет «courier-imap» может быть собран либо с «openssl», либо с «gnutls», в зави­си­мо­сти от зна­че­ния USE-флага «gnutls». В любом слу­чае воз­можно исполь­зо­ва­ние SSL-сертификатов для орга­ни­за­ции защи­щен­ного соеди­не­ния.

# emerge courier-imap -p


В файле «/etc/courier-imap/imapd-ssl» должны при­сут­ство­вать сле­ду­ю­щие строки.

SSLPORT=993
SSLADDRESS=0
TLS_CERTFILE=/etc/ssl/private/sysadmin-komi.ru.crt+ca+key


А в файле «/etc/courier-imap/pop3d-ssl» - сле­ду­ю­щие.

SSLPORT=995
SSLADDRESS=0
TLS_CERTFILE=/etc/ssl/private/sysadmin-komi.ru.crt+ca+key


Теперь можно пере­за­пу­стить соот­вет­ству­ю­щие сер­висы.

# /etc/init.d/courier-imapd-ssl restart
# /etc/init.d/courier-pop3d-ssl restart


Настройка «pure-ftpd». Про­ве­рим, собран ли пакет «pure-ftpd» с USE-флагом «ssl».

# emerge pure-ftpd -p


В пере­мен­ной «MISC_OTHER» в файле кон­фи­гу­ра­ции «/etc/conf.d/pure-ftpd» должна при­сут­ство­вать опция «-Y1» для того, чтобы кли­ент мог орга­ни­зо­вать защи­щен­ное соединение.

По умол­ча­нию, «pure-ftpd» ищет сер­ти­фи­кат в файле «/etc/ssl/private/pure-ftpd.pem». Поэтому про­сто доба­вим сим­во­ли­че­скую ссылку на соот­вет­ству­ю­щий файл с SSL-сертификатом.

# ln -s /etc/ssl/private/sysadmin-komi.ru.crt+ca+key /etc/ssl/private/pure-ftpd.pem


Теперь пере­за­пу­стим «pure-ftpd» и про­ве­рим его работу. Не все FTP-клиенты умеют рабо­тать с исполь­зо­ва­нием защи­щен­ного соеди­не­ния. Для проверки я иcпользую этот клиент - «filezilla».

Суще­ствует огром­ная масса сер­ви­сов, в кото­рых можно исполь­зо­вать защи­щен­ные соеди­не­ния с исполь­зо­ва­нием SSL-сертификатов. На мой взгляд, нужно все­гда, где только воз­можно, исполь­зо­вать защи­щен­ные соеди­не­ния, чтобы избе­жать пере­хвата кон­фи­ден­ци­аль­ных дан­ных тре­тьими лицами.

Все всем спасибо за внимание! Будут вопросы пишите

Добавить комментарий


Защитный код
Обновить