Установка бесплатного SSL сертификата Let’s Encrypt на Apache под Windows Server

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server Сертификаты

Apache ssl безопасная работа 1с в веб – my-sertif.ru

Всем привет! С вами Низамов Илья и мы продолжаем изучать интеграцию 1С с web сайтами. Работа 1С в веб невозможна без создания безопасного соединения. В данном уроке мы настроим локальный веб сервер APACHE для работы с SSL. Ознакомится с полным курсом по интеграции вы можете здесь.

APACHE SSL

Для генерации SSL сертификата нам понадобится выполнить несколько команд. Запустите командную строку и выполните по очереди команды.

cd C:ServerbinApache24bin
set OPENSSL_CONF=C:ServerbinApache24confopenssl.cnf
openssl.exe genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out localhost.key
openssl.exe req -new -key localhost.key -out localhost.csr
openssl.exe req -new -key localhost.key -out www.web1s.site.csr
openssl.exe x509 -req -days 365 -in www.web1s.site.csr -signkey localhost.key -out www.web1s.site.crt
Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

В примере мы генерирует SSL для сайта localhost, вы можете указать любой другой.
После выполнения всех команд в папке APACHE появятся несколько файлов. Это секретный ключ и самоподписанный сертификат для сервера localhost.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Создадим в корне нашего локального веб сервера папку certs и переместим в нее 2 файла для настройки apache ssl.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Теперь надо настроить наш apache для работы с ssl. Настройки ниже мы прописываем в наш конфигурационный файл apache.

LoadModule ssl_module modules/mod_ssl.so
 
Listen 443
<VirtualHost _default_:443>
    DocumentRoot "z:/www/"
    ServerName localhost:443
    ServerAdmin admin@localhost.com
    ErrorLog "${SRVROOT}/logs/error-ssl.log"
    TransferLog "${SRVROOT}/logs/access-ssl.log"
 
    SSLEngine on
 
    SSLCertificateFile "C:Servercertslocalhost.crt"
    SSLCertificateKeyFile "C:Servercertslocalhost.key"
</VirtualHost>
apache ssl сертификаты

Отключаем apache на 80 порту. Работать он будет только через безопасное соединение на 443 порту.

apache ssl localhost

Перезапустим apache и обратимся к нашему локальному сайту через https соединение. К сожалению браузер не доверяет нам и говорит, что наш сертификат не действителен.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Добавим наш сертификат в доверенные

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server
Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server
Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server
Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

В принципе для дальнейшей работы с нашим интернет магазином через rest api этого вполне достаточно. Но если вы хотите потом разместить свой проект в интернете и получить действительный SSL сертификат бесплатно на 1 год то читайте далее.

Переходите по ссылке и при покупке вводите промокод 14D2-32A5-0F52-F322, это даст вам небольшую скидку при покупке хостинга.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Подбираем имя домена (сайта).

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

В дополнение в домену сразу покупаю хостинг.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

В личном кабинете заказываю бесплатный ssl сертификат для нашего apache 2.4

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Приходит письмо с данными для генерации сертификата

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

В письме вам должна прийти ссылка на панель администрирования хостинга.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Выбираем наше доменное имя и создаем новую TXT запись, вставляем данные их письма.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Перед установкой ssl сертификата надо перенастроить наш сайт на wordpress.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

На время разработки мы будем работать с локальным web сайтом, поэтому в файле hosts надо прописать перенаправление запросов к сайту не в интернет, а на наш локальный веб сервер.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Изменим немного конфиг Apache 2.4. Уберем комментарий подключающий библиотеку ssl.

mod ssl apache

Прослушивание порта ставим на 443.

apache ssl настройка

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

установка ssl сертификата на apache

Переходим к конфигурированию виртуальных хостов.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

Указываем параметры нашего локального сайта.

1c apache ssl

Изменим название папки нашего веб сайта.

Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

В папке с сертификатами создадим еще 2 файла. Один сертификат и ключ. Это просто текстовые файлы в которые мы вставляем данные из письма пришедшего к нам от my-sertif.ru. Сделайте все по аналогии с файлами localhost.

установить ssl сертификат apache

