Apacheとの通信を暗号化しよう!
ここでは、HTTP通信の暗号化の手順を掲載しています。
通信の暗号化とは…?
通常、インターネット上の通信は暗号化されておらず、知識のある人から見れば、いつ、誰が、どのような通信を行ったかが分かる状態で通信を行っています。
近年、セキュリティ意識の高まりなどもあり、通信を常時暗号化して、通信傍受を防ごうという動きが活発になっています。
SSLモジュールのインストール
ApacheをSSLに対応させるためのモジュールをインストールします。
[root@rl8 ~]# dnf -y install mod_ssl
インストール済み:
mod_ssl-1:2.4.37-51.module+el8.7.0+1155+5163394a.1.x86_64
sscg-3.0.0-5.el8.x86_64
完了しました!
通信の暗号化(HTTPS)
HTTP通信を暗号化するためには、事前にSSLの設定を行っておく必要があります。
今回は、Let's Encryptを使って証明書を発行したものとして話を進めます。自己発行の証明書の場合は各自ファイル名等を読み替えてください。
暗号化モジュールの設定を行います。
[root@rl8 ~]# vi /etc/httpd/conf.d/ssl.conf
#DocumentRoot "/var/www/html"
↓
DocumentRoot "/var/www/html"
#ServerName www.example.com:443
↓
ServerName mhserv.info:443 (取得したドメイン)
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
↓
SSLCertificateFile /etc/letsencrypt/live/mhserv.info/cert.pem
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
↓
SSLCertificateKeyFile /etc/letsencrypt/live/mhserv.info/privkey.pem
SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
↓
SSLCertificateChainFile /etc/letsencrypt/live/mhserv.info/chain.pem
SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
↓
SSLCACertificateFile /etc/letsencrypt/live/mhserv.info/fullchain.pem
暗号化通信を行いたいディレクトリを変更する場合は"DocumentRoot"の設定を変更してください。
上の設定では、/var/www/html内のファイルに対し、HTTPS通信を行うようになります。
ファイアウォールの設定
続いてファイアウォールの設定を行います。
Webサーバへアクセスできるよう、ファイアウォールで許可をしてあげます。
[root@rl8 ~]# firewall-cmd --permanent --add-service={http,https}
success
[root@rl8 ~]# firewall-cmd --reload
success
PHPの設定へと続きます。
PHPへ
参考にしたサイト様
今回新しく登場したコマンド
[広告]
トップページ
Rocky Linux 8
○インストール準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他