Создать ssl сертификат centos

Обновлено: 02.07.2024

Ключевые принципы Let’s Encrypt:

2. Как он работает.

На первом этапе агент уведомляет Центр Сертификации о правах администратора сервера на доменное имя. На втором этапе, после подтверждения прав на домен, агент может запрашивать, обновлять и отзывать сертификаты.

2.1. Проверка домена.

Let’s Encrypt идентифицирует web-сервер с запущенным агентом по открытому ключу. Открытый и закрытый ключи генерируются агентом перед первым подключением к Центру сертификации Let’s Encrypt. После подключения агента к Центру Сертификации, создаётся аккаунт администратора сервера. В созданный аккаунт добавляются доменные имена, которыми владеет администратор, аналогично тому, как это происходит в платных Центрах Сертификации.

Одновременно с тестированием прав администратора на домен, Let’s Encrypt проверяет права агента на открытый и закрытый ключи. Let’s Encrypt отправляет агенту одноразовый пароль, который агент должен подписать закрытым ключом и отослать обратно.


Далее, Центр Сертификации проверяет, всё ли было сделано верно: корректную цифровую подпись на одноразовом пароле, возможность скачать созданный файл по URI, а также его содержимое.


2.2. Выпуск и отзыв сертификатов.



3. Основные преимущества.

4. О его недостатках.

В конце нужно отметить, что несмотря на все преимущества данного типа сертификата, существуют недостатки, которые нужно учитывать при выборе SSL:

  • WildCard сертификат для защиты поддоменов определённого домена;
  • Сертификаты OV SSL( Organization Validation), предполагающие проверку не только домена, но и компании;
  • Сертификаты EV SSL (Extended Validation), сертификат с максимальной степенью защиты и зелёной адресной строкой браузера;
  • Multi-Domain сертификат типа UCC.

5. Подготовка и установка утилиты certbot.

5.1. Установка snapd.

Установим EPEL репозиторий:

Установим snapd:

Пропишем автозапуск snapd при старте операционной системы:

Ответ:


Проверим начало работы snapd:

Ответ:


Чтобы включить поддержку snap, требуется создать символическую связь между /var/lib/snap/snap и /snap :

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

Можно просто создать внутри каталога файл и зайти посмотреть его с обоих путей.

5.2. Убедимся в актуальности snapd.

Выполните следующие инструкции в командной строке.

Ответ:


Убедимся, что у вас установлена последняя версия snapd:

Ответ:


5.3. Удалите certbot-auto и его пакеты.

Для удаления certbot-auto, требуется выполнить следующие действия:

Если вы добавили в cron или systemd таймер автоматического запуска certbot-auto для перевыпуска сертификатов, вам следует удалить все эти настройки.

Если вы это делали по ранее написанным инструкциям, вы можете удалить все задачи в файле /etc/crontab .

Возможно, что там будет нечто похожее на это:

Удалите скрипт certbot-auto, обычно он располагается вот здесь /usr/local/bin :

Вывод действий в консоли:


5.4. Установка утилиты certbot.

Если вы проделали все действия без ошибок, описанные выше по тексту, то смело можете приступать к дальнейшей установке certbot с помощью snapd:

Ответ:


5.4. Подготовка утилиты certbot.

Выполните следующую команду в командной строке, чтобы создать ссылку на утилиту certbot:

6. Получение бесплатного ssl-сертификата.

Наша следующая задача — получить бесплатные сертификаты.

Для этого временно остановим nginx, если он вдруг оказался запущен и подтвердим владение доменами с помощью temporary webserver, который certbot поднимет сам на время верификации доменов.

После того, как получили сертификаты, можно проверить конфиг nginx и запустить его. Ошибок быть не должно. Если они есть, то разбирайтесь с ними, возможно где-то ошиблись и допустили простые досадные опечатки.

Настройка nginx на этом завершена. Он должен корректно запуститься, подхватить сертификаты, указанные в файлах конфигурации nginx, и начать работать в обычном режиме.

7. Список установленных сертификатов.

Для просмотра всего что генерировал вам Let’s Encrypt введите команду:

Ответ: длинный список ваших сертификатов.

8. Автоматическое обновление ssl-сертификата.

Теперь сделаем так, чтобы сертификаты автоматически обновлялись перед истечением срока действия:

Настроим автоматический выпуск новых ssl сертификатов, взамен просроченных путем помещения команды certbot renew --dry-run куда-нибудь по смыслу в эти модули:

TLS (или Transport Layer Security, протокол безопасности транспортного уровня) и предшествующий ему SSL (Secure Sockets Layer) – это сетевые протоколы, которые шифруют и тем самым защищают трафик. Благодаря этой технологии процесс обмена данными между клиентом и сервером надежно защищен от перехвата посторонним абонентом. Кроме того, система сертификации помогает пользователям проверить подлинность сайта.

В данном руководстве речь пойдет о создании самоподписанного SSL-сертификата для веб-сервера Apache на виртуальном выделенном сервере CentOS 7. Самостоятельно подписанный сертификат не может подтвердить подлинность сайта, поскольку он не заверен центром сертификации (ЦС), которому может доверять браузер; но он будет шифровать взаимодействие между сервером и посетителями сайта, и тем самым повысит безопасность соединения.

Требования

Для выполнения данного руководства нужен предварительно настроенный сервер CentOS 7 и не-рутовая учетная запись пользователя с расширенными привилегиями sudo. Подробнее об этом можно прочесть в руководстве «Начальная настройка сервера CentOS 7».

Кроме того, нужно предварительно установить Apache; для установки веб-сервера можно использовать стандартный менеджер пакетов yum:

Затем нужно запустить Apache в качестве сервиса CentOS, чтобы автоматизировать запуск Apache после перезагрузки:

1: Установка mod_ssl

Чтобы создать самоподписанный сертификат, для начала нужно установить mod_ssl, модуль Apache для поддержки шифрования SSL. Для этого используйте команду yum:

sudo yum install mod_ssl

После установки модуль включится автоматически, после чего Apache сможет использовать сертификаты SSL. Осталось только перезапустить Apache, чтобы mod_ssl был готов к использованию.

2: Создание SSL-сертификата

Теперь веб-сервер подготовлен к шифрованию данных. Приступайте к созданию нового SSL-сертификата. Сертификат будет содержать некоторую базовую информацию о сайте; также к нему прилагается key-файл, благодаря которому сервер может обрабатывать зашифрованные данные.

Сначала нужно создать новый каталог, в котором будет храниться ключ сервера (key-файл) и сам сертификат:

При помощи команды openssl создайте ключ и сертификат SSL:

После ввода запроса будет открыта командная строка, в которой можно ввести информацию о сайте. Но сперва рассмотрим подробнее вышеприведенную команду:

Теперь заполните форму соответствующими данными. Самым важным полем в форме является Common Name, в котором нужно указать доменное имя сайта или внешний IP-адрес сервера. Форма имеет такой вид:

3: Установка SSL-сертификата

Итак, все необходимые компоненты готовы. Теперь нужно настроить виртуальный хост для отображения нового сертификата.

Откройте конфигурационный файл Apache для SSL в текстовом редакторе с привилегиями root:

Найдите раздел, который начинается с <VirtualHost _default_:443>. В него нужно внести несколько изменений, чтобы сертификат должным образом отображался на сайте.

Сначала раскомментируйте строку DocumentRoot и отредактируйте адрес в кавычках, указав свой каталог document root. По умолчанию это /var/www/html; если вы используете другой root-каталог веб-сервера, укажите в этой строке правильный адрес.

Внеся все изменения, сохраните и закройте файл.

4: Активация сертификата SSL

На данный момент SSL-сертификат и веб-сервер готовы. Чтобы применить все изменения и запустить шифрование SSL, перезапустите сервер Apache, это обновит его конфигурации:

sudo apachectl restart

Чтобы увидеть новый сертификат в действии, посетите в браузере доменное имя или IP в таком формате:

Чтобы продолжить, нужно добавить исключение в проверку подлинности браузера.

Заключение

SSL-сер­ти­фи­кат – это спо­соб шиф­ро­ва­ния инфор­ма­ции сай­та с целью создать более защи­щен­ное соеди­не­ние. Кро­ме того, такой сер­ти­фи­кат может предо­ста­вить посе­ти­те­лям сай­та иден­ти­фи­ка­ци­он­ную инфор­ма­цию вир­ту­аль­но­го сер­ве­ра. SSL-сер­ти­фи­кат мож­но полу­чить в цен­тре сер­ти­фи­ка­ции (ЦС); тем не менее, суще­ству­ют и само­сто­я­тель­но под­пи­сан­ные сер­ти­фи­ка­ты, кото­рые не нуж­да­ют­ся в под­твер­жде­нии сто­рон­ни­ми лицами.

1: Установка mod_ssl

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

2: Создание нового каталога

Далее нуж­но создать новый ката­лог для хра­не­ния клю­ча и сертификата:

3: Создание самоподписанного сертификата

Созда­вая сер­ти­фи­кат, необ­хо­ди­мо ука­зать срок его дей­ствия; для это­го изме­ни­те зна­че­ние 365 нуж­ным коли­че­ством дней. Без изме­не­ний сле­ду­ю­щая стро­ка создаст сер­ти­фи­кат со сро­ком дей­ствия в 365 дней.