Переходим к нашему сайту и видим, что сертификат теперь действительный.

ssl сертификат apache windows
apache 2.4 ssl windows

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

apache ssl https

На этом настройка безопасного SSL соединения на нашем web сервере Apache 2.4 завершена. В следующем уроке мы приступаем к настройке плагина интернет магазина woocommerce и отправке товаров из 1С на наш сайт.

Взаимодействие между клиентом и сервером

Рассмотрим происходящие при работе FTP процессы подробнее. Соединение инициализируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер.

Основная особенность FTP в том, что он использует двойное подключение. Одно из них используется для передачи команд серверу и происходит по умолчанию через TCP-порт 21, который может быть изменён. Управляющее соединение существует все время, пока клиент общается с сервером.

Канал управления должен быть открыт при передаче данных между машинами. В случае его закрытия передача данных прекращается. Через второе происходит непосредственная передача данных. Оно открывается каждый раз, когда осуществляется передача файла между клиентом и сервером. В случае, если одновременно передаётся несколько файлов, для каждого из них открывается свой канал передачи.

FTP может работать в активном или пассивном режиме, от выбора которого зависит способ установки соединения. В активном режиме клиент создаёт управляющее TCP-соединение с сервером и отправляет серверу свой IP-адрес и произвольный номер клиентского порта, после чего ждёт, пока сервер запустит TCP-соединение с этим адресом и номером порта.

В случае, если клиент находится за брандмауэром и не может принять входящее TCP-соединение, может быть использован пассивный режим. В этом режиме клиент использует поток управления, чтобы послать серверу команду PASV, и затем получает от сервера его IP-адрес и номер порта, которые затем используются клиентом для открытия потока данных со своего произвольного порта.

Возможна ситуация, когда данные могут передаваться на третью машину. В этом случае пользователь организует канал управления с двумя серверами и организует прямой канал данных между ними. Команды управления идут через пользователя, а данные напрямую между серверами.

При передаче данных по сети могут быть использованы четыре представления данных:

Передача данных может осуществляться в любом из трёх режимов:

Про сертификаты:  Чудеса уже в "Дарвин". Участвуйте и выигрывайте!

FTP server – это сервер, который предусматривает возможность использования протокола передачи файлов. Он обладает определенными особенностями, отличающими его от обычных веб-серверов:

FTP client – это программа, позволяющая подключиться к удаленному серверу по FTP и также выполнять на нем необходимые действия с элементами файловой системы. Клиентом вполне может быть браузер, в адресную строку которого следует ввести адрес, представляющий собой путь до определенного каталога или файла на удаленном сервере, в соответствии с общей блок-схемой URL:

Демонстрация работы использования ssl для подключения к ftp. | реальные заметки ubuntu & mikrotik

В предыдущей заметке я показал, как настроить сгенерировать SSL сертификат и подключить его к нашему FTP. Теперь к нему можно подключиться, заметьте только с использование TLS, а остальные способы передачи данных не будут работать. Это очень важный нюанс, на это стоит обратить внимание при использовании Вашего FTP клиента.

Для демонстрации использования SSL следует при подключении, указывать как IP-адрес сервера или имя хоста, логин и пароль, а тип сервера теперь указывать: «FTPES-FTP через явный TLS/SSL»

В качестве FTPклиента будет выступать — FileZilla.

Запускаем:

«Приложения» — «Интернет» — «FileZilla»

Перед нами основное окно работы с программой.

Основное окно работы с программой.

Теперь собственно перейдём к этапу настройки подключения:

«Файл» — «Менеджер сайтов», «создаём сайт» и заполняем поля согласно приведённому скриншоту ниже.

Хост: 192.168.1.34

Тип сервера: FTPES-FTP через явный TLS/SSL

Тип входа: Учётная запись

Пользователь: user1

Пароль: Aa1234567

Настроики подключения к FTP-серверу.

Предварительная настройка завершена, пробуем соединиться, нажимаем кнопку «Соединить».

Перед нами появиться окно, свидетельствующее что для связи с FTP-сервером используется неизвестный сертификат (оно и понятно он же самоподписанный), так используется усиленная безопасность, то ничего криминального в этом нет, продолжаем, нажимаем «OK».

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

