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

Исходное сообщение
"Создание НЕ самоподписываемого сертификата SSL ?"

Отправлено sasha73 , 04-Сен-08 11:17 
   Добрый день, Господа!

   Скорее всего в теме сообщения неверны термины. :-(
   Задача создать защищенный сервер POP3S. Использую сервис tpop3d (в нем есть поддержка POP3S). Для генерации сертификатов openssl.
   Создать рабочий сертификат сервера получилось после чтения статей.
   Можно тремя путями:
1. Создать просто самоподписанный сертификат сервера:
openssl req -new -x509 -days 365 -sha1 -newkey rsa:1024 -nodes -keyout server.key -out server.crt -subj '/O=Test Lab/OU=IT/CN=server.com'
2. Создать сертификат и подписать своим локальным СА (корневой тоже самоподписанный):
openssl genrsa -des3 -out root.key 2048
openssl req -new -x509 -days 3650 -key root.key -out root.crt
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -CAcreateserial -CAserial root.srl -in server.csr -days 365 -req \
-extensions v3_req -CA root.crt -CAkey Aroot.key -out server.crt
3. Запросить подпись у доверенного CA.
   Во всех трех случаях все работает, но почтовые клиенты спрашивают разрешения пользоваться сертификатом, если это не "доверенный" и дальше работают при согласии.
(кстати, это можно добавить в FAQ, т.к. во всех статьях есть неточности, особенно по второму способу)

   Проблема:   Хотелось бы сделать так, что бы почтовый клиент не мог посмотреть почту. если у него нет установленного сертификата, если это возможно. Т.е. создать свой сертификат, подписанный своим локальным CA и без установки этого корневого сертификата, что бы клиент не мог проверить почту. Незнаю точных терминов, НЕсамоподписанный это и и нет.
   Надеюсь понятно выразился.
   Буду блпгодарен за любые ответы, ссылки, а лучше пример создания.
   Спасибо!


Содержание

Сообщения в этом обсуждении
"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено annoymouse , 04-Сен-08 16:53 
> Хотелось бы сделать так, что бы почтовый клиент не мог посмотреть почту.
> если у него нет установленного сертификата, если это возможно.
> Т.е. создать свой сертификат, подписанный своим локальным
> CA и без установки этого корневого сертификата, что бы клиент не
> мог проверить почту.

На самом деле Вы хотите выдать каждому клиенту клиентский сертификат и заставить сервер проверять его наличие...


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 05-Сен-08 11:18 
>> Хотелось бы сделать так, что бы почтовый клиент не мог посмотреть почту.
>> если у него нет установленного сертификата, если это возможно.
>> Т.е. создать свой сертификат, подписанный своим локальным
>> CA и без установки этого корневого сертификата, что бы клиент не
>> мог проверить почту.
>
>На самом деле Вы хотите выдать каждому клиенту клиентский сертификат и заставить
>сервер проверять его наличие...

   Ага, спасибо, с терминами разобрались!
   Т.е. мне нужно пойти по 2-му пути и кроме сертификата сервера сгенерировать еще сертификат клиента (по аналогии сервера), подписать его своим локальным CA и установить всем почтовым клиентам. Или немного не так?
   Может кто примерчик даст? (так проще разбираться)


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 05-Сен-08 12:31 
   Нет, что-то я недопонял.
   Пойдя по второму пути опять почтовый клиент будет работать после утвердительных ответов на вопросы о несоответствии сертификатов.

"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено angra , 05-Сен-08 12:40 
Конечно будет, вот только сервер его пошлет нафиг :)


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 05-Сен-08 13:02 
>Конечно будет, вот только сервер его пошлет нафиг :)

   Спасибо за ответы!
   Но можно пример дать, как сгенерировать такие сертификаты и что чем подписывать?
   Эти ответы и так понятны, но настроить не получается.
   Попытался сделать еще так:

   openssl genrsa -des3 -out client.key 2048
   openssl req -new -x509 -days 365 -utf8 -key client.key -out client.crt
   openssl genrsa -out server.key 1024
   openssl req -new -key server.key -out server.csr
   openssl x509 -req -in server.csr -out server.crt -CA client.crt -CAkey client.key -CAcreateserial -CAserial server.srl -days 365

   И все равно клиентское ПО (без установленного вручную сертификата) говорит, что сертификат непонятен, но при продолжении подключется и все работает.

P.S.: ведь пример не займет много времени (только скопировать отсюда команды заменить имена файлов, что-то изменить). В Интернете ничего найти не удается, только описание самодписываемых сертификатов для Апача - это и так работает.


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено angra , 05-Сен-08 13:18 
Проверку осуществлять должен не клиент, а сервер. То есть на сервере стоит какая-то из digest аутентификаций, а не plain text password. Как именно это настроить зависит от используемого сервера. На клиенте указывается соответствующий способ авторизации и импортируется сертификат, как именно это сделать опять таки зависит от клиента, но обычно это уже не ваши заботы :)

