วิธีเปิดใช้งาน TLS 1.3 ใน Nginx บน FreeBSD 12

TLS 1.3 เป็นรุ่นของ Transport Layer Security (TLS) โปรโตคอลที่ได้รับการตีพิมพ์ในปี 2018 เป็นมาตรฐานที่นำเสนอในRFC 8446 มันมีการปรับปรุงความปลอดภัยและประสิทธิภาพการทำงานมากกว่ารุ่นก่อน

คู่มือนี้จะสาธิตวิธีการเปิดใช้งาน TLS 1.3 โดยใช้เว็บเซิร์ฟเวอร์ Nginx ใน FreeBSD 12

ความต้องการ

  • อินสแตนซ์ Vultr Cloud Compute (VC2) ที่รัน FreeBSD 12
  • ชื่อโดเมนที่ถูกต้องและการกำหนดค่าอย่างถูกต้องA/ AAAA/ CNAMEระเบียน DNS สำหรับโดเมนของคุณ
  • ใบรับรอง 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;
}

บันทึกไฟล์และออกด้วย:+ +WQ

ตอนนี้เราต้องรวม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 เวอร์ชันสุดท้ายถูกกำหนดในเดือนสิงหาคม 2561 ดังนั้นจึงไม่มีเวลาที่ดีกว่าในการเริ่มใช้เทคโนโลยีใหม่นี้



Leave a Comment

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน