Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM Сертификаты
Содержание
  1. Что означает красный цвет
  2. Настройка маршрутов на основе политик
  3. 1: активация модуля ssl
  4. 1: создание ssl-сертификата
  5. 3: настройка apache для поддержки ssl
  6. 3: настройка брандмауэра
  7. 4: активация виртуального хоста ssl
  8. 4: обновление настроек apache
  9. 5: тестирование
  10. 6: постоянный редирект
  11. Автоматическая настройка netplan
  12. Как создать учетную запись пользователя
  13. Как удалить учетную запись пользователя
  14. Маршрутизация для несколько сетевых интерфейсов
  15. Местонахождение ключа и сертификата
  16. Настройка
  17. Настройка nginx для поддержки ssl
  18. Настройка source based routing
  19. Немного о ssl-сертификатах
  20. Отключение networkmanager
  21. Отключение автонастройки netplan
  22. Параметры сетевых интерфейсов
  23. Повышение сервера до контроллера домена
  24. Предварительные требования
  25. Расположение ключа и сертификата
  26. Создание учетной записи пользователя с помощью windows powershell
  27. Удаление учетной записи пользователя с помощью windows powershell
  28. Установка роли active directory domain services
  29. Шаг #2: создание новой директории
  30. Шаг #4: установка сертификата
  31. Шаг 1. установка пакета «let’s encrypt»
  32. Итоги

Что означает красный цвет

В этом руководстве мы будем выделять красным цветом те места, в которых пользователю нужно будет ввести какие-либо данные или внести какие-то изменения. В остальном, предложенные команды можно просто скопировать и вставить в командную строку терминала.

Настройка маршрутов на основе политик

В основе маршрутизации на основе политик лежат таблицы. Для каждой таблицы настраиваются свои маршруты и политики. Проверим наличие в системе пакета iproute2. Если его нет, произведите его установку.

apt install iproute2

Откройте файл с таблицами маршрутизации

nano /etc/iproute2/rt_tables

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

700 700701 701

Формат записи: приоритет (число) пробел название таблицы (число).
Теперь откройте файл Netplan с настройками сетевых интерфейсов. Он расположен по пути /etc/netplan/ и имеет расширение .yaml. В моём случае путь такой:

nano /etc/netplan/50-cloud-init.yaml

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

Для каждого сетевого интерфейса добавляем блоки routes и routing-policy. Итоговая запись для 1 интерфейса будет выглядеть так:

network:
    version: 2
    ethernets:
        enp0s5:
            addresses:
            - 78.89.90.12/24
            gateway4: 78.89.90.1
            match:
                macaddress: 54:43:32:21:10:09
            mtu: 1500
            nameservers:
                addresses:
                - 8.8.8.8
                - 1.1.1.1
                - 8.8.4.4
                search: []
            set-name: enp0s5
            routes:
                - to: 0.0.0.0/0
                  via: 78.89.90.1
                  table: 700
            routing-policy:
                - from: 78.89.90.12
                  table: 700
                  priority: 300

Для других интерфейсов запись будет аналогична, начиная с имени интерфейса (enp0s5), но у других должен отсутствовать параметр gateway4, т.к. шлюз по умолчанию должен быть один. Настройки routes и routing-policy:

  • to – адрес назначения пакета. Для наших целей – любой (0.0.0.0/0)
  • via – адрес шлюза для данного интерфейса
  • table – имя таблицы маршрутизации. Должны быть указаны одинаковые значения в routes и routing-policy для одного интерфейса, но быть различными от интерфейса к интерфейсу. Данные таблицы мы создали в файле rt_tables
  • from – адрес источника пакета. Для целей данного руководства – это IP адрес интерфейса
  • priority – обязательное числовое значение

После внесения настроек и сохранения файла проверим конфигурацию на ошибки:

netplan generate

Подобный вывод укажет на ошибку при их наличии (в данном случае пропущен пробел):

/etc/netplan/50-cloud-init.yaml:23:12: Invalid YAML: inconsistent indentation:
           routes:
           ^

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

netplan apply

После применения изменений настроенные таким образом сетевые интерфейсы станут доступны извне по своим публичным IP адресам.

1: активация модуля ssl

В Ubuntu 14.04 пакет Apache поддерживает SSL по умолчанию. Нужно просто включить эту функцию.

Чтобы включить модуль, введите:

sudo a2enmod ssl

Включив SSL, перезапустите веб-сервер, чтобы внесенные изменения вступили в силу.

sudo service apache2 restart

Готово! Теперь сервер сможет обрабатывать SSL-запросы после дополнительной настройки (раздел 3).

1: создание ssl-сертификата

Для работы TLS/SSL использует комбинацию открытого сертификата и закрытого ключа. Закрытый ключ хранится на сервере и не разглашается. SSL-сертификат используется открыто и доступен всем пользователям, запрашивающим контент.

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

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

Команда задаст ряд вопросов. Рассмотрим компоненты команды подробнее:

  • openssl: базовый инструмент командной строки для создания и управления сертификатами, ключами и другими файлами OpenSSL.
  • req: эта подкоманда указывает, что на данном этапе нужно использовать запрос на подпись сертификата X.509 (CSR). X.509 – это стандарт инфраструктуры открытого ключа, которого придерживаются SSL и TLS при управлении ключами и сертификатами. То есть, данная команда позволяет создать новый сертификат X.509.
  • -x509: эта опция вносит поправку в предыдущую субкоманду, сообщая утилите о том, что вместо запроса на подписание сертификата необходимо создать самоподписанный сертификат.
  • -nodes: пропускает опцию защиты сертификата парольной фразой. Нужно, чтобы при запуске сервер Nginx имел возможность читать файл без вмешательства пользователя. Установив пароль, придется вводить его после каждой перезагрузки.
  • -days 365: эта опция устанавливает срок действия сертификата (как видите, в данном случае сертификат действителен в течение года).
  • -newkey rsa:2048: эта опция позволяет одновременно создать новый сертификат и новый ключ. Поскольку ключ, необходимый для подписания сертификата, не был создан ранее, нужно создать его вместе с сертификатом. Данная опция создаст ключ RSA на 2048 бит.
  • -keyout: эта опция сообщает OpenSSL, куда поместить сгенерированный файл ключа.
  • -out: сообщает OpenSSL, куда поместить созданный сертификат.

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

Про сертификаты:  Как создать самоподписанные сертификаты SSL в Ubuntu 20.04 | 18.04 - INFOIT.COM.UA

Самой важной строкой является Common Name (введите полное доменное имя  сервера (FQDN) или свое имя). Как правило, в эту строку вносят доменное имя, с которым нужно связать сервер. В случае если доменного имени нет, внесите в эту строку IP-адрес сервера. В целом эти поля выглядят примерно так:

3: настройка apache для поддержки ssl

Теперь сертификат и ключ готовы. На данном этапе нужно настроить веб-сервер Apache для использования этих файлов в файле виртуального хоста.

Вместо шаблона конфигурации 000-default.conf в подкаталоге sites-available используйте шаблон конфигурационного файла default-ssl.conf, который уже содержит некоторые дефолтные настройки SSL.

Откройте файл с привилегиями root:

sudo nano /etc/apache2/sites-available/default-ssl.conf

Раскомментированный файл имеет следующий вид:

3: настройка брандмауэра

Если вы включили брандмауэр ufw (согласно руководству по начальной настройке), на данном этапе его нужно настроить для поддержки трафика SSL. К счастью, веб-сервер Nginx регистрирует при установке несколько своих профилей в ufw.

Чтобы просмотреть доступные профили, введите:

4: активация виртуального хоста ssl

Создав виртуальный хост для SSL, включите его. Для этого нужно набрать:

sudo a2ensite default-ssl.conf

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

sudo service apache2 restart

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

4: обновление настроек apache

Итак, теперь настройки веб-сервера и брандмауэра откорректированы. Можно включить SSL и настроенный для поддержки сертификата виртуальный хост, а затем перезапустить веб-сервер.

Включите модуль Apache для SSL, mod_ssl, и модуль mod_headers, который необходим для работы сниппета SSL:

sudo a2enmod sslsudo a2enmod headers

Включите подготовленный виртуальный хост:

sudo a2ensite default-ssl

Также нужно включить файл ssl-params.conf:

