- Что означает красный цвет
- Настройка маршрутов на основе политик
- 1: создание ssl-сертификата
- 2: настройка apache для поддержки ssl
- 3: настройка брандмауэра
- 4: обновление настроек apache
- 5: тестирование
- 6: постоянный редирект
- Автоматическая настройка netplan
- Как создать учетную запись пользователя
- Как удалить учетную запись пользователя
- Маршрутизация для несколько сетевых интерфейсов
- Местонахождение ключа и сертификата
- Настройка
- Настройка source based routing
- Настройка стандартного виртуального хоста apache
- Немного о ssl-сертификатах
- Отключение networkmanager
- Отключение автонастройки netplan
- Параметры сетевых интерфейсов
- Повышение сервера до контроллера домена
- Создание учетной записи пользователя с помощью windows powershell
- Удаление учетной записи пользователя с помощью windows powershell
- Установка роли active directory domain services
- Шаг #1: активация модуля ssl
- Шаг #2: создание новой директории
- Шаг #5: активация нового виртуального хоста
- Шаг 1 — установить необходимые программы зависимости для сервера
- Шаг 2 — установка клиента let’s encrypt
- Шаг 3 — получение и установка ssl сертификата
- Шаг 4 — установка автообновления
- Заключение
Что означает красный цвет
В этом руководстве мы будем выделять красным цветом те места, в которых пользователю нужно будет ввести какие-либо данные или внести какие-то изменения. В остальном, предложенные команды можно просто скопировать и вставить в командную строку терминала.
Настройка маршрутов на основе политик
В основе маршрутизации на основе политик лежат таблицы. Для каждой таблицы настраиваются свои маршруты и политики. Проверим наличие в системе пакета 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-сертификата
Для работы TLS/SSL использует комбинацию открытого сертификата и закрытого ключа. Закрытый ключ хранится на сервере и не разглашается. SSL-сертификат используется открыто и доступен всем пользователям, запрашивающим контент.
Чтобы создать самоподписанный сертификат и ключ, запустите команду:sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
Команда задаст ряд вопросов. Рассмотрим компоненты команды подробнее:
- openssl: базовый инструмент командной строки для создания и управления сертификатами, ключами и другими файлами OpenSSL.
- req: эта подкоманда указывает, что на данном этапе нужно использовать запрос на подпись сертификата X.509 (CSR). X.509 – это стандарт инфраструктуры открытого ключа, которого придерживаются SSL и TLS при управлении ключами и сертификатами. То есть, данная команда позволяет создать новый сертификат X.509.
- -x509: эта опция вносит поправку в предыдущую субкоманду, сообщая утилите о том, что вместо запроса на подписание сертификата необходимо создать самоподписанный сертификат.
- -nodes: пропускает опцию защиты сертификата парольной фразой. Нужно, чтобы при запуске сервер Apache имел возможность читать файл без вмешательства пользователя. Установив пароль, придется вводить его после каждой перезагрузки.
- -days 365: эта опция устанавливает срок действия сертификата (как видите, в данном случае сертификат действителен в течение года).
- -newkey rsa:2048: эта опция позволяет одновременно создать новый сертификат и новый ключ. Поскольку ключ, необходимый для подписания сертификата, не был создан ранее, нужно создать его вместе с сертификатом. Данная опция создаст ключ RSA на 2048 бит.
- -keyout: эта опция сообщает OpenSSL, куда поместить сгенерированный файл ключа.
- -out: сообщает OpenSSL, куда поместить созданный сертификат.
Как уже было сказано, все эти опции сгенерируют ключ и сертификат. Заполните появившиеся поля данными о сервере, которые будут отображаться в сертификате.
Самой важной строкой является Common Name (введите полное доменное имя сервера (FQDN) или свое имя). Как правило, в эту строку вносят доменное имя, с которым нужно связать сервер. В случае если доменного имени нет, внесите в эту строку IP-адрес сервера. В целом эти поля выглядят примерно так:
2: настройка apache для поддержки ssl
Итак, на данном этапе файлы ключа и сертификата созданы и хранятся в каталоге /etc/ssl. Теперь нужно отредактировать настройки Apache:
- Создать сниппет конфигураций, указывающий место хранения файлов SSL-сертификата и ключа.
- Настроить виртуальный хост Apache для поддержки сертификата SSL.
- Настроить незашифрованные виртуальные хосты для автоматической переадресации запросов на зашифрованный хост (опционально).
3: настройка брандмауэра
Если вы включили брандмауэр ufw (согласно руководству по начальной настройке), на данном этапе его нужно настроить для поддержки трафика SSL. К счастью, при установке Apache регистрирует в ufw несколько своих профилей.
Чтобы просмотреть доступные профили, введите:
sudo ufw app listAvailable applications:ApacheApache FullApache SecureOpenSSH
Текущие настройки можно просмотреть при помощи команды:
sudo ufw status
4: обновление настроек apache
Итак, теперь настройки веб-сервера и брандмауэра откорректированы. Можно включить SSL и настроенный для поддержки сертификата виртуальный хост, а затем перезапустить веб-сервер.
Включите модуль Apache для SSL, mod_ssl, и модуль mod_headers, который необходим для работы сниппета SSL:
sudo a2enmod sslsudo a2enmod headers
Включите подготовленный виртуальный хост:
sudo a2ensite default-ssl
Итак, теперь сайт и все необходимые модули включены. Проверьте синтаксис на наличие ошибок:
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: тестирование
Теперь нужно убедиться, что трафик между сервером и клиентом шифруется. Откройте в браузере следующую ссылку:
6: постоянный редирект
Если все настройки сервера работают должным образом, настройте постоянный редирект вместо временного.
Откройте файл виртуального хоста Apache:
sudo nano /etc/apache2/sites-available/000-default.conf
Найдите ранее добавленную директиву Redirect и установите значение permanent.
Автоматическая настройка 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После завершения редактирования конфигурации, убедимся в ее корректности:
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. Этот сайт предназначен для распространения простых и надёжных параметров шифрования для популярного программного обеспечения. Больше параметров для Apache можно найти здесь.
Примечание: Данный список настроек подходит для более новых клиентов. Чтобы получить настройки для других клиентов, перейдите по ссылке Yes, give me a ciphersuite that works with legacy / old software.
Скопируйте все предложенные параметры.
Также нужно добавить параметр SSLOpenSSLConfCmd DHParameters, чтобы настроить поддержку ключей Диффи-Хеллмана.
Настройка
Для того, чтобы сгенерировать сертификат, вам необходимо обладать root-правами на вашем сервере (в системе 1cloud такие права пользователи получают по-умолчанию). Кроме того, необходимо установить веб-сервер Apache (о том, как это сделать написано в нашей статье «Как установить LAMP-стек (Linux, Apache, MySqL, PHP) на сервере с Ubuntu»).
Если Apache еще не установлен на сервере, это можно сделать с помощью специальной команды:
sudo apt-get install apache2
Настройка 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
Настройка стандартного виртуального хоста apache
Теперь нужно настроить стандартный виртуальный хост Apache (/etc/apache2/sites-available/default-ssl.conf) для поддержки SSL.
Примечание: Если вы используете другой виртуальный хост, укажите его имя вместо /etc/apache2/sites-available/default-ssl.conf.
Прежде чем приступить к настройке, создайте резервную копию файла хоста.
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
Откройте хост в текстовом редакторе:
sudo nano /etc/apache2/sites-available/default-ssl.conf
На данный момент файл виртуального хоста выглядит примерно так (закомментированные строки опущены для удобства):
Немного о 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 для второго, третьего и т.д. интерфейсов не указывается, т.к. это шлюз по умолчанию и должен быть только один.
Повышение сервера до контроллера домена
После завершения установки роли, если вы не закроете окно, вам будет предложено повысить сервер до контроллера домена (DC). Ссылка будет выделена синим текстом.

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

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

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

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

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

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

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

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

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

