Книга рецептов ОpenSSL, 3е изд.
Copyright © 2022 Feisty Duck Limited
![]() |
Данный документ предоставляется по лицензии Creative Commons Attribution 3.0 License, за исключением разделов со специальными оговорками. |
Первая публикация на английском языке: Май 2013
Третья публикация на английском языке: Февраль 2022
Last update: Thu Feb 17 04:24:43 GMT 2022 (build 766)
Опубликовано Feisty Duck Limited
ISBN N/A
https://www.feistyduck.com/books/openssl-cookbook/
2022-04-10
- Автор
- Иван Ристич
- Технический рецензент
- Мэтт Кэсвелл
- Редактор производства
- Елена Гирич-Ристич
- Редакторы текста
- Мелинда Ранкин
- Нэнси Вулф Коутайри
Несмотря на все свои недостатки, OpenSSL является одним из самых успешных и самых важных проектов с открытым исходным кодом. Он успешен потому как широко применяется; это важно по той причине, что от него зависит безопасность большей части инфраструктуры Интернета. Данный проект состоит из высокопроизводительной реализации ключевых криптографических алгоритмов, полного стека TLS и PKI, а также набора инструментов командной строки. Я полагаю, что если ваша работа связана с безопасностью, веб- разработкой или системным администрированием, можно с уверенностью сказать, что вы не можете избежать необходимости иметь дело с OpenSSH по крайней мере в какой- то степени. Большая часть Интернета основана на продуктах с открытым исходным кодом, причём большинство из них полагаются на OpenSSL.
В этой книге рассматриваются два способа применения OpenSSL. Глава 1, Командная строка OpenSSL, поможет пользователям, которым требуется выполнять повседневные задачи по созданию ключей и сертификатов, а также настройке программ, применяющих OpenSSL с функциональностью TLS. В этой главе также обсуждается как создать законченный частный Центр сертификации (CA), который полезен для разработки и для аналогичных внутренних сред. Глава 2, Тестирование TLS при помощи OpenSSL посвящена тестированию безопасности сервера с применением OpenSSL. Хотя такой тип тестирования на нижнем уровне порой требует много времени, его невозможно избежать когда вы в точности желаете знать что происходит.
Обе главы взяты из моей более крупной работы Bulletproof TLS and PKI. Я решил опубликовать главы об OpenSSL отдельной бесплатной книгой, потому как не хватает хорошей и легкодоступной документации. Как это зачастую бывает со сложными и долгоживущими проектами, документация по OpenSSL, которую вы можете обнаружить в Интернете часто неверна и устарела.
К тому же, издатели часто раздают одну или несколько глав, чтобы показать как выглядит книга, и я подумал, что должен максимально воспользоваться такой практикой, причём не только сделав главы об OpenSSH бесплатными, но и возложив на себя обязательства продолжать их поддержку и улучшать со временем. Итак, вот они.
Отзывы читателей всегда очень важны, но в данном случае особенно, потому как эта книга находится в реальном времени. В традиционных издательских обстоятельствах часто проходят годы, прежде чем читатели обратятся к книге, и то только в том случае, если действительно увидит свет другое издание (чего часто не происходит с техническими книгами по причине небольшого размера рынка). В данной книге вы обнаружите как новое содержимое появляется в считанные дни. В конечном счёте, то что вы мне пришлёте, повлияет на то, как будет развиваться данная книга.
Наилучший способ контакта со мной состоит в применении адреса моей электронной почты, ivanr@webkreator.com. Порой я также имею возможность отвечать через Twitter, в котором вы можете найти меня под идентификатором @ivanristic.
Это короткая книга, однако она напичкана техническими сведениями. Как результат, имеются богатые возможности для ошибок. Я очень благодарен Мэтту Касвеллу за его помощь в предотвращении ошибок. Мэтт, член команды разработчиков OpenSSL, присоединился ко мне в качестве технического обозревателя третьего издания.
Ко мне обращались разные люди со своими мыслями и исправлениями. Они тоже сделали эту книгу лучше. Я выражаю благодарность Брайану Хоусону, Кристиану Фолини, Джеффу Кайзеру, Мартину Карпентеру, Майклу Решли, Карстену Вайсу, Оливье Левиллену и Стивену Н. Хенсону.
Моя особая благодарность моему редактору текста, Мелинде Ранкин. С ней, как всегда, приятно работать.
Bulletproof TLS and PKI это та книга, которую я бы хотел иметь тогда, когда я начал применять SSL. Я не припомню в точности когда это было, но, определённо, это было давно, когда вам всё ещё приходилось исправлять Apache для получения им поддержки SSL. Что я и в самом деле помню, так это то, как в 2005 году, когда я писал свою первую книгу Apache Security, я начал осознавать сложности криптографии. Мне это даже начало нравиться.
В 2009 году я начал работать в SSL Labs, и для меня начал раскрываться мир криптографии. Перенесёмся на десятилетие вперёд, и в 2020 году я все ещё учусь. Криптография — это уникальная область, в которой чем больше вы учитесь, тем меньше вы знаете.
На протяжении многих лет, поддерживая пользователей SSL Labs, я уяснил, что про SSL/TLS и PKI было написано много, но этот материал, как правило, страдал двумя проблемами: (1) все, что вам нужно, не находится в одном месте, делая трудным обнаруживать те маленькие кусочки и части (например, RFC), и (2) большая часть из них слишком подробна и изложена на низком уровне. Многие документы к тому же устарели. Я пытался разобраться во всем этом, и мне потребовались годы работы и учёбы, чтобы хотя бы начать разбираться в этой экосистеме.
Bulletproof TLS and PKI призвана заполнить пробелы в имеющейся документации. Это практическая книга, которая начинается с гладкого введения и солидной теоретической основы, а затем переходит к обсуждений всего того, что вам требуется для повседневной работы. Она к тому же обеспечивает глубокое освещение некоторых ключевых сторон, например, атак на протоколы. Для тех же, кто желает ещё большего, имеются сотни ссылок на исследовательские работы и прочие внешние ресурсы.
Иван Ристич пишет книги по компьютерной безопасности и создаёт продукты для предоставления безопасности. Его книга Bulletproof TLS and PKI, являющаяся результатом более чем десятилетних исследований, широко признана в качестве фактического справочного руководства по SSL/TLS и PKI. Его работа в SSL Labs сделала сотни тысяч веб сайтов более безопасными. Для этого он создал ModSecurity, ведущий межсетевой экран для веб приложений с открытым исходным кодом.
Совсем недавно Иван основал Hardenize, платформу для непрерывного мониторинга безопасности, которая предоставляет всем желающим бесплатные оценки. Он является членом технического консультативного совета Let’s Encrypt’.
- Введение
- Обратная связь
- Благодарности
- О непробиваемом TLS и PKI
- Об авторе
- Глава 1. Командная строка OpenSSL
- Приступаем к работе
- Управление ключом и сертификатом
- Выработка ключа
- Создание запросов на подписанные сертификаты (CSR)
- Создание CSR из имеющихся сертификатов
- Выработка CSR без обслуживания
- Подписание ваших собственных сертификатов
- Создание достоверных сертификатов для множества имён хостов
- Изучение сертификатов
- Изучение общедоступных сертификатов
- Преобразование ключа и сертификата
- Настройка
- Производительность
- Создание частного Центра авторизации
- Глава 2. Тестирование TLS при помощи OpenSSL
- Индивидуальная компиляция OpenSSL для тестирования
- Подключение к службам TLS
- Удостоверение сертификата
- Тестирование протоколов, которые обновляются до TLS
- Выделение удалённых сертификатов
- Тестирование протокола сопровождения
- Тестирование конфигурации комплекта шифрования
- Тестирование предпочтений комплекта шифрования
- Тестирование именованных групп
- Тестирование DANE
- Тестирование возобновления сеанса
- Сохранение состояния сеанса по соединениям
- Проверка отзыва OCSP
- Тестирование сшивки OCSP
- Проверка отзыва CRL
- Тестирование пересмотра условий
- Тестирование сердцебиений
- Определение силы параметров Диффи- Хеллмана