В окне отображения технической информации наблюдает, как производиться подключение:

Статус: Соединяюсь с 192.168.1.34:21…

Статус: Соединение установлено, ожидание приглашения…

Ответ: 220 Welcome to FTP Ubuntu 10.10 (blog www.my-sertif.ru).

Команда: AUTH TLS

Ответ: 234 Proceed with negotiation.

Статус: Инициализирую TLS…

Статус: Проверка сертификата…

Команда: USER user1

Статус: TLS/SSL соединение установлено.

Ответ: 331 Please specify the password.

Команда: PASS *********

Ответ: 230 Login successful.

Команда: SYST

Ответ: 215 UNIX Type: L8

Команда: FEAT

Ответ: 211-Features:

Ответ: AUTH SSL

Ответ: AUTH TLS

Ответ: EPRT

Ответ: EPSV

Ответ: MDTM

Ответ: PASV

Ответ: PBSZ

Ответ: PROT

Ответ: REST STREAM

Ответ: SIZE

Ответ: TVFS

Ответ: UTF8

Ответ: 211 End

Команда: OPTS UTF8 ON

Ответ: 200 Always in UTF8 mode.

Команда: PBSZ 0

Ответ: 200 PBSZ set to 0.

Команда: PROT P

Ответ: 200 PROT now Private.

Статус: Соединение установлено

Статус: Получение списка каталогов…

Команда: PWD

Ответ: 257 «/»

Команда: TYPE I

Ответ: 200 Switching to Binary mode.

Команда: PASV

Ответ: 227 Entering Passive Mode (192,168,1,34,218,12).

Команда: LIST

Ответ: 150 Here comes the directory listing.

Ответ: 522 SSL connection failed; session reuse required: see require_ssl_reuse option in vsftpd.conf man page

Ошибка: Не могу получить список каталогов!

FTP-клиент не может соединиться с нашим FTP-сервером, т. к. в конфигурационном файле отсутствует необходимый ему параметр, поправим его:

ekzorchik@ub64amd:~$ sudo nano /etc/vsftpd.conf

пропишем

require_ssl_reuse=NO

Перезагружаем сервис:

ekzorchik@ub64amd:~$ sudo service vsftpd restart

vsftpd start/running, process 5608

Пробуем ещё раз подключиться посредством FTP-клиента — «FileZilla»:

Как видим, согласно представленному скриншоту ниже, все прошло успешно.

Успешное подключение к FTP-серверу с использованием TLS.

Задача достигнута, демонстрация подключения к FTP-серверу с усиленной безопасность полностью работоспособна, и теперь передача в не зашифрованном виде нам не страшна. Но стоит внимательно отнестись к выбору FTP-клиента который мог работать с использованием TLS, в противном случаем попасть на сервер будет не возможно. На этом всё, удачи!!!

Как получить бесплатный ssl сертификат lets encrypt?

Ну, и напоследок я решил оставить обзор способа создания самого нужного и востребованного у большинства вебмастеров варианта SSL сертификата для домена, который существует у TheHost.

Речь идёт о генерации бесплатного SSL сертификата LetsEncrypt, создать который можно за считанные секунды.

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

Из минусов можно отметить только то, что он выпускается лишь на 3 месяца, после чего его нужно будет продлевать.

Итак, чтобы создать SSL сертификат от Lets Encrypt, заходим на страницу «SSL сертификаты» в ISPManager и нажимаем на кнопку «Lets Encrypt», после чего откроется следующее диалоговое окно:

Выбираем из списка домен, для которого сертификат будет выпускаться, и нажимаем «ОК».

После этого, без всяких лишних вопросов, сертификат добавится в список. Если просмотреть информацию, содержащуюся в нём (нужно выбрать сертификат и нажать на кнопку «Информация»), то можно увидеть следующее:

Как видите, для всех LetsEncrypt SSL сертификатов TheHost указывает абсолютно идентичную информацию, упрощая и ускоряя процедуру их выпуска.

При желании вы можете произвести настройку SSL сертификата и изменить содержащуюся в нём информацию на данном этапе. Кстати, настоятельно рекомендую это сделать, т.к. этот шаг повысит ваше доверие у ваших пользователей, которые решат просмотреть данные сертификата.

