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_listは127.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
コメント
コメントを投稿