sudo a2enconf ssl-params

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

sudo apache2ctl configtest

Если ошибок нет, команда вернёт:

AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this messageSyntax OK

Первая строка вывода сообщает, что директива ServerName установлена не глобально. Чтобы устранить это предупреждение, отредактируйте директиву ServerName в /etc/apache2/apache2.conf, указав доменное имя или IP сервера (это опционально, данное предупреждение устранять необязательно).

Если в синтаксисе обнаружены ошибки, исправьте их. Затем перезапустите веб-сервер:

sudo systemctl restart apache2

5: тестирование

Теперь, когда все готово, нужно только протестировать настройку, открыв домен (или IP-адрес) сервера в браузере, используя следующий формат:

6: постоянный редирект

Если все настройки сервера работают должным образом, настройте постоянный редирект вместо временного.

Откройте файл блока server:

sudo nano /etc/nginx/sites-available/default

Найдите в нём return 302 и замените значение строки на return 301.

Автоматическая настройка netplan

Linux серверы Serverspace призваны упрощать жизнь пользователей. В них присутствует функция настройки сетевых интерфейсов в автоматическом режиме при их добавлении в панели управления или во время создания сервера. Но для обеспечения работы маршрутизации на основе политик и как результат доступности сервера сразу по нескольким сетевым интерфейсам нам необходимо внести изменения в настройки Netplan.

Чтобы наши настройки не перезаписались во время перезагрузки, необходимо отключить автоматическую настройку сети. После того, как Вы убедитесь, что необходимое количество интерфейсов добавлено на сервер, создайте на нём файл:nano /etc/cloud/cloud.cfg.

Как создать учетную запись пользователя

Давайте создадим учетную запись пользователя AD несколькими способами.

Как удалить учетную запись пользователя

Для того чтобы удалить пользователя из Active Directory, используйте один из следующих методов. Обратите внимание, что это не приведет к полному удалению УЗ, если у вас настроена корзина AD Recycle Bin.

Маршрутизация для несколько сетевых интерфейсов

Задача обеспечения доступности сервера через несколько сетевых подключений и IP адресов будет решена с использованием маршрутизации на основе политик, а именно на основе адреса отправителя. Таким образом, каждый пакет будет отправлен с сервера через тот же адрес, через который и попал на него. В первую очередь нужно создать таблицы маршрутизации для данной цели, а для этого нужен пакет iproute2. Если он отсутствует в системе, необходимо его установить:

apt-get install iproute2

nano /etc/iproute2/rt_tables

В его конец необходимо добавить столько таблиц, сколько сетевых интерфейсов настраивается. Одна таблица – это отдельная строка, состоящая из двух чисел, разделенных пробелом. Первое число – это приоритет, а второе – это имя таблицы. Например:

50 5051 5152 52

Таким образом, мы добавим 3 таблицы. Теперь пришло время добавить настройки маршрутизации в Netplan, откройте его конфиг по пути /etc/netplan/ с расширением .yaml (имя файла может отличаться в Вашей системе):

nano /etc/netplan/50-cloud-init.yaml

Netplan чувствителен к форматированию в файле конфигурации. Очень важно соблюсти правильное количество пробелов и не использовать табуляции, иначе результат не пройдёт проверку. Корректный пример приведен ниже. В нём показан блок настроек для одного интерфейса (enp0s5), такие же блоки Вы увидите в конфиге для каждого из подключений. В каждый из блоков надо добавить настройки routes и routing-policy, а остальные настройки оставить как есть. Расшифровка добавляемых значений:

  • to – IP подсети назначения любой – 0.0.0.0/0
  • via – IP шлюза текущего сетевого подключения
  • table – имя одной из добавленных в rt_tables таблиц. Должно совпадать в routes и routing-policy каждого подключения. Но для разных интерфейсов – разные таблицы.
  • from – IP адрес данного интерфейса
  • priority – можно не менять
network:
    version: 2
    ethernets:
        enp0s5:
            addresses:
            - 11.22.33.44/24
            gateway4: 11.22.33.1
            match:
                macaddress: 00:99:88:77:66:55
            mtu: 1500
            nameservers:
                addresses:
                - 8.8.8.8
                - 1.1.1.1
                - 8.8.4.4
                search: []
            set-name: enp0s5
            routes:
                - to: 0.0.0.0/0
                  via: 11.22.33.1
                  table: 50
            routing-policy:
                - from: 11.22.33.44
                  table: 50
                  priority: 300

