SSL 設定2008/08/25 |
SSLをインストールして暗号化通信ができるよう設定しておきます。証明書は独自に作成し利用します。 しかし独自に作成した証明書ではアクセス時に警告が出るため、商用で使う場合は ベリサイン 等の正規の認証局が発行する証明書を利用した方がよいでしょう。また、ここで 'make' コマンドが必要になるので、 システムにない場合は以下のように一緒にインストールしておいてください。 |
[root@ns root]# apt-get -y install mod_ssl-apache2 make [root@ns root]# cd /usr/share/ssl/certs [root@ns certs]# make server.key umask 77 ; /usr/bin/openssl genrsa -des3 1024 > server.key Generating RSA private key, 1024 bit long modulus .............++++++ e is 61251 (0x10001) Enter pass phrase: # パスフレーズ設定 Verifying - Enter pass phrase: [root@ns certs]# # 毎回パスフレーズの入力を求められるのは面倒なため秘密鍵からパスフレーズを削除 [root@ns certs]# openssl rsa -in server.key -out server.key Enter pass phrase for server.key: # パスフレーズ入力 writing RSA key [root@ns certs]# [root@ns certs]# make server.csr umask 77 ; /usr/bin/openssl req -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]: JP # 国 State or Province Name (full name) [Berkshire]: Hiroshima # 地域(県) Locality Name (eg, city) [Newbury]: Hiroshima # 都市 Organization Name (eg, company) [My Company Ltd]: Server Linux # 組織名 Organizational Unit Name (eg, section) []: IT Solution # 組織の部門名 Common Name (eg, your server's hostname) []: www.srv.world # サーバーのFQDN Email Address []: root@srv.world # メールアドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # 空Enter An optional company name []: # 空Enter [root@ns certs]# [root@ns certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 # 有効期限が10年の証明書を作成 Signature ok subject=/C=JP/ST=Hiroshima/L=Hiroshima/O=Server Linux/OU=IT Solution/CN=www.srv.world/emailAddress=root@srv.world Getting Private key [root@ns certs]# chmod 400 server.* [root@ns certs]# [root@ns certs]# vi /etc/apache2/conf/extra/httpd-ssl.conf # 78行目:サーバー名指定 ServerName www.srv.world:443 # 79行目:管理者アドレス指定 ServerAdmin root@srv.world # 99行目:証明書指定 SSLCertificateFile /usr/share/ssl/certs/server.crt # 107行目:鍵ファイル指定 SSLCertificateKeyFile /usr/share/ssl/certs/server.key [root@ns certs]# /etc/rc.d/init.d/apache2 restart httpdを停止中: [ OK ] httpdを起動中: [ OK ] |
前節(3)で作ったテストページに https でアクセスしてみます。独自証明書なので以下のような警告が出ます。 | |
「はい」をクリックすると以下のように正常にアクセスすることができます。 しかし独自証明書は以上のような警告が出るため(暗号化通信には全く問題ないのですが)、 利用機会というと、知り合い同士での暗号化通信が必要なときくらいで、 不特定多数の人には信頼性が薄くなるため、 あまり実用性はないかもしれません。 | |
Sponsored Link |