Все о Linux. LinuxRSP.Ru
Линукс Юниор: Книга для учителя
Единственная книга о ПСПО для учителя, одобренная разработчиком!
К книге прилагается DVD с операционной системой Линукс Мастер!
Приобрести


Лучшие Новости Linux и OpenSource прямо в почтовый ящик!
ваш@e-mail:




 Сегодняшние новости:

Пятерка самого-самого от Canonical. Ubuntu Linux 8.10

Ubuntu 8.04.1 LTS Box

Weasel GNU/Linux 2.0.1, дистрибутив с KDE4

Резервное копирование под GNOME. Back In Time 0.7.4

BBC через Amarok. BBC Open Content Service 0.5

Nokia N810 Linux Internet Tablet (с доставкой по России)

Новости от GeeXboX. Версия 1.2, бета первая

Веб-приложения с помощью C++. Wt 2.2.1

Веб-разработчику. HTML Purifier 3.2.0

Ubuntu Studio 8.04.1 x86 (1DVD)

Видео с YouTube.com. youtube-dl 2008.11.01

Пакет разработки графических приложений Agar 1.3.3

Политика SELinux наглядно. segatex 6.90

Работаем с цифровым фото. Fotoxx 5.5

Порядок в Вашей коллекции. Data Crow 3.4.2

Анатомия Linux-архитектур реального времени

Продолжения и продвинутая управляющая логика

Факультет Переподготовки Специалистов СПбГПУ проводит курсы на основе ALT Linux

Анатомия SELinux

Вышел Blender 2.48

Вышел Apache 2.2.10

Пошаговое руководство по установке, настройке и тестированию сервера Linux, Apache, Informix и PHP

OpenOffice.org 3.0 - интероперабельность, Web 2.0

Google

 Новые статьи :

   Дистрибутивы и атрибутика



DeveloperWorks Россия





Rambler's Top100


 
 

Сертификаты

В Stunnel есть встроенная возможность проверки подлинности сертификатов тех хостов, к которым или с которых идет подключение. Для этого предназначена опция -v. После -v при вызове Stunnel указывается уровень проверки сертификата. Он может иметь следующие значения:

0
Никакой проверки наличия и подлинности сертификата не производится (значение по умолчанию).
1
Сертификат проверяется на подлинность, если присутствует. Если сертификат не является подлинным - соединение не устанавливается.
2
Проверяется присутствие сертификата и его подлинность. Если сертификат отсутствует или не является подлинным - соединение не устанавливается.
3
Проверяется присутствие сертификата и его наличие в списке проверенных сертификатов. Если сертификат отсутствует или его нет в списке проверенных сертификатов - соединение не устанавливается.

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

В этом нет необходимости, если ты собираешься пользоваться Stunnel для своих целей. Для этого достаточно использовать неподтвержденный сертификат, не проверяя его на подлинность. Т.е. исключить использование -v 1 и -v 2. Однако остается возможность использовать -v 3.

Файл stunnel.pem после установки помещается в указанный тобой при сборке в опции --with-pem-dir каталог. В моем примере это /etc/ssl/certs. Содержимое его примерно такое:


-----BEGIN RSA PRIVATE KEY-----
#данные
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
#данные
-----END CERTIFICATE-----

Строки, начиная с "-----BEGIN CERTIFICATE-----" и заканчивая "-----END CERTIFICATE-----", и являются сертификатом. Его необходимо скопировать в отдельный файл и добавить в список проверенных сертификатов на хосте, с которым будет производится соединение. Список проверенных сертификатов может хранится в двух видах - каталог с файлами сертификатов или файл, содержащие данные сертификатов, примерно такого формата:


-----BEGIN CERTIFICATE-----
#данные 1-го сертификата
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#данные 2-го сертификата
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#данные  3-го сертификата
-----END CERTIFICATE-----
.....
-----BEGIN CERTIFICATE-----
#данные  N-го сертификата
-----END CERTIFICATE-----

В первом случае, файл с сертификатом удаленного хоста копируется в каталог, указанный в опции --with-cert-dir при сборке (в моем примере /etc/ssl/certs/trusted). Затем выполняется команда c_rehash, входящая в поставку OpenSSL.


c_rehash /etc/ssl/certs/trusted

Она создает ссылку на скопированный файл, имеющую имя, состоящее из набора букв и цифр, и расширение .0 ("ноль", а не заглавное "о"). Этот так называемый hash-файл используется OpenSSL для создание индекса сертификатов. Поподробнее можно почитать, набрав man x509. Если в твоей системе нет команды c_rehash, то можно выполнить команду:


mv файл_сертификата.pem `openssl x509 -hash -noout -in файл_сертификата.pem`.0

Естественно, вместо файл_сертификата.pem должно быть указано имя твоего файла.:)

Можно использовать каталог, отличный от указанного по умолчанию. Это удобно в случае, когда к каждому порту доступ должен быть с разного списка хостов. Указывается каталог при помощи опции -a. Например, для проверки сертификатов, содержащихся в каталоге /etc/ssl/certs/trusted2 необходимо запустить следующую команду:


stunnel [различные_опции] -a /etc/ssl/certs/trusted2 -v 3

Использование файла с проверенными сертификатами проще, чем использование каталога. Достаточно создать файл, записать в него содержимое нескольких сертификатов и указать его при запуске при помощи опции -A. Например, для указания файла /etc/certs/trusted_certs.pem в качестве файла проверенных сертификатов необходимо запустить stunnel таким образом:


stunnel [различные_параметры] -A /etc/certs/trusted_certs.pem -v 3

Проверка сертификатов может производится как на стороне сервера (проверять подключенных клиентов), так и на стороне клиента (чтоб быть уверенным, что подключаешься к нужному хосту). Если Stunnel на стороне сервера настроен на проверку сертификата, то Stunnel на стороне клиента должен запускаться с опцией -p, после которой указан путь к файлу stunnel.pem. При запуске на стороне сервера использование -p не обязательно. Например:


stunnel -c -p /etc/ssl/certs/stunnel.pem -d 1123 -r some_host:992

При помощи -p также возможно указать путь к файлу, содержащему секретный ключ и сертификат, отличные от выбираемых по умолчанию.

Предыдущая

Содержание

Следующая


(c)Ерижоков А.А., 2001.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника: DH's Linux Site



      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2010 LinuxRSP


Реклама: