Шифрование открытым ключом


Соединение с портами, защищенными SSL

Я уже говорил, что мы не будем слишком углубляться в использование OpenSSL, и это правда. Однако существует одна особенность, которая слишком удобна, чтобы отказываться от нее; и как только вы узнаете о ее существовании, вы будете пользоваться ею по крайней мере раз в месяц и будет довольны, что она существует.

На протяжении всей книги мы проверяем работу сетевых служб, используя telnet(1) для подключения к портам, с которыми работают демоны, и запуска различных команд. Такой подход хорошо зарекомендовал себя при работе с текстовыми службами, такими как SMTP, POP3 и HTTP. Но он непригоден для работы с такими службами, как HTTPS, использующими шифрование. Необходима программа, которая способна выполнять шифрование при работе с такими службами. OpenSSL включает команду openssl s_client, которая предназначена именно для такой отладки клиентов. Кроме того, что вам будет доступна масса криптографической информации, вы еще получите возможность запускать текстовые команды и получать ответы. Чтобы установить соединение, команде openssl s_client -connect следует передать имя хоста и номер порта, разделенные двоеточием. Ниже приводится команда подключения к защищенному веб-серверу www.ahsolutefreebsd.com:

# openssl s_client -connect www.absolutefreebsd.com:443
C0NNECTED(00000003) depth=1 /0=VeriSign Trust Network/0U=VeriSign, Inc./ OU=VeriSign International Server CA - Class 3/0U=www.verisign.com/CPS Incorp.by Ref.
...

Вы увидите массу информации о цепочках доверия и ограничении ответственности, а также строки, напоминающие содержимое цифровых сертификатов. После всего этого вы увидите пустую строку без приглашения к вводу. Сейчас вы общаетесь с демоном напрямую. А так как это веб-сервер, попробуем ввести команду HTTP:

GET /

Система ответит:

Эта команда позволяет протестировать защищенные службы так же легко, как и незащищенные.

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

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

Комментарии запрещены.