Как включить TLS 1.3 в Apache и Nginx на Ubuntu и CentOS

Источник: «How to Enable TLS 1.3 in Apache and Nginx on Ubuntu and CentOS»
Веб-мастерам и администраторам серверов крайне важно быть в курсе новейших протоколов и технологий. Одной из таких технологий является Transport Layer Security (сокращённо — TLS) 1.3 — последняя версия протокола, обеспечивающего безопасное взаимодействие в компьютерной сети.

TLS 1.3 имеет ряд улучшений по сравнению со своим предшественником TLS 1.2, включая повышенную безопасность и более быстрое время соединения. Однако его включение требует тщательной настройки веб-сервера. Если вы используете Apache или Nginx, то в этом руководстве мы пошагово рассмотрим процесс включения TLS 1.3 в Apache и Nginx на двух популярных дистрибутивах Linux (Ubuntu и CentOS).

Прежде чем перейдём к рассмотрению данного руководства, необходимо отметить, что оно предполагает, что вы обладаете базовым пониманием интерфейса командной строки Linux и знакомы с администрированием веб-серверов. Кроме того, на вашем сервере Ubuntu или CentOS уже должны быть установлены Apache или Nginx.

Помните, что тип выбранного хостинга также может повлиять на производительность сервера. Будь то выделенный сервер, VPS-сервер, облачный или виртуальный хостинг, каждый из них имеет свои преимущества и особенности.

Теперь давайте приступим к включению TLS 1.3 на вашем сервере Apache или Nginx.

Включение TLS 1.3 в Apache на Ubuntu

Прежде чем приступить к работе, необходимо убедиться в том, что программное обеспечение вашего сервера обновлено. Поддержка TLS 1.3 была добавлена в Apache 2.4.36 и OpenSSL 1.1.1, поэтому вам необходимо использовать эти или более поздние версии.

Шаг 1: Обновление системы

Во-первых, войдите на сервер Ubuntu и обновите системные пакеты. Это можно сделать, выполнив следующие команды:

sudo apt-get update
sudo apt-get upgrade

Шаг 2: Проверка версии Apache и OpenSSL

Далее проверьте версии Apache и OpenSSL на предмет поддержки TLS 1.3. Выполните следующие команды:

apachectl -v
openssl version

Если версия Apache ниже 2.4.36 или версия OpenSSL ниже 1.1.1, то их необходимо обновить.

Шаг 3: Обновление Apache и OpenSSL (при необходимости)

Если необходимо обновить Apache, выполните команду:

sudo apt-get install apache2

Чтобы обновить OpenSSL, выполните команду:

sudo apt-get install openssl

Шаг 4: Настройка Apache на использование TLS 1.3

После того как вы убедились, что ваши версии Apache и OpenSSL поддерживают TLS 1.3, необходимо настроить Apache на его использование. Откройте файл конфигурации Apache в текстовом редакторе. Расположение этого файла может зависеть от вашей конфигурации, но обычно он находится по адресу /etc/apache2/apache2.conf. Вы можете открыть его с помощью текстового редактора nano следующим образом:

sudo nano /etc/apache2/apache2.conf

В конфигурационном файле найдите раздел, начинающийся с <VirtualHost *:443>. В этой секции добавьте или измените строку SSLProtocol, включив в неё TLSv1.3:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3

Эта строка указывает Apache использовать все протоколы, кроме SSLv2, SSLv3, TLSv1 и TLSv1.1, а также специально использовать TLSv1.2 и TLSv1.3.

После завершения работы сохраните и закройте файл.

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

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

sudo systemctl restart apache2

Поздравляем! Вы успешно включили TLS 1.3 в Apache на Ubuntu.

Включение TLS 1.3 в Apache на CentOS

Процесс включения TLS 1.3 в Apache на CentOS аналогичен Ubuntu, но с некоторыми отличиями, обусловленными различиями в системах управления пакетами и конфигурациях по умолчанию.

Шаг 1: Обновление системы

Как и в случае с Ubuntu, первым шагом является обновление системных пакетов. В CentOS это можно сделать с помощью следующих команд:

sudo yum update
sudo yum upgrade

Шаг 2: Проверка версии Apache и OpenSSL

Далее проверьте версии Apache и OpenSSL на предмет поддержки TLS 1.3. Выполните следующие команды:

httpd -v
openssl version

Если версия Apache ниже 2.4.36 или версия OpenSSL ниже 1.1.1, то их необходимо обновить.

Шаг 3: Обновление Apache и OpenSSL (при необходимости)

