Захтеви
Пре него што почнете
Инсталирајте ацме.сх клијент и набавите ТЛС сертификат од Лет'с Енцрипт
Инсталирајте Нгинк
Конфигуришите Нгинк
ТЛС 1.3 је верзија протокола Транспорт Лаиер Сецурити (ТЛС) који је објављен 2018. године као предложени стандард у РФЦ 8446 . Нуди побољшања безбедности и перформанси у односу на своје претходнике.
Овај водич ће показати како да омогућите ТЛС 1.3 користећи Нгинк веб сервер на ФрееБСД 12.
Захтеви
- Вултр Цлоуд Цомпуте (ВЦ2) инстанца која покреће ФрееБСД 12.
- Важеће име домена и правилно конфигурисани
A/ AAAA/ CNAMEДНС записи за ваш домен.
- Важећи ТЛС сертификат. Добићемо један од Лет'с Енцрипт.
- Нгинк верзија
1.13.0или новија.
- ОпенССЛ верзија
1.1.1или новија.
Пре него што почнете
Проверите верзију ФрееБСД-а.
uname -ro
# FreeBSD 12.0-RELEASE
Уверите се да је ваш ФрееБСД систем ажуриран.
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.
sudo pkg install -y acme.sh
Проверите верзију.
acme.sh --version
# v2.7.9
Набавите РСА и ЕЦДСА сертификате за свој домен.
# 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
Инсталирајте Нгинк
Нгинк је додао подршку за ТЛС 1.3 у верзији 1.13.0. ФрееБСД 12 систем долази са Нгинк-ом и ОпенССЛ-ом који подржавају ТЛС 1.3 из кутије, тако да нема потребе за прављењем прилагођене верзије.
Преузмите и инсталирајте најновију главну верзију Нгинк-а преко pkgменаџера пакета.
sudo pkg install -y nginx-devel
Проверите верзију.
nginx -v
# nginx version: nginx/1.15.8
Проверите верзију ОпенССЛ-а према којој је Нгинк компајлиран.
nginx -V
# built with OpenSSL 1.1.1a-freebsd 20 Nov 2018
Покрените и омогућите Нгинк.
sudo sysrc nginx_enable=yes
sudo service nginx start
Сада када смо успешно инсталирали Нгинк, спремни смо да га конфигуришемо са одговарајућом конфигурацијом да почнемо да користимо ТЛС 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директиве. Овај параметар је неопходан само да бисте омогућили ТЛС 1.3 на Нгинк серверу.
Проверите конфигурацију.
sudo nginx -t
Поново учитај Нгинк.
sudo service nginx reload
Да бисте верификовали ТЛС 1.3, можете да користите алатке за развој претраживача или ССЛ Лабс услугу. Снимци екрана испод показују Цхроме-ову безбедносну картицу.

![Како омогућити ТЛС 1.3 у Нгинк-у на ФрееБСД 12 Како омогућити ТЛС 1.3 у Нгинк-у на ФрееБСД 12]()
Успешно сте омогућили ТЛС 1.3 у Нгинк-у на вашем ФрееБСД серверу. Коначна верзија ТЛС-а 1.3 дефинисана је у августу 2018. године, тако да нема бољег времена за почетак усвајања ове нове технологије.