После завершения редактирования конфигурации, убедимся в ее корректности:

Про сертификаты:  Сертификаты ПВ-3 1х0,5

netplan generate

Если вывод пустой, значит всё сделано верно. Если же есть ошибки, Вы увидите нечто подобное:

/etc/netplan/50-cloud-init.yaml:24:1: Invalid YAML: tabs are not allowed for indent:
		- to: 0.0.0.0/0
^

В данном примере обнаружены табуляции. После исправления ошибок и успешного прохождения проверки примените изменения:

netplan apply

Теперь сервер будет доступен по всем настроенным таким образом IP адресам.

Местонахождение ключа и сертификата

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

Создайте новый сниппет Apache в каталоге etc/apache2/conf-available.

Рекомендуется указать в названии файла его назначение (к примеру, ssl-params.conf):

sudo nano /etc/apache2/conf-available/ssl-params.conf

Для безопасной настройки SSL обратимся к рекомендациям Remy van Elst на сайте Cipherli.st. Этот сайт предназначен для распространения простых и надёжных параметров шифрования для популярного программного обеспечения.

Примечание: Данный список настроек подходит для более новых клиентов. Чтобы получить настройки для других клиентов, перейдите по ссылке Yes, give me a ciphersuite that works with legacy/old software.

Скопируйте все предложенные параметры.

Единственное небольшое изменение, которое нужно внести в эти настройки – отключить заголовок Strict-Transport-Security (HSTS).

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

Настройка

Для того, чтобы сгенерировать сертификат, вам необходимо обладать root-правами на вашем сервере (в системе 1cloud такие права пользователи получают по-умолчанию). Кроме того, необходимо установить веб-сервер Apache (о том, как это сделать написано в нашей статье «Как установить LAMP-стек (Linux, Apache, MySqL, PHP) на сервере с Ubuntu»).

Если Apache еще не установлен на сервере, это можно сделать с помощью специальной команды:

sudo apt-get install apache2

Настройка nginx для поддержки ssl

Примечание: В руководстве предполагается, что вы используете виртуальный хост (блок server) default, который хранится в каталоге /etc/nginx/sites-available. Если вы используете другой файл, пожалуйста, укажите его имя.

Для начала создайте резервную копию файла блока server.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

Затем откройте файл блока server в текстовом редакторе:

sudo nano /etc/nginx/sites-available/default

Файл должен выглядеть примерно так:

