FreeBSD 12のNginxでTLS 1.3を有効にする方法

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

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

必要条件

  • FreeBSD 12を実行するVultr Cloud Compute(VC2)インスタンス。
  • ドメインの有効なドメイン名と適切に構成された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クライアントをインストールし、Let's EncryptからTLS証明書を取得します

をインストールします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はバージョン1.13.0でTLS 1.3のサポートを追加しました。FreeBSD 12システムには、TLS 1.3をサポートするNginxとOpenSSLが標準で付属しているため、カスタムバージョンをビルドする必要はありません。

pkgパッケージマネージャーを使用して、Nginxの最新のメインラインバージョンをダウンロードしてインストールします。

sudo pkg install -y nginx-devel

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

nginx -v
# nginx version: nginx/1.15.8

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

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。このパラメーターは、NginxサーバーでTLS 1.3を有効にする場合にのみ必要です。

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

sudo nginx -t

Nginxをリロードします。

sudo service nginx reload

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

FreeBSD 12のNginxでTLS 1.3を有効にする方法

FreeBSD 12のNginxでTLS 1.3を有効にする方法

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



Leave a Comment

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

FreeBSD 12にNeos CMSをインストールする方法

FreeBSD 12にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

完全なディスク暗号化でOpenBSD 5.6をセットアップする

完全なディスク暗号化でOpenBSD 5.6をセットアップする

このチュートリアルでは、Vultr VPSで完全に暗号化されたディスクを使用してOpenBSD 5.6を設定する方法を示します。暗号化の部分に関する注意:周りのほとんどのデータセンター

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

OpenBSD 6.2にWordPressをインストールする

OpenBSD 6.2にWordPressをインストールする

はじめにWordPressは、インターネット上の主要なコンテンツ管理システムです。ブログから動的コンテンツを備えた複雑なWebサイトまで、あらゆるものを強化します

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re

X-Cart 5をFreeBSD 12にインストールする方法

X-Cart 5をFreeBSD 12にインストールする方法

別のシステムを使用していますか?X-Cartは、数多くの機能と統合を備えた非常に柔軟なオープンソースのeコマースプラットフォームです。X-Cartのソースコードはホストです

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

別のシステムを使用していますか?Omeka Classic 2.4 CMSは、デジタルを共有するための無料のオープンソースのデジタル出版プラットフォームおよびコンテンツ管理システム(CMS)です。

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

別のシステムを使用していますか?Directus 6.4 CMSは、強力で柔軟な無料のオープンソースヘッドレスコンテンツ管理システム(CMS)であり、開発者に提供します。

FreeBSD 11にPyroCMSをインストールする方法

FreeBSD 11にPyroCMSをインストールする方法

別のシステムを使用していますか?PyroCMSは、PHPで記述されたオープンソースのCMSです。PyroCMSソースコードはGitHubでホストされています。このガイドでは、entirをよく歩いてください

FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

はじめにLinuxのLAMPスタックに相当するFAMPスタックは、通常一緒にインストールされるオープンソースソフトウェアのコレクションです。

FreeBSD 11で独自のメールサーバーを構築する

FreeBSD 11で独自のメールサーバーを構築する

独自の電子メールサーバーを実行することは、かなりやりがいがあります。あなたはあなたのデータを担当しています。また、配信オプションの柔軟性も向上します。しかしながら

FreeBSD 10でスワップファイルを作成する

FreeBSD 10でスワップファイルを作成する

デフォルトでは、Vultr FreeBSDサーバーはスワップスペースを含むように構成されていません。使い捨てのクラウドインスタンスを意図している場合は、おそらく必要ありません

FreeBSD 10でのiRedMailのセットアップ

FreeBSD 10でのiRedMailのセットアップ

このチュートリアルでは、FreeBSD 10の新規インストールにグループウェアiRedMailをインストールする方法を示します。少なくとも1ギガバイトのサーバーを使用する必要がありますo

FreeBSDでディスクのサイズを変更する方法

FreeBSDでディスクのサイズを変更する方法

FreeBSDオペレーティングシステムは、ルートパーティションファイルシステムにUFS(Unix File System)を利用しています。別名freebsd-ufsアップグレードの場合

OpenBSD 6でMariaDBを設定する

OpenBSD 6でMariaDBを設定する

この記事では、MariaDBをOpenBSD 6にインストールし、chrootされたWebサーバー(ApacheまたはNginx)からアクセスできるように構成する方法を紹介します。あなたはアルになります

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

別のシステムを使用していますか?Redaxscript 3.2 CMSは、最新で超軽量の無料のオープンソースのコンテンツ管理システム(CMS)です。

FreeBSD 12にCraft CMSをインストールする方法

FreeBSD 12にCraft CMSをインストールする方法

別のシステムを使用していますか?はじめにCraft CMSは、PHPで記述されたオープンソースのCMSです。Craft CMSソースコードはGitHubでホストされています。このガイドはあなたを示します

OpenBSDとhttpdを使用してVultrでシンプルなWebサイトを作成する

OpenBSDとhttpdを使用してVultrでシンプルなWebサイトを作成する

はじめにこのガイドの目的は、OpenBSDとhttpdを使用してVultrでWebサイトのホームページを簡単に作成できることを示すことです。作成

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

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

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

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