Если необходимо обновить Apache, выполните команду:

sudo yum install httpd

Чтобы обновить OpenSSL, выполните команду:

sudo yum install openssl

Шаг 4: Настройка Apache на использование TLS 1.3

После того как вы убедились, что ваши версии Apache и OpenSSL поддерживают TLS 1.3, необходимо настроить Apache на его использование. Откройте файл конфигурации Apache в текстовом редакторе. Расположение этого файла может зависеть от вашей конфигурации, но обычно он находится по адресу /etc/httpd/conf/httpd.conf. Вы можете открыть его с помощью текстового редактора nano следующим образом:

sudo nano /etc/httpd/conf/httpd.conf

В конфигурационном файле найдите раздел, начинающийся с <VirtualHost *:443>. В этой секции добавьте или измените строку SSLProtocol, включив в неё TLSv1.3:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3

Эта строка указывает Apache использовать все протоколы, кроме SSLv2, SSLv3, TLSv1 и TLSv1.1, а также специально использовать TLSv1.2 и TLSv1.3.

Сохраните и закройте файл после завершения работы.

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

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

sudo systemctl restart httpd

Поздравляем! Вы успешно включили TLS 1.3 в Apache на CentOS.

Включение TLS 1.3 в Nginx на Ubuntu

Теперь, когда мы рассмотрели Apache, перейдём к включению TLS 1.3 в Nginx. Начнём с Ubuntu.

Шаг 1: Обновление системы

Как обычно, начните с обновления системных пакетов. На Ubuntu это можно сделать с помощью следующих команд:

sudo apt-get update
sudo apt-get upgrade

Шаг 2: Проверка версии Nginx и OpenSSL

Далее проверьте версии Nginx и OpenSSL на предмет поддержки TLS 1.3. Выполните следующие команды:

nginx -v
openssl version

Если версия Nginx ниже 1.13.0 или версия OpenSSL ниже 1.1.1, то их необходимо обновить.

Шаг 3: Обновление Nginx и OpenSSL (при необходимости)

Если необходимо обновить Nginx, выполните команду:

sudo apt-get install nginx

Чтобы обновить OpenSSL, выполните команду:

sudo apt-get install openssl

Шаг 4: Настройка Nginx на использование TLS 1.3

Убедившись, что версии Nginx и OpenSSL поддерживают TLS 1.3, необходимо настроить Nginx на его использование. Откройте файл конфигурации Nginx в текстовом редакторе. Расположение этого файла может зависеть от вашей конфигурации, но обычно он находится по адресу /etc/nginx/nginx.conf. Вы можете открыть его с помощью текстового редактора nano следующим образом:

sudo nano /etc/nginx/nginx.conf

