Fedora 29のNginxでTLS 1.3を有効にする方法

前書き

TLS 1.3は、RFC 8446で提案された標準として2018年に公開されたトランスポート層セキュリティ(TLS)プロトコルのバージョンです。以前のバージョンよりもセキュリティとパフォーマンスが向上しています。

このガイドでは、Fedora 29のNginx Webサーバーを使用してTLS 1.3を有効にする方法を示します。

必要条件

  • Nginxバージョン1.13.0以上。
  • OpenSSLバージョン1.1.1以降。
  • Fedora 29を実行するVultr Cloud Compute(VC2)インスタンス。
  • ドメインの有効なドメイン名と適切に構成されたA/ AAAA/ CNAMEDNSレコード。
  • 有効なTLS証明書。Let's Encryptから取得します。

あなたが始める前に

Fedoraのバージョンを確認してください。

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

アクセス権をnon-root持つ新しいユーザーアカウントを作成し、sudoそれに切り替えます。

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

注: ユーザー名に置き換えjohndoeてください。

タイムゾーンを設定します。

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

システムが最新であることを確認します。

sudo dnf check-upgrade || sudo dnf upgrade -y

必要なパッケージをインストールします。

sudo dnf install -y socat git

SELinuxとファイアウォールを無効にします。

sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld

Acme.shクライアントをインストールし、Let's EncryptからTLS証明書を取得します

このガイドでは、Acme.shクライアントを使用して、Let's EncryptからSSL証明書を取得します。最も慣れているクライアントを使用できます。

Acme.shをダウンロードしてインストールします

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

バージョンを確認してください。

/etc/letsencrypt/acme.sh --version
# v2.8.1

ドメインのRSAおよびECDSA証明書を取得します。

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

注: コマンドのをドメイン名に置き換えexample.comてください。

上記のコマンドを実行すると、証明書とキーに次の場所からアクセスできます。

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

Nginxをインストールする

Nginxはバージョン1.13.0でTLS 1.3のサポートを追加しました。Fedora 29には、そのままTLS 1.3をサポートするNginxとOpenSSLが付属しているため、カスタムバージョンをビルドする必要はありません。

Nginxをインストールします。

sudo dnf install -y nginx

バージョンを確認してください。

nginx -v
# nginx version: nginx/1.14.2

NginxがコンパイルされたOpenSSLバージョンを確認します。

nginx -V
# built with OpenSSL 1.1.1b FIPS  26 Feb 2019

Nginxを起動して有効にします。

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Nginxを構成する

Nginxが正常にインストールされたので、サーバーでTLS 1.3の使用を開始するための適切な構成で構成する準備が整いました。

sudo vim /etc/nginx/conf.d/example.com.confコマンドを実行し、ファイルに次の構成を入力します。

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

  server_name example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.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

ディレクティブの新しいTLSv1.3パラメーターに注意してくださいssl_protocols。このパラメーターは、NginxでTLS 1.3を有効にする場合にのみ必要です。

構成を確認してください。

sudo nginx -t

Nginxをリロードします。

sudo systemctl reload nginx.service

TLS 1.3を確認するには、ブラウザ開発ツールまたはSSL Labsサービスを使用できます。以下のスクリーンショットは、Chromeのセキュリティタブを示しています。

Fedora 29のNginxでTLS 1.3を有効にする方法

Fedora 29のNginxでTLS 1.3を有効にする方法

それで全部です。Fedora 29サーバーのNginxでTLS 1.3を正常に有効化しました。TLS 1.3の最終バージョンは2018年8月に定義されたため、この新しいテクノロジーの採用を開始する絶好の機会です。



ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、