Отсутствие персональных данных владельца в нём может серьёзно насторожить их, а для некоторых может даже послужить сигналом отказа от использования данного сайта.

Как сгенерировать ssl сертификат в windows


У меня веб-сервер установлен в папку C:ServerbinApache24, поэтому если у вас он в другой директории, то подправьте команды под свои условия.

Откройте командную строку Windows (Win x, далее выберите «Windows PowerShell (администратор)»). В командной строке введите команды:

cmd
cd C:ServerbinApache24bin
set OPENSSL_CONF=C:ServerbinApache24confopenssl.cnf
openssl.exe genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out localhost.key
openssl.exe req -new -key localhost.key -out localhost.csr

При вводе последней команды появятся запросы на английском языке. Ниже следует их перевод.

Про сертификаты:  Сертификация гипсовых панелей, плитки, лепнины - получить услугу в Центре сертификации ОрганСертификат

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

Перевод:

Вас попросят ввести информацию, которая будет включена в запрос вашего сертификата. То, что вы будете вводить, называется Distinguished Name или DN. Там всего несколько полей, которые можно оставить пустыми. В некоторых полях будут значения по умолчанию. Если вы введёте ‘.’, то поле будет оставлено пустым.


Далее:

Country Name (2 letter code) [AU]:

Перевод:

Двухбуквенное имя страны (двухбуквенный код)

Далее:

State or Province Name (full name) [Some-State]:

Перевод:

Название штата или провинции/области (полное имя)


Далее:

Locality Name (eg, city) []:

Перевод:

Название населённого пункта (например, города)

Далее:

Organization Name (eg, company) [Internet Widgits Pty Ltd]:


Перевод:

Название организации (т.е. компании).

Далее:

Organizational Unit Name (eg, section) []:

Перевод:

Подразделение организации (т.е. отдел)

Далее:

Common Name (e.g. server FQDN or YOUR name) []:


Перевод:

Общее имя (например, FQDN сервера или ВАШЕ имя). Это самая важная часть — здесь нужно ввести доменное имя. Можете ввести localhost.

Далее:

Email Address []:

Перевод:

Адрес электронной почты

Далее:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:


Перевод:

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

Теперь выполните команду:

openssl.exe x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt

В результате в каталоге C:ServerbinApache24bin должны появиться три новых файла:

  • localhost.key
  • localhost.csr
  • localhost.crt

Из них нам понадобятся только два:

  • localhost.key
  • localhost.crt

Особенности ftps

Существуют две реализации FTPS, использующие различные методы предоставления безопасности:

  • Неявный метод предполагает использование стандартного протокола SSL с установлением сессии перед отправкой данных, что, в свою очередь, нарушает совместимость с обычным FTP клиентами и серверами. Для обратной совместимости с клиентами, которые не поддерживают FTPS, для контрольного соединения используется TCP-порт 990, а для передачи данных — 989. Это позволяет сохранить стандартный порт 21 для протокола FTP. Данный метод признан устаревшим.
  • Явный – намного более удобен, так как использует команды стандартного FTP, но при ответе шифрует данные, что позволяет использовать одно и тоже управляющее соединение как для FTP, так и для FTPS. Клиент должен явно запросить защищенную передачу данных у сервера, а после утвердить способ шифрования. Если клиент не запросит защищенную передачу, FTPS сервер вправе как сохранить, так и закрыть незащищенное соединение. Механизм согласования идентификации и защиты данных был добавлен под RFC 2228 который включает в себя новую FTP команду AUTH. Хотя этот стандарт не определяет явно механизмы защиты, он определяет, что защищенное соединение должен инициировать клиент с помощью описанного выше алгоритма. Если защищенные соединения не поддерживаются сервером, должен быть возвращен код ошибки 504. FTPS клиенты могут получить информацию о поддерживаемых сервером протоколах защиты при помощи команды FEAT, тем не менее сервер не обязан разглашать то, какие уровни безопасности он поддерживает. Наиболее распространены FTPS команды AUTH TLS и AUTH SSL, обеспечивающие защиту TLS и SSL соответственно.

