🔑 Как обезопасить Nginx с помощью Let’s Encrypt на CentOS 8 |

🔑 Как обезопасить Nginx с помощью Let’s Encrypt на CentOS 8

Мануал

Let’s Encrypt был основан в апреле 2016 года Фондом электронной границы (EFF).

Это бесплатный автоматизированный цифровой сертификат, который обеспечивает шифрование TLS для веб-сайтов абсолютно бесплатно.

Целью сертификата Let Encrypt является автоматизация проверки, создания, подписания, а также автоматического обновления сертификата безопасности.

Этот сертификат позволяет производить зашифрованные подключения к веб-серверам с использованием протокола HTTPS простым и удобным способом без каких-либо сложностей.

Сертификат действителен только в течение 90 дней, после чего может быть активировано автообновление.

В этой статье мы покажем, как вы можете установить Let’s Encrypt для получения бесплатного SSL-сертификата для защиты веб-сервера Nginx в CentOS 8 (те же инструкции работают и в RHEL 8).

Мы также объясним вам, как автоматически обновить ваш сертификат SSL.

Зависимости

Прежде чем мы продолжим, убедитесь, что у вас есть следующее:
1. Полное доменное имя (FQDN), указывающее на выделенный IP-адрес веб-сервера.
Это необходимо настроить в клиентской области вашего провайдера веб-хостинга DNS.
Для этого урока мы используем имя домена linuxtechwhiz, которое указывает на IP-адрес 34.70.245.117.
2. Вы также можете подтвердить это, выполнив прямой запрос с помощью команды dig, как показано на рисунке.
$ dig linuxtechwhiz.info
3. Nginx установлен и работает на веб-сервере.
Вы можете подтвердить это, войдя в терминал и выполнив команду, показанную ниже.
$ sudo systemctl status nginx
4. Вы также можете проверить, посетив URL веб-сервера в веб-браузере.
http://server-IP-or-hostname

Из URL мы можем ясно видеть, что сайт не защищен и, следовательно, не зашифрован.
Это подразумевает, что любые запросы к веб-серверу могут быть перехвачены, что включает в себя важную и конфиденциальную информацию, такую как имена пользователей, пароли, номера социального страхования и данные кредитной карты.
Теперь давайте запачкаем руки и установим Lets Encrypt.

Шаг 1. Установите Certbot на CentOS 8

 Для установки сертификата Let Encrypt вам прежде всего необходимо установить certbot.
Это расширяемый клиент, который получает сертификат безопасности от Let Encrypt Authority и позволяет автоматизировать проверку и настройку сертификата для использования веб-сервером.
Загрузите certbot с помощью команды curl.
$ sudo curl -O https://dl.eff.org/certbot-auto
Затем переместите его в каталог /usr/local/bin
$ sudo mv certbot-auto /usr/local/bin/certbot-auto

Затем назначьте права файлу certbot, как показано далее:

$ chmod 0755 /usr/local/bin/certbot-auto

Шаг 2. Настройте блок Nginx

Сервер блок в Nginx является эквивалентом виртуального хоста в Apache.

Настройка сервер блоков позволяет не только настроить несколько веб-сайтов на одном сервере, но и позволяет certbot подтвердить право собственности на домен для центра сертификации – CA.

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

$ sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info
Обязательно замените доменное имя своим собственным.
Затем вставьте конфигурацию:
server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}
Сохраните файл и выйдите из текстового редактора.

Шаг 3. Установите сертификат Lets Encrypt на CentOS 8

Теперь используйте команду certbot, чтобы инициализировать выборку и настройку сертификата безопасности Let Encrypt.

$ sudo /usr/local/bin/certbot-auto --nginx

Эта команда запустит и установит несколько пакетов Python и их зависимости.

После этого последует интерактивная подсказка, как показано:

Если все прошло хорошо, вы сможете увидеть поздравительное сообщение в самом конце.
Чтобы убедиться, что ваш сайт Nginx теперь защищен, перезагрузите веб-страницу и просмотрите символ замка в начале URL-адреса.
Это означает, что сайт защищен с использованием шифрования SSL / TLS.

Шаг 4. Обновление сертификата Let’s Encrypt

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

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

$ sudo /usr/local/bin/certbot-auto renew --dry-run

Заключение

Этим завершаетс яэтот урок по защите Nginx с помощью Let Encrypt на CentOS 8.

Let Encrypt предлагает эффективный и простой способ защиты вашего веб-сервера Nginx, который в противном случае был бы сложным делом, которое можно было бы выполнить вручную.

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

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. vit

    certbot-auto –nginx корректно работает если убрать русские комментарии из nginx .conf файлов

    Ответить
    1. cryptoparty автор

      Спасибо за дополнение

      Ответить