Fedora 30のApacheでTLS 1.3を有効にする方法

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

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

必要条件

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

あなたが始める前に

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

cat /etc/fedora-release
# Fedora release 30 (Thirty)

アクセス権を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をインストールします。

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 ~
source ~/.bashrc

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

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

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

# RSA
sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength 2048
# ECC/ECDSA
sudo /etc/letsencrypt/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 /etc/letsencrypt/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 /etc/letsencrypt/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のサポートを追加しました。Fedora 30システムには、そのままでTLS 1.3をサポートするApacheとOpenSSLが付属しているため、カスタムバージョンをビルドする必要はありません。

dnfパッケージマネージャーを介して、Apacheの最新の2.4ブランチとSSL用のそのモジュールをダウンロードしてインストールします。

sudo dnf install -y httpd mod_ssl

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

sudo httpd -v
# Server version: Apache/2.4.39 (Fedora)
# Server built:   May  2 2019 14:50:28

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

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

TLS 1.3用にApacheを構成する

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

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

<IfModule mod_ssl.c>
  <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>
</IfModule>

ファイルを保存して終了します。

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

sudo apachectl configtest

Apacheをリロードして、新しい構成をアクティブにします。

sudo systemctl reload httpd.service

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

Fedora 30のApacheでTLS 1.3を有効にする方法

Fedora 30のApacheでTLS 1.3を有効にする方法

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