Решение проблем

При некоторых условиях может возникнуть следующая ошибка:

Can't open C:Program FilesCommon FilesSSL/openssl.cnf for reading, No such file or directory
9112:error:02001003:system library:fopen:No such process:cryptobiobss_file.c:72:fopen('C:Program FilesCommon FilesSSL/openssl.cnf','r')
9112:error:2006D080:BIO routines:BIO_new_file:no such file:cryptobiobss_file.c:79:
unable to find 'distinguished_name' in config
problems making Certificate Request
9112:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:cryptoconfconf_lib.c:270:

Главная подсказка в первой строке: Can’t open C:Program FilesCommon FilesSSL/openssl.cnf for reading, No such file or directory — она означает, что возникла ошибка чтения файла C:Program FilesCommon FilesSSL/openssl.cnf из-за того, что он отсутствует.

Файл openssl.cnf поставляется с самим веб-сервером Apache и находится в папке conf. Поэтому есть несколько вариантов, как исправить эту ошибку. Например, можно создать нужные папки и скопировать туда этот файл. Но можно пойти более простым путём — на время создания сертификатов установить переменную окружения OPENSSL_CONF указав в ней правильный путь до файла.

Также нужно переключиться из PowerShell в обычную командную строку Windows, поскольку иначе переменная окружения почему-то не устанавливается. Допустим, сервер размещён в папке C:ServerbinApache24bin, тогда файл openssl.cnf расположен по пути C:

cmd
cd C:ServerbinApache24bin
set OPENSSL_CONF=C:ServerbinApache24confopenssl.cnf

Отредактируйте пути в этих командах в соответствии с вашей структурой папок.

Связанные статьи:

Установить ssl /tls сертификат в windows iis 10 –

Время, необходимое: 30 минут.