server {listen 80 default_server;listen [::]:80 default_server;# SSL configuration# listen 443 ssl default_server;# listen [::]:443 ssl default_server;. . .

Настройка source based routing

Проверим присутствует ли пакет iproute. Если нет, установите его.

dnf install iproute

Создадим новые таблицы для настройки политик маршрутизации.

nano /etc/iproute2/rt_tables

В конец файла добавим записи:

300 300301 301

Каждая строка – это новая таблица. Формат записи – приоритет пробел название таблицы. Данные значения должны быть уникальны относительно других записей в файле. Приоритет имеет числовое значение, а название таблицы может содержать и буквы. Добавьте столько новых таблиц, сколько интерфейсов Вы настраиваете.
В следующих файлах будут указаны настройки маршрутизации. Для каждого интерфейса нужно создать по паре файлов: rule-eth-name, route-eth-name, где eth-name заменить на имя интерфейса. Пример для интерфейса enp0s5:

nano /etc/sysconfig/network-scripts/rule-enp0s5

Вставляем в него следующую строку с актуальным IP адресом вместо 34.56.78.90 и именем таблицы, созданной на предыдущем шаге вместо 300:

from 34.56.78.90 lookup 300

nano /etc/sysconfig/network-scripts/route-enp0s5

Заменяем 34.56.78.0/24 на адрес своей подсети, enp0s5 – на имя интерфейса, 300 на название соответствующей таблицы, а 34.56.78.1 на шлюз для маршрутизации трафика и вставляем в открытый файл:

34.56.78.0/24 dev enp0s5 table 300default dev enp0s5 via 34.56.78.1 table 300

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

systemctl restart network

Немного о ssl-сертификатах

SSL-сертификаты используются для шифрования информация на сайте и создания безопасных соединений. Кроме того, такой сертификат может использоваться посетителями для получения информации о VPS-сервере, на котором запущен сайт. SSL-сертификаты могут выдаваться специальные сертификационными центрами, которые уполномочены проверять и подтверждать информацию о сервере, также существуют самоподписанные сертификаты, созданные владельцами сайтов, которые никто не «заверяет».

Отключение networkmanager

Настройку маршрутизации на основе политик мы будем осуществлять с помощью network-scripts, поэтому отключим NetworkManager и связанные службы:

systemctl mask NetworkManager.servicesystemctl stop NetworkManager.servicesystemctl mask NetworkManager-wait-online.servicesystemctl mask NetworkManager-dispatcher.service

Установим пакет network-scripts

dnf install network-scripts

systemctl enable networksystemctl start network

Отключение автонастройки netplan

При создании сервера Ubuntu 18.04 в Serverspace или добавлении к нему новых сетевых интерфейсов из панели управления происходит автоматическая настройка параметров подключений. Кроме того, во время перезагрузки системы файл конфигурации Netplan тоже перезаписывается актуальными параметрами.

Поэтому любые его изменения, сделанный в ручном режиме, будут потеряны. Чтобы этого избежать, можно отключить данную функцию. Для начала убедитесь, что Вы добавили необходимое количество сетевых адаптеров к серверу, а затем создайте файл:nano /etc/cloud/cloud.cfg.

Параметры сетевых интерфейсов

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

Откройте файл настроек сетевого интерфейса. Их имена можно посмотреть с помощью команды ip a или же задать новые, если они не настроены.

nano /etc/sysconfig/network-scripts/ifcfg-enp0s5

Конфигурацию ниже можно скопировать и заменить следующие значения на свои:

  • имя интерфейса (enp0s5)
  • шлюз (GATEWAY)
  • MAC-адрес (HWADDR)
  • IP адрес (IPADDR)
  • маска подсети (NETMASK)

BOOTPROTO=noneDEFROUTE=yesDEVICE=enp0s5GATEWAY=34.56.78.1HWADDR=99:88:77:66:55:44IPADDR=34.56.78.90MTU=1500NETMASK=255.255.255.0ONBOOT=yesSTARTMODE=autoTYPE=Ethernet

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

Про сертификаты:  Как установить Ssl сертификат на чистую ubuntu 18 минимальными усилиями? — Хабр Q&A

Повышение сервера до контроллера домена

После завершения установки роли, если вы не закроете окно, вам будет предложено повысить сервер до контроллера домена (DC). Ссылка будет выделена синим текстом.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

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

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

Нажмите на «Повысить роль этого сервера до уровня контроллера домена» (Promote server to domain controller). По сути, это мастер конфигурации развертывания Active Directory, который поможет вам создать первый лес в Active Directory.

В разделе «Конфигурация развертывания» (Deployment Configuration), включите опцию «Добавить новый лес» “Add a new forest”, а затем введите желаемое имя домена. В моем случае это office.local, и нажмите Next.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе «Параметры контроллера домена» (Domain Controller Options) выберите функциональный уровень леса и домена. Если это ваш первый лес на Windows Server 2021, оставьте значения по умолчанию. В противном случае, если в вашей бизнес-инфраструктуре есть другие контроллеры домена, вам следует узнать их функциональный уровень, прежде чем приступать к необходимым действиям.

Включите опцию сервера системы доменных имен (DNS), чтобы также установить роль DNS на том же сервере, если вы не сделали этого раньше.

Также введите (дважды) пароль Directory Services Restore Mode (DSRM), обязательно запишите его в документации и нажмите Next, чтобы продолжить.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В подразделе «Параметры DNS» (DNS Options) вы увидите предупреждающее сообщение, но в данный момент оно не должно вас беспокоить. Просто нажмите “Next”, чтобы продолжить.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе «Дополнительные параметры» (Additional Options) оставьте имя NetBIOS по умолчанию и нажмите Next, чтобы продолжить.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе «Пути» (Paths) выберите, где на вашем сервере будут располагаться папки NTDS, SYSVOL и LOG. В моем случае я оставлю значения по умолчанию, вы можете выбрать другой диск в зависимости от ваших предпочтений и настроек.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе «Просмотреть параметры» (Review Options) вы увидите сводку выбранных вами параметров. Убедившись, что вы не допустили ошибок, нажмите Next.

В разделе «Проверка предварительных требований» “Prerequisites Check” будут проверены предварительные условия. Здесь, если возникнет хотя бы одна ошибка, вы не сможете продолжить, и вам нужно будет ее исправить. В противном случае, если отображаются только предупреждающие сообщения (которые являются наиболее распространенными), но проверка прошла успешно, как показано на рисунке, нажмите кнопку Install, чтобы продолжить.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

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

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

После перезагрузки ваш первый контроллер домена будет готов и вы можете пользоваться всеми функциональностями, таким как например ADUC и ADAC.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

Предварительные требования

Для данного обучающего руководства вам потребуется следующее:

Расположение ключа и сертификата

Создайте новый сниппет Nginx в каталоге /etc/nginx/snippets.

Рекомендуется указать в названии файла его назначение (к примеру, self-signed.conf):

sudo nano /etc/nginx/snippets/self-signed.conf

В этот файл нужно добавить директиву ssl_certificate, которая будет указывать путь к сертификату, и директиву ssl_certificate_key, которая задаёт путь к соответствующему закрытому ключу.

ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

Сохраните и закройте файл.

Создание учетной записи пользователя с помощью windows powershell

Запустите следующий код PowerShell с правами администратора:

Удаление учетной записи пользователя с помощью windows powershell

Используйте следующий PowerShell код для удаления пользователя из AD, синтаксис для примера использован такой же, как и в примере выше:

Установка роли active directory domain services

Прежде чем приступить к выполнению этого шага, необходимо настроить на сервере статический IP-адрес, а также изменить имя Windows Server в соответствии со стандартами именования вашей компании. После того как сделаете это, приступайте к установке ADDS.

Откройте управление сервером (Server Manager), нажмите Управление (Manage), а затем  «Добавить роли и компоненты» (Add Roles and Features).

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

Сразу после этого откроется окно мастера. В разделе “Before You Begin” нажмите “Next”, чтобы продолжить.

В разделе «Тип установки»  (Installation Type) выберите установку на основе ролей сервера или на основе функции виртуальной инфраструктуры и нажмите Next, чтобы продолжить. В нашем случае используем первый вариант.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе «Выбор сервера» (Server selection) убедитесь, что выбран нужный сервер, обычно он выделен по умолчанию и нажмите Next.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе «Роли сервера» (Server Roles) выберите Доменные службы Active Directory (Active Directory Domain Services). После этого вам будет предложено добавить некоторые дополнительные функции. Нажмите кнопку Add Features, а затем нажмите Next, чтобы продолжить.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе «Компоненты» (“Features”) вам не нужно ничего выбирать, просто нажмите Next для продолжения.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

В разделе AD DS отображается некоторая информация о AD DS, просто нажмите Next.

Наконец, в разделе «Подтверждение» (“Confirmation”) нажмите кнопку Install, чтобы перейти к установке роли.

Создание самоподписанного SSL-сертификата для Nginx в Ubuntu 16.04 | 8HOST.COM

Шаг #2: создание новой директории

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

sudo mkdir /etc/apache2/ssl

Шаг #4: установка сертификата

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

nano /etc/apache2/sites-available/default-ssl

Здесь в секции, начинающейся со слов <virtualhost _default_:443=””>, нужно дописать строку с именем сервера (ServerName):

Шаг 1. установка пакета «let’s encrypt»

Процесс установки пакета «Let’s Encrypt» со всеми его зависимостями предельно прост – достаточно ввести команду:

sudo apt install letsencrypt

Итоги

Теперь веб-сайт защищен протоколом SSL, что позволит защитить взаимодействие посетителей с сайтом. Тем не менее, каждый посетитель сайта сначала будет видеть на экране предупреждение браузера «The site’s security is not trusted!».

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

Tags:

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