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

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

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

必要条件

  • FreeBSD 12を実行するVultr Cloud Compute(VC2)インスタンス。
  • ドメインの有効なドメイン名と適切に構成されたA/ AAAA/ CNAMEDNSレコード。
  • 有効なTLS証明書。Let's Encryptから取得します。
  • Apacheバージョン2.4.36以上。
  • 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

Apacheをインストールする

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

pkgパッケージマネージャーからApacheの最新の2.4ブランチをダウンロードしてインストールします。

sudo pkg install -y apache24

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

httpd -v
# Server version: Apache/2.4.38 (FreeBSD)

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

sudo sysrc apache24_enable="yes"
sudo service apache24 start

TLS 1.3用にApacheを構成する

Apacheが正常にインストールされたので、サーバーでTLS 1.3の使用を開始するように構成する準備ができました。

注: FreeBSDでは、mod_sslモジュールはデフォルトでパッケージとポートの両方で有効になっています

sudo vim /usr/local/etc/apache24/httpd.confSSLモジュールを実行して、コメントを外してインクルードしますLoadModule ssl_module libexec/apache24/mod_ssl.so

#LoadModule ssl_module libexec/apache24/mod_ssl.so

を実行しsudo vim /usr/local/etc/apache24/Includes/example.com.conf、ファイルに次の基本構成を入力します。

Listen 443
<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    # RSA
    SSLCertificateFile "/etc/letsencrypt/example.com/fullchain.pem"
    SSLCertificateKeyFile "/etc/letsencrypt/example.com/private.key"
    # ECC
    SSLCertificateFile "/etc/letsencrypt/example.com_ecc/fullchain.pem"
    SSLCertificateKeyFile "/etc/letsencrypt/example.com_ecc/private.key"
</VirtualHost>

でファイルして終了保存:+ W+ Q

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

sudo service apache24 configtest

Apacheをリロードします。

sudo service apache24 reload

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

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

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

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



Leave a Comment

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の未来は、日々成長を続けています。