Итак, дан­ная коман­да созда­ет SSL­-сер­ти­фи­кат и закры­тый ключ, кото­рый защи­ща­ет его, а затем раз­ме­ща­ет эти фай­лы в новом каталоге.

Кро­ме того, эта коман­да выве­дет в тер­ми­нал спис­кок полей, кото­рые долж­ны быть заполнены.

Наи­бо­лее важ­ным из них явля­ет­ся поле «Common Name». В нем нуж­но ука­зать офи­ци­аль­ное домен­ное имя (или IP-адрес сай­та, если тако­го име­ни еще нет).

4: Настройка сертификата

Теперь все необ­хо­ди­мые ком­по­нен­ты сер­ти­фи­ка­та гото­вы. Сле­ду­ю­щее, что нуж­но сде­лать, — это настро­ить вир­ту­аль­ные хосты для отоб­ра­же­ния ново­го сертификата.

Открой­те файл ssl.conf:

Най­ди­те раз­дел, кото­рый начи­на­ет­ся с <VirtualHost _default_:443> и отре­дак­ти­руй­те его, как опи­са­но ниже.

Най­ди­те сле­ду­ю­щие три стро­ки и убе­ди­тесь, что они име­ют пра­виль­ные расширения:

Гото­во! Теперь вир­ту­аль­ный хост Apache настро­ен долж­ным обра­зом. Сохра­ни­те все вне­сен­ные изме­не­ния и закрой­те файл.

Так же необ­хо­ди­мо добавить:

NameVirtualHost *:443
в вир­ту­ал­хост домена,
данные:
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
так же мож­но доба­вить в вир­ту­ал­хост домена

5: Перезапуск Apache

На дан­ном эта­пе сер­ти­фи­кат пол­но­стью готов к рабо­те. Оста­лось толь­ко пере­за­пу­стить Apache, что­бы акти­ви­ро­вать вне­сен­ные изменения.

Создание самопдписанного SSL-сертификата на Apache в CentOS в 4 шага. Просто и наглядно

Сегодняшняя моя статья посвящена созданию и размещению SSL-сертификата на веб-сервере Apache под управлением операционной системы CentOS. Конкретно в своем примере буду использовать CentOS 7.

И так, что же такое эти все SSL?

Для справки: TLS (или Transport Layer Security, протокол безопасности транспортного уровня) и предшествующий ему SSL (Secure Sockets Layer) – это сетевые протоколы, которые шифруют и тем самым защищают трафик. Благодаря этой технологии процесс обмена данными между клиентом и сервером надежно защищен от перехвата посторонним абонентом. Кроме того, система сертификации помогает пользователям проверить подлинность сайта.

Как я уже говорил, в этой статье я рассмотрю вариант создания самоподписанного SSL-сертификата для веб-сервера Apache на виртуальном выделенном сервере CentOS 7. Самостоятельно подписанный сертификат не может подтвердить подлинность сайта, поскольку он не заверен центром сертификации (CA), которому может доверять браузер; тем не менее он будет шифровать взаимодействие между сервером и посетителями сайта, и тем самым повысит безопасность соединения, что очень важно.

На все про все у вас уйдет на эту процедуру максимум 20 минут, даже если вы новичок и никогда подобного не делали.

1. Установка mod_ssl

Чтобы создать самоподписаный сертификат, для начала нужно установить mod_ssl, модуль Apache для поддержки шифрования SSL. Для этого исполняем команду:

sudo yum install mod_ssl

После установки модуль включится автоматически, после чего Apache сможет использовать сертификаты SSL. Осталось только перезапустить Apache, чтобы mod_ssl был готов к использованию.

2. Создание SSL-сертификата

Даю вам справочную информацию по параметрам генерации ключа:

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

Самым важным полем в форме является Common Name, в котором нужно указать доменное имя сайта или внешний IP-адрес сервера. Форма имеет такой вид:

3. Установка SSL-сертификата

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

Сначала раскомментируйте строку DocumentRoot и отредактируйте адрес в кавычках, указав свой каталог document root. По умолчанию это /var/www/html;

Внеся все изменения, сохраните и закройте файл.

4. Активация сертификата SSL

На данный момент SSL-сертификат и веб-сервер готовы. Чтобы применить все изменения и запустить шифрование SSL, перезапустите сервер Apache, это обновит его конфигурации:
sudo apachectl restart

Скорее всего, браузер выдаст предупреждение вроде «site’s security certificate is not trusted». Это значит, что браузер не может доверять сертификату, который не был заверен авторитетным центром сертификации. Это вполне ожидаемая реакция.
Чтобы продолжить, нужно добавить исключение в проверку подлинности браузера.

Читайте также: