vCenterの動作確認のためにSTARTTLSを必須とするメールサーバを構築

背景

vCenterからのメール配信はSTARTTLSに対応しているらしいのでその動作確認のために、STARTTLSに対応したメールサーバを構築してみました。

https://kb.vmware.com/s/article/2063147

 

パブリッククラウドの利用や、昨今関心が高いセキュリティポリシー観点で平文のSMTPではなくSTARTTLSなどで暗号化通信を行う環境が増えてくると思われます。その準備として、vCenterサーバからのメール配信としてSTARTTLSを必須とするメールサーバーを構築しました。

 

Postfixのインストールと設定

証明書の生成

mkdir -p /etc/mail/certs/

cd /etc/mail/certs/

hostname

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

 

 

Postfixのインストール

yum -y install postfix

 

 

Starttlsの設定

vi /etc/postfix/main.cf

 

以下の設定を投入

参考: https://www.postfix.org/postconf.5.html

#smtpd_tls_security_level = may

smtpd_tls_security_level = encrypt

smtpd_tls_cert_file = /etc/mail/certs/server.pem

smtpd_tls_key_file = /etc/mail/certs/server.pem

※必須にする場合はencyrpt。任意にする場合はmayにする

 

再起動して設定を反映

service postfix restart

 

設定の確認

/usr/sbin/postconf | grep -e smtpd_tls_security_level -e smtpd_tls_cert_file -e smtpd_tls_key_file

 

ログを確認

journalctl -u postfix

 

 

Postfixにリレーホストを設定する

すべてのメール配信を別のメールサーバに転送する場合は以下をオプションを書き換える

vi /etc/postfix/main.cf

relayhost = [192.0.2.100]

IPアドレスは転送先にSMTPサーバを設定する

 

 

Postfixで詳細なログ出力の設定をする

参考: https://fumiyas.github.io/2014/12/07/debug_peer.postfix-advent-calendar.html

 

vi /etc/postfix/main.cf

debug_peer_level = 2

debug_peer_list = 0.0.0.0/0

smtpd_tls_loglevel = 2

service postfix restart

 

※一般的にローカルでのテストの場合は、debug_peer_list127.0.0.1で問題がないですが、

今回はssmtpを利用し、ssmtpはループバックアドレスからの通信ではなく外部向けインターフェースからの通信になるようなので、

0.0.0/0 を指定してます。

 

 

ssmtpのインストール

ローカルからのテスト用にssmtpをインストールします。

 

yum -y install ssmtp

vi /etc/ssmtp/ssmtp.conf

以下の設定を追加する(設定がダブル場合は古い設定をコメントアウトしてください。)

mailhub=smtp_server_ip_address:25

useSTARTTLS=YES

TLSCert=/etc/mail/certs/server.pem

TLS_CA_File=/etc/mail/certs/server.pem

SMTPサーバのIPアドレスアはPostfixをインストールしたホストを指定します。

 

 

ssmtpでのテストの実行

echo "Email test  using ssmtp" | sudo ssmtp -vvv hogehoge@hoge.com

 

  

コメント

このブログの人気の投稿

vSwitchにSTPが不要な理由

ESXi に DNS サーバを何個まで登録できるか

障害でVDSから切断されたVCSAの復旧方法