В конфигурационном файле найдите раздел, начинающийся с server { и включающий listen 443 ssl;. В этой секции добавьте или измените строку ssl_protocols, включив в неё TLSv1.3:

ssl_protocols TLSv1.2 TLSv1.3;

Эта строка указывает Nginx использовать TLSv1.2 и TLSv1.3.

После завершения работы сохраните и закройте файл.

Шаг 5: Перезапуск Nginx

Наконец, необходимо перезапустить Nginx, чтобы изменения вступили в силу. Это можно сделать с помощью следующей команды:

sudo systemctl restart nginx

Поздравляем! Вы успешно включили TLS 1.3 в Nginx на Ubuntu.

Включение TLS 1.3 в Nginx на CentOS

Наконец, рассмотрим, как включить TLS 1.3 в Nginx на CentOS.

Шаг 1: Обновление системы

Начните с обновления системных пакетов. В CentOS это можно сделать с помощью следующих команд:

sudo yum update
sudo yum upgrade

Шаг 2: Проверка версии Nginx и OpenSSL

Далее проверьте версии Nginx и OpenSSL на предмет поддержки TLS 1.3. Выполните следующие команды:

nginx -v
openssl version

Если версия Nginx ниже 1.13.0 или версия OpenSSL ниже 1.1.1, то их необходимо обновить.

Шаг 3: Обновление Nginx и OpenSSL (при необходимости)

Если необходимо обновить Nginx, выполните команду:

sudo yum install nginx

Чтобы обновить OpenSSL, выполните команду:

sudo yum install openssl

Шаг 4: Настройка Nginx на использование TLS 1.3

Убедившись, что версии Nginx и OpenSSL поддерживают TLS 1.3, необходимо настроить Nginx на его использование. Откройте файл конфигурации Nginx в текстовом редакторе. Расположение этого файла может зависеть от вашей конфигурации, но обычно он находится по адресу /etc/nginx/nginx.conf. Вы можете открыть его с помощью текстового редактора nano следующим образом:

sudo nano /etc/nginx/nginx.conf

В конфигурационном файле найдите раздел, начинающийся с server { и включающий listen 443 ssl;. В этой секции добавьте или измените строку ssl_protocols, включив в неё TLSv1.3:

ssl_protocols TLSv1.2 TLSv1.3;

Эта строка указывает Nginx использовать TLSv1.2 и TLSv1.3.

Сохраните и закройте файл после завершения работы.

Шаг 5: Перезапуск Nginx

Наконец, необходимо перезапустить Nginx, чтобы изменения вступили в силу. Это можно сделать с помощью следующей команды:

sudo systemctl restart nginx

Поздравляем! Вы успешно включили TLS 1.3 в Nginx на CentOS.

Упомянутые команды

На протяжении всего руководства мы использовали несколько команд для обновления системных пакетов, проверки и обновления версий Apache, Nginx и OpenSSL, а также для настройки и перезапуска веб-серверов. Ниже приведено краткое описание каждой команды:

Вопросы и ответы

  1. Что такое TLS 1.3 и почему он важен?

    TLS 1.3 — это последняя версия протокола Transport Layer Security (TLS), обеспечивающего безопасную передачу данных по компьютерной сети. По сравнению с предыдущей версией он обладает рядом усовершенствований, в том числе повышенной безопасностью и более быстрым временем соединения. Включение TLS 1.3 на веб-сервере позволяет защитить его от некоторых видов атак и повысить производительность сайта.

  2. Как проверить, включён ли TLS 1.3 на моем сервере?

    Чтобы проверить, включён ли на вашем сервере протокол TLS 1.3, можно воспользоваться онлайновой программой проверки TLS, например, предоставляемой компанией SSL Labs. Достаточно ввести URL-адрес своего сайта, и программа предоставит подробный отчёт о конфигурации SSL/TLS на сервере, включая поддерживаемые версии протокола.

  3. Какие версии Apache и Nginx поддерживают TLS 1.3?

    Поддержка TLS 1.3 была добавлена в Apache 2.4.36 и Nginx 1.13.0. Для включения TLS 1.3 необходимо использовать эти версии или более поздние. Кроме того, необходимо использовать OpenSSL 1.1.1 или более позднюю версию, поскольку именно в этой версии OpenSSL добавлена поддержка TLS 1.3.

  4. Я выполнил все шаги, но TLS 1.3 по-прежнему не работает. Что мне делать?

    Прежде всего, проверьте правильность выполнения всех шагов и наличие необходимых версий Apache/Nginx и OpenSSL. Если все в порядке, то проблема может заключаться в брандмауэре сервера или в хостинг-провайдере. Обратитесь за помощью в службу поддержки хостинг-провайдера.

  5. Может ли включение TLS 1.3 улучшить SEO моего сайта?

    Да, включение TLS 1.3 может потенциально улучшить SEO вашего сайта. Компания Google отметила, что HTTPS (поддержка TLS) является сигналом ранжирования. Кроме того, поскольку TLS 1.3 позволяет ускорить загрузку сайта, это может способствовать повышению удобства работы пользователей и снижению числа отказов, что также может положительно сказаться на SEO.

Заключение

В этом подробном руководстве мы рассмотрели процесс включения TLS 1.3 в Apache и Nginx на Ubuntu и CentOS. Выполнив эти шаги, вы сможете убедиться, что ваш веб-сервер использует самую последнюю и наиболее безопасную версию протокола TLS, что повысит безопасность и производительность вашего сайта.

Помните, что поддержание безопасной и эффективной работы веб-сервера требует постоянных усилий. Важно регулярно обновлять программное обеспечение сервера и быть в курсе последних протоколов и технологий безопасности. Независимо от того, используете ли вы Apache, Nginx или другой веб-сервер, размещаете ли вы свой сервер на выделенном сервере, VPS-сервере, облачном или виртуальном хостинге, поддержание программного обеспечения сервера в актуальном состоянии является одним из наиболее эффективных способов защиты от угроз безопасности.

Мы надеемся, что данное руководство оказалось полезным. Если у вас возникнут дополнительные вопросы, обращайтесь к нам.

Счастливого хостинга!

Дополнительные материалы

Предыдущая Статья

Понимание module.exports и exports в Node.js

Следующая Статья

Лучшие веб-сервера в 2023 году