SSLで暗号化とドメイン認証(2/2)

投稿日:

SSLの設定先は、以下の通り。

  • Ubuntu 14.04.3 LTS
  • apache 2.4.7
  • postfix 2.11.10
  • courier-imap-ssl 4.10.0

1. SSL証明書申請準備

秘密鍵を作成。
openssl md5 * > rand.dat
openssl genrsa -rand rand.dat -des3 2048 > sslkey.pem

この時点で、sslkey.pemはpassphrase付(暗号化済み)きである。
このまま以降の設定に利用すると、apache起動、メールサービス起動毎にpassphraseの入力が必要となってしまう。
なので、ここでpassphraseなし(暗号化なし)の秘密鍵も作っておく。

openssl rsa -in sslkey.pem -out ssl_nokey.pem

2. SSLサーバ証明書の取得

SSLストアの指示通り、秘密鍵を送り、料金をはらってSSLサーバ証明書を手に入れる。 Comodoは、メイルで、以下のファイルが届いた。
  • ドメイン名.crt
  • COMODORSADomainValidationSecureServerCA.crt
  • AddTrustExternalCARoot.crt
  • COMODORSAAddTrustCA.crt

中間CA証明書、クロスルート証明書を合わせたファイルを作っておく。

cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > ドメイン.ca_bunle

更に、秘密鍵とサーバ証明書を合わせたファイルも作っておく。

cat ドメイン名.crt ssl_nokey.pem  > coureie.domain_key

サーバのssl関係ファイルを「/etc/ssl/comodo」と決め、SSLサーバにファイルを置く。

  • ssl_nokey.pem
  • ドメイン名.crt
  • ドメイン.ca_bunle
  • COMODORSAAddTrustCA.crt
  • coureie.domain_key

3.apache

もともとオレオレ認証でsetup済みだったので、以下の変更&再起動でOK。

/etc/apache2/sites-available/default-ssl.conf

  # SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
  # SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
  SSLCertificateFile    /etc/ssl/comodo/ドメイン名.crt
  SSLCertificateKeyFile /etc/ssl/comodo/ssl_nokey.pem

4.postfix

もともとオレオレ認証でsetup済みだったので、以下の変更&再起動でOK。

/etc/postfix/main.cf

# smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_cert_file=/etc/ssl/comodo/ドメイン名.crt
smtpd_tls_key_file=/etc/ssl/comodo/ssl_nokey.pem
smtpd_tls_CAfile=/etc/ssl/comodo/ドメイン名.ca_bunle

5.courie imap

もともとオレオレ認証でsetup済みだったので、以下の変更&再起動でOK。

/etc/courier/imapd-ssl

# TLS_CERTFILE=/etc/courier/imapd.pem
TLS_CERTFILE=/etc/ssl/comodo/coureie.domain_key
# TLS_TRUSTCERTS=/etc/ssl/certs
TLS_TRUSTCERTS=/etc/ssl/comodo/ドメイン名.ca_bunle