Это руководство поможет вам загрузить и установить SSL /TLS сертификат от my-sertif.ru в IIS. Эти процедуры были протестированы в Windows 10 в IIS 10, но также будут работать в IIS 7.x и 8.x.

  • Найдите заказ на сертификат.

    Сначала найдите заказ в своей учетной записи my-sertif.ru и щелкните один из скачать ссылки.
    Заказ сертификата

  • Скачать сертификат.

    Затем, щелкните скачать ссылка на право Microsoft IIS (* .p7b) в загрузка сертификатов таблице.
    Скачать сертификат

  • Запустите диспетчер IIS.

    Start Диспетчер IIS, Один быстрый способ сделать это, открыв Запустите затем введите команду inetmgr и нажмите OK кнопку.
    Запустить окно

  • Выберите сервер.

    Выберите сервер в Беспроводные сети панель, с левой стороны окна.
    Выберите сервер

  • Открытые сертификаты сервера.

    Дважды щелкните Сертификаты сервера значок, расположенный под IIS в центральной панели окна.
    Значок сертификата сервера

  • Нажмите «Завершить запрос сертификата…»

    Нажмите Завершить запрос сертификата… в Действия панель, на правой стороне окна.
    Полный запрос сертификата

  • Нажмите кнопку….

    Полный запрос сертификата появится мастер. Сначала нажмите кнопку с надписью «», Чтобы открыть диалоговое окно открытия файла.
    Диалог открытия файла

  • Перейдите к файлу сертификата.

    Перейдите в .p7b файл, который вы скачали с my-sertif.ru. Обратите внимание, что вам придется изменить раскрывающееся меню справа от Имя файла поле из *.cer в *.* чтобы увидеть файл.
    перейти к файлу

    Про сертификаты:  Сертификаты и лицензии интернет-магазина "1akb.by"
  • Открыть файл.

    Нажмите Откройте кнопку.
    Кнопка Открыть

  • Создайте понятное имя.

    Затем введите памятное имя для сертификата в Дружественное имя поле (здесь мы просто вводим сертификат распространенное имя).
    Дружественное имя

  • Нажмите кнопку ОК.

    Нажмите OK кнопку.
    Кнопка ОК

  • Законченный!

    Сертификат установлен! Следующим шагом является связывать сертификат для определенного веб-сайта, порта и / или IP-адреса. Пожалуйста, прочитайте наш инструкции по привязке в IIS для полных инструкций.

    Если вы получили сообщение об отсутствии закрытого ключа / запроса сертификата, попробуйте следующее из командной строки, открытой от имени администратора (замените «серийный номер» фактическим серийным номером вашего сертификата в кавычках, включая пробелы):
    certutil -repairstore my "serial number"
    Подробные инструкции доступны здесь.

    установленный сертификат

  • Установка ssl-сертификата на домен средствами панели ispmanager 6

    1. Зайдите в ISPmanager 6 под пользователем, которому принадлежит домен. Это можно сделать так: войдите в панель под пользователем root, найдите раздел Пользователи — выберите пользователя — нажмите Войти под пользователем (справа вверху кнопка с изображением стрелочки и двери).

    Примечание: не забудьте для пользователя включить возможность добавления SSL (ISPmanager — Пользователи — двойной клик по пользователю — поставьте галочку в пункте Может использовать SSL).

    2. В разделе SSL-сертификаты — справа вверху кнопка Добавить сертификат.

    Укажите Тип сертификата — Существующий. И заполните все поля:

    Имя сертификата — Начиная с версии панели 6.19, данного пункта нет, имя будет формироваться из информации о сертификате “_customX”

    Примечание: Если у вас панель ниже версии 6.19, то нужно указать имя сертификата. Оно может содержать буквы латинского алфавита, цифры, точки, а также знаки _ и –

    SSL-Сертификат — укажите содержимое файла SSL-сертификата, обычно имеет расширение .crt

    Ключ SSL-сертификата — укажите содержимое файла приватного ключа, обычно имеет расширение .key

    Цепочка SSL-сертификатов — Certificate bundle: цепочка сертификатов, которыми подписан данный сертификат, обычно файл имеет расширение .ca или .ctrca

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

    3. После того, как сертификат успешно добавлен, перейдите в раздел Сайты и включите его. Двойной клик по нужному сайту — установить галочку Защищённое соединение (SSL) — выбрать из списка нужный сертификат:

    Установка бесплатного ssl сертификата let’s encrypt на apache под windows server

    В зависимости от версий acme и Apache могут быть различия. Тестировалось на Windows 2021 Server, Apache 2.4.46, win-acme 2.1.12. Сертификат “живет” 3 месяца, потом автоматически обновляется.

    1.   Установите Apache 2.4 в C:Apache24 (скачать последние релизы можно от сюда https://www.apachelounge.com/download/)

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    2.   Установите win-acme в C:win-acme (скачать можно от сюда https://www.win-acme.com/)

    3.   Создайте файл C:win-acmeScripts RestartApache.bat с содержимым:
    net stop “Apache2.4”
    net start “Apache2.4”

    4.   Запустите клиент win-acme let’s encrypt   C:win-acmewacs.exe

    5.   Выберите «М»

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    6.   Выберите «Manual input» (в нашем случае – 2)

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    7.    Введите доменные имена (в нашем случае mysite.ru)

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    8.    Просит ввести альтернативное имя – просто жмем Enter

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    9.    Выбираем пункт: [http-01] Save verification files on (network) path

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    10.    Указываем путь:  C:Apache24htdocs

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    11.    Спрашивает, хотите ли вы скопировать файл web.config перед проверкой, отвечаем “N”

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    12.    Выбираем «RSA key»

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    13.    Поскольку будем использовать Apache, то выбираем «PEM encoded files (Apache, nginx, etc.)»

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    14.    Укажем каталог, куда сохраним .pem файлы:   C:Apache24conf

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    15.    Другие варианты нам не нужны, поэтому выбираем «No (additional) store steps»

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    16.    После создания сертификаты нужно выполнить дополнительный шаг (выберем пункт 3) и введем:    C:win-acmeScriptsRestartApache.bat

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    17.    Далее введем { StoreType } { StorePath } { RenewalId }
    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    18.    Больше никаких дополнительных шагов не требуется

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    19.    Сгенерируются ключи в C:Apache24conf: 4 файла
    •    mysite.ru-chain.pem
    •    mysite.ru-chain-only.pem
    •    mysite.ru-crt.pem
    •    mysite.ru-key.pem

    20.    ДОНАСТРАИВАЕМ САМ APACHE – включаем SSL

    В файле C:Apache24confhttpd.conf
    Раскомментируем следующие строки
    Loadmodule ssl_module modules/mod_ssl.so
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    Include conf/extra/httpd-default.conf
    Include conf/extra/httpd-ssl.conf

    Пропишем в файл C:Apache24confextrahttpd-ssl.conf
    ServerName mysite.ru

    После рестарта Apache в списке служб будет подобная картинка

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    21.   Настроим SSL для выданного сертификата, для этого отредактируем файл C:Apache24confextrahttpd-ssl.conf

    Заменим
    SSLCertificateFile “${SRVROOT}/conf/server.crt”
    на
    SSLCertificateFile “${SRVROOT}/conf/mysite.ru-chain.pem”

    Заменим
    SSLCertificateKeyFile “${SRVROOT}/conf/server.key”
    на
    SSLCertificateKeyFile “${SRVROOT}/conf/mysite.ru-key.pem”

    Заменим
    SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
    SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

    на
    SSLCipherSuite ECDH AESGCM256:ECDH CHACHA20:DH AESGCM256:ECDH AES256:DH AES256:!aNULL:!MD5:!DSS
    SSLProxyCipherSuite ECDH AESGCM256:ECDH CHACHA20:DH AESGCM256:ECDH AES256:DH AES256:!aNULL:!MD5:!DSS

    Заменим
    SSLProtocol all -SSLv3
    SSLProxyProtocol all -SSLv3

    на
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1

    Заменим
    # General setup for the virtual host
    DocumentRoot “${SRVROOT}/htdocs”
    ServerName www.example.com:443
    ServerAdmin admin@example.com
    ErrorLog “${SRVROOT}/logs/error.log”
    TransferLog “${SRVROOT}/logs/access.log”

    на
    # General setup for the virtual host
    DocumentRoot “${SRVROOT}/htdocs”
    ServerName mysite.ru:443
    ServerAdmin <example@example.com>
    ErrorLog “${SRVROOT}/logs/error.log”
    TransferLog “${SRVROOT}/logs/access.log”

    22.    Перенаправим http на https

    В файле C:Apache24confhttpd.conf после последней строки #LoadModule
    Добавим строки:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

    В итоге мы получаем SSL соединение и в API, и в браузере.

    Установка бесплатного SSL сертификата Let's Encrypt на Apache под Windows Server

    Шаг 3. установка filezilla для безопасного подключения к ftp-серверу#

    Для безопасного подключения к FTP-серверу необходим FTP-клиент, который поддерживает SSL/TLS подключения. Идеально
    подойдёт FileZilla — широко используемый кроссплатформенный клиент FTP, SFTP и FTPS с открытым исходным кодом, который
    по умолчанию поддерживает соединения SSL/TLS.

    Установите FileZilla в Linux, используя ваш менеджер пакетов по-умолчанию, следующим образом:

    $ sudo apt-get install filezilla   		#Debian/Ubuntu
    # yum install epel-release filezilla	#On CentOS/RHEL
    # dnf install filezilla			        #Fedora 22 
    $ sudo zypper install filezilla			#openSUSE
    
    1. Откройте клиент FileZilla. Для быстрого подключения к удалённому FTP-серверу, из основного интерфейса, — укажите
      IP-адрес хоста, имя пользователя и его пароль. После чего нажмите QuickConnect.
    1. Теперь приложение попросит вашего разрешения на установление безопасного подключения, используя неизвестный
      самозаверенный сертификат. Нажмите ОК, чтобы продолжить.

    Если сервер настроен правильно, то подключение будет успешно установлено, как показано на скриншоте ниже:

    1. Проверьте состояние безопасного соединения FTP, путём загрузки файлов со своего компьютера на сервер, как показано
      на скриншоте ниже:

    Спасибо за внимание! Надеемся, что данная статья помогла вам.

    Удачи!

    Оригинальная статья: Setup Secure FTP File Transfer Using SSL/TLS in RHEL 8

    Оцените статью
    Мой сертификат
    Добавить комментарий