編集済み 2 数週間前 によって ExtremeHow 編集チーム
アパッチSSLセキュリティ暗号化HTTPS設定ウェブサーバー証明書ネットワーキングITセットアップ開発
翻訳が更新されました 2 数週間前
セキュアソケットレイヤー (SSL) は、サーバーとクライアント間で暗号化されたリンクを確立するための標準的なセキュリティ技術です。インターネットの使用においては、通常、ウェブサーバー (例えば、Apache) とブラウザを指します。SSLは、ウェブサーバーとブラウザ間で送信されるすべてのデータがプライベートかつ完全であることを保証します。
Apacheは世界で最も人気のあるウェブサーバーの一つであり、SSL/TLSを使用するように設定することでウェブサイトが安全なチャネルでデータを転送できるようにします。このガイドでは、LinuxなどのUnixベースのシステム上で動作するApacheサーバーにSSLを設定するプロセスを紹介します。
ApacheのSSL設定に進む前に、以下のものを準備してください:
まず、サーバーにApacheがインストールされ、SSLモジュールが有効になっていることを確認してください。Apacheは、ディストリビューションで使用されるパッケージ管理システムを使用してインストールできます。例えば、Ubuntuでは:
sudo apt update sudo apt install apache2
mod_ssl
モジュールもインストールする必要があります。以下のように行うことができます:
sudo a2enmod ssl
SSLを機能させるには証明書が必要です。認証局 (CA) から購入するか、自己署名証明書を作成することができます。内部テスト目的でSSLを設定するのであれば、自己署名証明書で十分です。自己署名証明書を作成する方法は次の通りです:
sudo mkdir /etc/apache2/ssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
このコマンドを分析します:
sudo mkdir /etc/apache2/ssl
: SSL証明書とキーを保存するためのディレクトリを作成します。openssl req -x509 -nodes -days 365
: 365日間有効な新しい証明書を作成します。-newkey rsa:2048
: 2048ビットのキーサイズのRSAを使用します。-keyout
: 秘密鍵を保存する場所を指定します。-out
: 証明書ファイルを保存する場所を指定します。SSL証明書とキーを用意したら、Apacheをそれらを使用するように構成する必要があります。Apache構成ファイルを開きます。通常は/etc/apache2/sites-available/default-ssl.conf
にあります。nanoやviといったテキストエディタを使うことができます:
sudo nano /etc/apache2/sites-available/default-ssl.conf
構成ファイルの中で次の行を見つけます:
SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key
これらを自身の証明書とキーのパスに置き換えます:
SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Apacheバーチャルホストがポート443 (HTTPSの標準ポート) でリッスンすることも確認する必要があります。次のようになります:
<VirtualHost *:443> ServerAdmin webmaster@your_domain.com ServerName your_domain.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key <Directory /var/www/html> AllowOverride All </Directory> </VirtualHost>
default-ssl.conf
を変更したら、次のコマンドでサイトでSSLを有効にする必要があります:
sudo a2ensite default-ssl
サイトを有効にした後、Apacheを再起動して変更を適用する必要があります:
sudo systemctl restart apache2
SSLが動作していることを確認するために、構成をテストする必要があります。ウェブブラウザを開き、あなたのドメインにhttps://
プレフィックスでアクセスしてみてください。例えば、https://your_domain.com
です。アドレスバーには通常鍵マークのアイコンが表示され、セキュアな接続であることが示されます。
無料のSSL証明書に興味がある場合は、Let's Encryptの使用を検討してください。これは、個人または商用利用のための無料証明書を提供する非営利の認証局です。また、Certbot
というツールも提供しており、証明書の取得や更新を自動化します。Certbotをインストールし、大部分のApache構成に対してHTTPSを自動的に設定することができます。
SSL証明書は通常、一年間有効です。安全な接続を維持するためには、有効期限が切れる前に証明書を更新する必要があります。テストのために自己署名証明書を使用している場合は、前のコマンドを使用して新しい証明書を作成してください。商用証明書については、有効期限が切れる前に更新する方法について、証明書発行元からの連絡に注意してください。
基本的なSSLセットアップに加え、追加のセキュリティ対策を講じることを検討してください:
SSLv2
, SSLv3
) およびTLS (TLSv1.0
, TLSv1.1
) の古いバージョンを無効にします。ApacheでのSSL構成は、ウェブサーバーとクライアントのブラウザ間の安全なやり取りを提供するための重要なステップです。上記の手順に従って、ApacheとそのSSLモジュールのインストールから自己署名証明書を使ったサーバーの構成まで、サーバーとクライアントの安全な通信を確保できます。このガイドは、必要な手順とサーバーのセキュリティを高めるためのさらなる検討事項の概要を示しています。
特定のユースケースや業界標準に関連するセキュリティプラクティスとガイドラインについては、さらに調査することをお勧めします。
記事の内容に誤りがある場合, あなたは