Создание учетной записи пользователя с помощью windows powershell
Запустите следующий код PowerShell с правами администратора:
Удаление учетной записи пользователя с помощью windows powershell
Используйте следующий PowerShell код для удаления пользователя из AD, синтаксис для примера использован такой же, как и в примере выше:
Установка роли active directory domain services
Прежде чем приступить к выполнению этого шага, необходимо настроить на сервере статический IP-адрес, а также изменить имя Windows Server в соответствии со стандартами именования вашей компании. После того как сделаете это, приступайте к установке ADDS.
Откройте управление сервером (Server Manager), нажмите Управление (Manage), а затем «Добавить роли и компоненты» (Add Roles and Features).

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

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

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

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

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

Шаг #1: активация модуля ssl
Затем нужно активировать модуль SSL на сервере:
sudo a2enmod ssl
И перезапустить Apache, чтобы изменения вступили в силу:
sudo service apache2 restart
Шаг #2: создание новой директории
Нужно создать новую директорию (то есть папку), где будут хранится ключ сервера и сам сертификат:
sudo mkdir /etc/apache2/ssl
Шаг #5: активация нового виртуального хоста
Прежде чем активировать сайт на 443 порте, нужно включить соответствующий виртуальный хост:
sudo a2ensite default-ssl
После этого нужно перезагрузить Apache:
sudo service apache2 reload
Шаг 1 — установить необходимые программы зависимости для сервера
Обновим кэш менеджера пакетов, чтобы получить последние версии програмного обеспечения
Шаг 2 — установка клиента let’s encrypt
Скачаем клиент Let’s Encrypt из официального репозитория и разместим его файлы на сервере.Клонируем репозиторий Let’s Encrypt в папку /opt, которая является стандартной папкой для размещения в Linux программ сторонних производителей:
Это создаст локальную копию официального репозитория Let’s Encrypt в папке /opt/letsencrypt.
Шаг 3 — получение и установка ssl сертификата
Получение и установка SSL сертификата с помощью Let’s Encrypt довольно простая. Клиент Let’s Encrypt делает все автоматически и устанавливает новый SSL сертификат ,который валиден для доменов, указанных в качестве параметров.Перейдем с папку letsencrypt:
Шаг 4 — установка автообновления
Сертификаты Let’s Encrypt действительны на протяжении 90 дней. Однако рекомендуется обновлять их каждые 60 дней, чтобы не пропустить срок. У клиента Let’s Encrypt есть команда, которая позволяет обносить сертификат, если до истечения срока его валидности меньше 30 дней. Это позволяет сделать команда:
Есть запустить эту программу сразу, после установки сертификата, то она толкьо проинформирует, что пока нет необходимости обновлять сертификат:
Чтобы обеспечить автоматическое обновление сертификатов, воспользуемся командой cron. Сертификаты будут проверяться и обновляться только если будет менее 30 дней до даты истечения их валидности.Отредактируем crontab и создадим новое задание, которео будет запускать программу проверки и обновления сертификатов каждую неделю:
Включите следующую строку:30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/letsencrypt-renew.logСохраните и выйдите из редактирования файла. Эта создаст новую задачу cron, которая будет автоматически запускать letsencrypt-auto каждый понедельник в 2:30. Результат будет выводиться в лог файл по адресу /var/log/ letsencrypt-renew.log.
Заключение
Теперь сервер Apache может шифровать передаваемые данные, что защитит взаимодействие сервера с клиентами и предотвратит перехват трафика злоумышленниками.
Конечно, при разработке сайта рекомендуется подписать SSL-сертификат в надежном центре сертификации, что позволит избежать появления отпугивающих предупреждений.
Tags:
