読者です 読者をやめる 読者になる 読者になる

Software Engineer and Web Developer's Diary

1年後の自分に向けて

はじめての SSL 設定

今までサーバをちょこちょこさわっていたけれど、実はsslの設定をちゃんとしたことがなかった。ということではじめて、sslの設定をやってみました。

参考サイト1:[CSR生成] Apache1.3 + mod_ssl + OpenSSL(新規・更新)|SSLサーバ証明書ならグローバルサイン

参考サイト2:Technical Note : SSLを利用するApacheウェブサーバーの構築方法 - Nature's Linux Tech Portal

  1. openssl の確認
  2. openssl version
  3. 秘密鍵を生成
  4. openssl genrsa -des3 -out ./ssl.key/ssl.globalsign.com.key 1024
  5. csr を生成
  6. openssl req -new -key ./ssl.key/ssl.globalsign.com.key -out ./ssl.csr/ssl.globalsign.com.csr
    この時、国とか組織とか聞かれるので前もって用意しておきます。
  7. ssl 申込
  8. GlobaSign などで ssl の申込を行います。この時にさっき作った csr を使います。
  9. 証明書の設定
  10. 証明書がメール等で送られてくるので、これをコピーして server.crt のようなファイル名にしてサーバの ssl.crt ディレクトリに保存します。権限は 400 で。
  11. 中間証明書の設定
  12. これもメール等で送られてくるので、ssl.crt に保存します。400。
  13. Apache の設定
  14. 以下のような感じです。
    SSLEngine on
    
    SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/dvcacert.cer
    
    SSLCertificateFile /usr/local/apache/conf/ssl.crt/ssl.globalsign.crt
    
    SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/ssl.globalsignkey
  15. パスフレーズについて
  16. パスフレーズが設定されていると Apache の再起動の度にパスワードを要求されます。 回避する為には、パスフレーズを削除するか、SSLPassPhraseDialog というディレクトリブを設定することで回避できます。(Nature's Linux のページに書いてます。) パスフレーズの削除は以下コマンドで。
    cp -p server.key server.key.org
    
    openssl rsa -in server.key -out server.key
  17. その他
  18. 今回以下ファイルも修正しました。
    vi /etc/sysconfig/apache
    修正内容は以下の行がコメントアウトされていたので、コメントを外しました。
    OPTIONS=-DSSL
  19. 最後に
  20. service apache configtest
    
    service apache restart