Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sistema_TCP.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
603.97 Кб
Скачать

54. Протокол Secure Sockets Layes

Протокол SSL защищает соединения между веб-сайтом и клиентским браузером. Эту технологию используют универсальные указатели ресурса, начинающиеся с префик­ са https://. Протокол SSL использует алгоритмы криптографии для предотвращения перехвата, взлома и подделки сообщений.

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

Протокол SSL выполняется на отдельном уровне, лежащем ниже уровня протоко­ ла приложения HTTP. Он просто обеспечивает защиту соединения и не вмешивается в трансакцию HTTP. Благодаря такой аккуратной схеме, протокол SSL может защищать не только HTTP, но и другие протоколы, такие как SMTP и FTP. Более подробную ин­ формацию можно найти в Википедии в статье “Secure Sockets Layer.”4

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

Генерирование файла Certificate Signing Request

Владелец веб-сайта, использующий протокол SSL, должен сгенерировать цифровой файл Certificate Signing Request (CSR), содержащий открытый ключ и название компа­ нии. Этот “сертификат” должен быть “подписан” доверенным источником, известным как Certificate Authority (СА). Сертификат, подписанный источником сертификатов, со­ держит открытый ключ сайта, а также подтверждение подлинности источника.

4 Transport Layer Security (TLS) — это протокол, являющийся преемником протокола SSL. Он реализован во всех современных браузерах. Однако сообщество пользователей сети веб по- прежнему называет его SSL.

Глава 23. Веб-хостинг 1017

Веб-браузеры имеют встроенные списки источников СА, подписанные сертификаты которых они будут принимать. Браузер, знающий источник сертификата для вашего сай­ та, может верифицировать подпись вашего сертификата и получить ваш открытый ключ, тем самым позволив посылать сообщения, которые может расшифровать только ваш сайт. Кроме того, вы действительно можете подписывать ваш собственный сертификат. Получив сертификат от какого-либо непризнанного источника, большинство браузеров сообщает пользователю о том, что этот сертификат является подозрительным. В ком­ мерческих приложениях такая ситуация, очевидно, представляет проблему. Однако, если вы хотите подписывать сертификаты для внутреннего использования и тестирования, изучите документ httpd.apache.org/docs/2.2/ssl/ssl_faq.html#aboutcerts.

Вы можете получить подпись сертификата от любого источника сертификатов. Введите в поисковой строке Google слова “SSL certificate” и выберите любую ссылку. Реальное различие между источниками сертификатов заключается в объеме работы, которую они выполняют для проверки вашей идентичности; гарантиях, которые они предоставляют; и количестве браузеров, которые они поддерживают изначально (боль­ шинство источников сертификатов поддерживают практически все браузеры).

Создание сертификата, который будет послан источнику сертификатов, является довольно простой процедурой. Необходимо инсталлировать пакет OpenSSL, который по умолчанию есть в большинстве систем. Затем необходимо выполнить следующие действия.

Сначала, создайте 1024-битовый закрытый ключ RSA для своего веб-сервера Apache.

$ openssl genrsa -des3 -out server.key 1024

Вам предложат войти и подтвердить пароль для шифрования серверного ключа. Ско­ пируйте файл server.key в безопасное место (которое доступно только суперпользо­ вателю) и запомните введенный пароль. Интересующиеся пользователи могут увидеть многочисленные детали ключа с помощью следующей команды.

$ openssl rsa -noout -text -in server.key

Затем создайте файл Certificate Signing Request (CSR), содержащий серверный ключ, который вы только что сгенерировали.

$ openssl req -new -key server.key -out server.csr

Когда увидите приглашение ввести “стандартное имя”, введите полностью опре­ деленное имя домена сервера. Например, если ваш сайт имеет URL-идентификатор https://company.com, введите в качестве стандартного имени строку “company.com”. Обратите внимание на то, что для каждого узла нужен отдельный сертификат, даже для узла “www.company.com”, который отличается от “company.com.” Компании обычно ре­ гистрируют только стандартное имя; они должны гарантировать, что каждая ссылка по протоколу SSL ссылается именно на этот узел.

Детали сгенерированного файла CSR можно увидеть, выполнив такую команду.

$ openssl req -noout -text -in server.csr

Теперь можно послать файл server.csr выбранному вами источнику сертификатов. Сохранять его локальную копию не обязательно. Подписанный файл CSR, возвращен­ ный источником сертификатов СА, должен иметь расширение .crt. Поместите подпи­ санный сертификат в каталог, содержащий ваши файлы конфигурации демона httpd, например в каталог /usr/local/apache2/conf/ssl.crt.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]