Top / test / Ubuntu 10.04 LTS Server / 04_postfix_ssl

test/Ubuntu 10.04 LTS Server/03_postfix_auth

証明書の作成

まずは、自己署名証明書を作成する。

$ cd /tmp/
$ cp /usr/share/ssl-cert/ssleay.cnf /tmp/
$ sudo make-ssl-cert ssleay.cnf mail.pem

確認を下記のコマンドでする。

$ sudo openssl verify mail.pem

OKと出たら大丈夫(かも)

postfixへの設定

先ほど作成した、自己署名証明書をpostfixで利用するように設定する。 まずは、証明書をpostfixのディレクトリにcopyする。

$ sudo cp /tmp/mail.pem /etc/postfix/

次に、main.cfに下記の行を追記する。

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/mail.pem
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

さらに、master.cfを設定する。

smtps で始まる行は、port 465/tcp で LISTEN する smtps プロトコルを有効にする設定。デフォルトではコメントアウトされているので、コメントを解除する。STARTTLS 対応のみで、465/tcp で SSL 接続を待ち受けないのなら、smtps の行はコメントアウトのままで良い。逆に、こちらは有効にして main.cf の smtpd_use_tls を yes にしなければ(or コメントアウトすれば) STARTTLS には対応せず、465/tcp で SSL 接続を待ち受けるだけの状態になる。

smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

動作確認

smtps(465/tcp)で LISTEN しているかチェック

$ netstat -nlt
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN

が含まれているかを確認する。

starttlsが機能しているかを確認する。

$ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.local.kensuke.jp ESMTP mailserver
ehlo test
250-mail.local.kensuke.jp
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
starttls
220 2.0.0 Ready to start TLS

SSL接続の確認

$ openssl s_client -connect 127.0.0.1:smtps
CONNECTED(00000003)
depth=0 /CN=mail.local.kensuke.jp
verify error:num=18:self signed certificate
verify return:1
depth=0 /CN=mail.local.kensuke.jp
verify return:1
--- (途中省略) ---
No client certificate CA names sent
---
SSL handshake has read 1007 bytes and written 316 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: EC233DBE5050EE28D377966022A922A9FDF4B4CF12EDEECE7E6FB94493513B82
    Session-ID-ctx:
    Master-Key: 0FC80128B4B7D740AE6C1F31ECD34FC084F9EB6C1A37AB707C62FBDBDC6E2F8D76CEABF1B2B2B4EFA383130CA7DA32CC
    Key-Arg   : None
    Start Time: 1269352955
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
220 mail.local.kensuke.jp ESMTP mailserver
ehlo test
250-mail.local.kensuke.jp
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: root@mail.local.kensuke.jp
250 2.1.0 Ok
rcpt to: kensuke@mail.local.kensuke.jp
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
from: root@mail.local.kensuke.jp
to: kensuke@mail.local.kensuke.jp
subject: test

test
.
250 2.0.0 Ok: queued as 3CD1C20459
quit
221 2.0.0 Bye
read:errno=0

必要なauthを通して、不要なものは通さない

  • 外部ネットワークからメール送信時に利用
  • TLS化については、必須。平文通信はreject
  • SMTP authは必須 master.cfを下記のように設定
    smtps     inet  n       -       -       -       -       smtpd
      -o smtpd_tls_wrappermode=yes
      -o smtpd_sasl_auth_enable=yes
      -o smtpd_client_restrictions=permit_sasl_authenticated,reject

トップ   一覧 単語検索   最終更新のRSS
Last-modified: 2010-08-26 (木) 22:05:31 (2829d)