"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 05-Сен-08 13:30 
>То есть на сервере стоит
>какая-то из digest аутентификаций, а не plain text password. Как именно
>это настроить зависит от используемого сервера.

  хм... Т.е. для tpop3d настройки:

listen-address: х.х.х.х:ххх;tls=immediate,/usr/local/etc/tpop3d/server.crt,/usr/local/etc/tpop3d/server.key

  недостаточно? Нужно заставить сервер аутентифицировать пользователя именно по сертификату?
  Но похоже в tpop3d нет таких настроек.
  Но есть "внешня" аутентификация:
#
# External program (`other') authentication options
#

  Какую "внешнюю" программу можно использовать для такой аутентификации?


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено angra , 05-Сен-08 18:25 
Дальше к сожалению помочь не могу так как даже не слышал о tpop3d.

"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 05-Сен-08 13:04 
Кстати, tpop3d требует настройку на сертификаты прибл. в таком виде:
  
   listen-address: х.х.х.х:ххх;tls=immediate,/usr/local/etc/tpop3d/server.crt,/usr/local/etc/tpop3d/server.key

   Может здесь что-то не так?


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 05-Сен-08 13:15 
   хм...Вообще интересно. :-)
   Просто создаем ключи и сертификат (ничего ничем не подписывая):

   openssl genrsa -des3 -out server.key 2048
   openssl req -new -x509 -days 365 -utf8 -key server.key -out server.crt

tpop3d.conf:

   listen-address: х.х.х.х:ххх;tls=immediate,/usr/local/etc/tpop3d/server.crt,/usr/local/etc/tpop3d/server.key

   Забираем почту Outlook-ом Express. При подключении выдается сообщение "Используемый сервер имеет сертификат безопасности, кот. невозможно проверить. ...... Продолжить использование данного сервера?" - нажимаем да и без проблем проверяем почту.
   Сервер никого никуда не послал. :-(
   Похоже я что-то непонимаю. :-(


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 05-Сен-08 13:35 
>То есть на сервере стоит
>какая-то из digest аутентификаций, а не plain text password. Как именно
>это настроить зависит от используемого сервера.

  хм... Т.е. для tpop3d настройки:

listen-address: х.х.х.х:ххх;tls=immediate,/usr/local/etc/tpop3d/server.crt,/usr/local/etc/tpop3d/server.key

  недостаточно? Нужно заставить сервер аутентифицировать пользователя именно по сертификату?
  Но похоже в tpop3d нет таких настроек.
  Но есть "внешня" аутентификация:
#
# External program (`other') authentication options
#

  Какую "внешнюю" программу можно использовать для такой аутентификации?


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено ALex_hha , 08-Сен-08 12:02 
>[оверквотинг удален]
>listen-address: х.х.х.х:ххх;tls=immediate,/usr/local/etc/tpop3d/server.crt,/usr/local/etc/tpop3d/server.key
>
>  недостаточно? Нужно заставить сервер аутентифицировать пользователя именно по сертификату?
>  Но похоже в tpop3d нет таких настроек.
>  Но есть "внешня" аутентификация:
>#
># External program (`other') authentication options
>#
>
>  Какую "внешнюю" программу можно использовать для такой аутентификации?

dovecot такое умеет

http://wiki.dovecot.org/SSL/DovecotConfiguration


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 09-Сен-08 12:29 
>[оверквотинг удален]
>>  Но есть "внешня" аутентификация:
>>#
>># External program (`other') authentication options
>>#
>>
>>  Какую "внешнюю" программу можно использовать для такой аутентификации?
>
>dovecot такое умеет
>
>http://wiki.dovecot.org/SSL/DovecotConfiguration

   Спасибо, как вариант подумаю. Большое спасибо.
   Хотя, насколько я знаю devecot - это навороченный POP3/IMAP сервер, только для этого его использовать целесообразно будет? tpop3d - попроще вроде бы и поменьше.
   Просто на сервере еще стоит vm-pop3d для пользователей локальной сети.
   А tpop3d с SSL пытался прикрутить для "извращенных" пользователей из вне.
   Но все равно, СПАСИБО!


"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено sasha73 , 09-Сен-08 12:34 
А хотя....
Попутный важный вопрос возник, из-за чего вся эта каша.
Нужно просто забирать почту мобильными телефонами из вне, важна безопастность и конфеденциальность почты.
Может что-то другое посоветуете?
Может я не по тому пути пошел? (думая сделать открытым pop3S (т.е. POP3 c SSL) и аутентификация кроме PAM сертификатом еще)

"Создание НЕ самоподписываемого сертификата SSL ?"
Отправлено ALex_hha , 09-Сен-08 13:20 
>А хотя....
>Попутный важный вопрос возник, из-за чего вся эта каша.
>Нужно просто забирать почту мобильными телефонами из вне, важна безопастность и конфеденциальность
>почты.
>Может что-то другое посоветуете?
>Может я не по тому пути пошел? (думая сделать открытым pop3S (т.е.
>POP3 c SSL) и аутентификация кроме PAM сертификатом еще)

SSL/TLS + CRAM-MD5 более, чем достаточно, имхо