.
Mailサーバー => SSL SMTPサーバー構築 > 2.自己証明型証明書によるSSL暗号路実現 ~ Sendmail-8.12
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

自己証明型証明書によるSSL暗号路実現 ~ Sendmail-8.12

SSL化に必要な証明書を準備します。

不特定多数に提供するサービスは前提としていません。組織内の限られた用途、目的を利用を想定しています。不特定多数、一般に提供するサービスの場合は公の CA から証明書を取得し、運用する必要があります。

公開暗号鍵 自己証明型証明書によるSSL暗号路実現

CAを必要としない自己証明型 証明書による暗号路を実現します。二通りの自己証明書の作成を示します。

自己証明書の作成(その一)

証明書とプライベートキーを一つのファイルで書き出す場合。/etc/mail/certs ディレクトリで以下のコマンドを実行します。

# openssl req -new -x509 -nodes -out server.pem -keyout server.pem -days 7000

これにより、パスフレーズを含まないプライベートキーと証明書を一つのファイルで書き出します。書き出された

/etc/mail/certs/server.pem

sendmail.mc に以下の様に指定します。

/usr/lib/sendmail-cf/cf/sendmail.mc

dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/')  ----1
define(`confCACERT', `confCACERT_PATH/server.pem')  -----2
define(`confSERVER_CERT', `confCACERT_PATH/server.pem')  ----3
define(`confSERVER_KEY', `confCACERT_PATH/server.pem')  -----4

  1. CA局が発行した証明書の格納ディレクトリを指定します。
  2. CA局の証明書を指定します。
  3. SMTPサーバーが実行する際に利用する証明書を指定します。
  4. サーバー証明のプライベートキーを指定します。

CA局による署名(証明書の証明)は行わないので、2の設定も同じファイルを指定するか


# openssl req -new -x509 -nodes -out server.pem -keyout server.pem -days 7000

で生成されたファイルを指定します。

/usr/lib/sendmail-cf/cf/sendmail.mc

dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/')  ----1
define(`confCACERT', `confCACERT_PATH/a056756e.0')  -----2
define(`confSERVER_CERT', `confCACERT_PATH/server.pem')  ----3
define(`confSERVER_KEY', `confCACERT_PATH/server.pem')  -----4

自己証明書の作成(その二)

証明書とプライベートキーをそれぞれ作成する場合

# cd /etc/mail/certs
# openssl genrsa -des3 -rand -nodes ./Dscf0001.jpg -out server.pem 1024
# openssl req -new -x509 -nodes -out cert.pem

以下のファイルが生成されます。

/etc/mail/certs/cert.pem
/etc/mail/certs/privkey.pem

sendmail.mc に以下の様に指定します。

/usr/lib/sendmail-cf/cf/sendmail.mc

dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/')  ----1
define(`confCACERT', `confCACERT_PATH/cert.pem')  -----2
define(`confSERVER_CERT', `confCACERT_PATH/cert.pem')  ----3
define(`confSERVER_KEY', `confCACERT_PATH/privkey.pem')  -----4

  1. CA局が発行した証明書の格納ディレクトリを指定します。
  2. CA局の証明書を指定します。
  3. SMTPサーバーが実行する際に利用する証明書を指定します。
  4. サーバー証明のプライベートキーを指定します。

こちらも同様にCA局による署名(証明書の証明)は行わないので、2の設定も同じファイルを指定するか

# ln -s server.pem `/usr/bin/openssl x509 -noout -hash < server.pem`.0

で生成されたファイルを指定します。

/usr/lib/sendmail-cf/cf/sendmail.mc

dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/')  ----1
define(`confCACERT', `confCACERT_PATH/a056756e.0')  -----2
define(`confSERVER_CERT', `confCACERT_PATH/server.pem')  ----3
define(`confSERVER_KEY', `confCACERT_PATH/server.pem')  -----4

Sendmail.cf 生成

上記何れかの方法で、sendmail.mc を修正したら m4プリプロセッサでsendmail.cf を生成します。

# cd /usr/lib/sendmail-cf/cf
# sh Build sendmail.cf

生成されたsendmail.cfを /etc/mail/sendmail.cf と差し替えてSendmailを再起動します。

bottom_mark
ページ最上部
ページ最上部 前のページ