Как да активирате TLS 1.3 в Nginx на FreeBSD 12

TLS 1.3 е версия на протокола за сигурност на транспортния слой (TLS), който беше публикуван през 2018 г. като предложен стандарт в RFC 8446 . Той предлага подобрения в сигурността и производителността спрямо своите предшественици.

Това ръководство ще демонстрира как да активирате TLS 1.3 с помощта на уеб сървъра на Nginx на FreeBSD 12.

Изисквания

  • Vultr Cloud Compute (VC2) екземпляр, работещ с FreeBSD 12.
  • Валидно име на домейн и конфигурирани правилно A/ AAAA/ CNAMEDNS записите за домейна.
  • Валиден TLS сертификат. Ще получим такъв от Let's Encrypt.
  • Версия на Nginx 1.13.0или по- нова .
  • OpenSSL версия 1.1.1или по- нова .

Преди да започнеш

Проверете версията на FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE

Уверете се, че вашата FreeBSD система е актуална.

freebsd-update fetch install
pkg update && pkg upgrade -y

Инсталирайте необходимите пакети, ако те не присъстват във вашата система.

pkg install -y sudo vim unzip wget bash socat git

Създайте нов потребителски акаунт с предпочитаното от вас потребителско име (ние ще използваме johndoe).

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Изпълнете visudoкомандата и разкоментирайте %wheel ALL=(ALL) ALLреда, за да позволите на членовете на wheelгрупата да изпълнят всяка команда.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Сега превключете към новосъздадения си потребител с su.

su - johndoe

ЗАБЕЛЕЖКА: Заменете johndoeс вашето потребителско име.

Настройте часовата зона.

sudo tzsetup

Инсталирайте клиента acme.sh и получете TLS сертификат от Let's Encrypt

Инсталирайте acme.sh.

sudo pkg install -y acme.sh

Проверете версията.

acme.sh --version
# v2.7.9

Вземете RSA и ECDSA сертификати за вашия домейн.

# RSA
sudo acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength 2048
# ECC/ECDSA
sudo acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength ec-256

ЗАБЕЛЕЖКА: Заменете example.comв командите с името на вашия домейн.

Създайте директории за съхранение на вашите сертификати и ключове. Ще използваме /etc/letsencrypt.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Инсталирайте и копирайте сертификати в /etc/letsencryptдиректория.

# RSA
sudo acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem 
# ECC/ECDSA
sudo acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem

След като изпълните горните команди, вашите сертификати и ключове ще бъдат на следните места:

  • RSA: /etc/letsencrypt/example.com
  • ECC/ECDSA: /etc/letsencrypt/example.com_ecc

Инсталирайте Nginx

Nginx добави поддръжка за TLS 1.3 във версия 1.13.0. Системата FreeBSD 12 идва с Nginx и OpenSSL, които поддържат TLS 1.3 от кутията, така че няма нужда да създавате персонализирана версия.

Изтеглете и инсталирайте най-новата основна версия на Nginx чрез pkgмениджъра на пакети.

sudo pkg install -y nginx-devel

Проверете версията.

nginx -v
# nginx version: nginx/1.15.8

Проверете версията на OpenSSL, срещу която е компилиран Nginx.

nginx -V
# built with OpenSSL 1.1.1a-freebsd  20 Nov 2018

Стартирайте и активирайте Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Конфигурирайте Nginx

След като успешно инсталирахме Nginx, ние сме готови да го конфигурираме с правилната конфигурация, за да започнем да използваме TLS 1.3 на нашия сървър.

Изпълнете sudo vim /usr/local/etc/nginx/example.com.confкомандата и попълнете файла със следната конфигурация.

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
  ssl_prefer_server_ciphers on;
}

Запазете файла и излезте с :+ W+ Q.

Сега трябва да включим example.com.confв основния nginx.confфайл.

Изпълнете sudo vim /usr/local/etc/nginx/nginx.confи добавете следния ред към http {}блока.

include example.com.conf;

Обърнете внимание на новия TLSv1.3параметър на ssl_protocolsдирективата. Този параметър е необходим само за активиране на TLS 1.3 на сървъра на Nginx.

Проверете конфигурацията.

sudo nginx -t

Презаредете Nginx.

sudo service nginx reload

За да потвърдите TLS 1.3, можете да използвате инструменти за разработка на браузъра или услугата SSL Labs. Екранните снимки по-долу показват раздела за сигурност на Chrome.

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Успешно активирахте TLS 1.3 в Nginx на вашия FreeBSD сървър. Окончателната версия на TLS 1.3 беше дефинирана през август 2018 г., така че няма по-добър момент да започнете да приемате тази нова технология.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече