virtualbox上のzabbix applianceにメールを設定する(local)ubuntu16.04.5

virtualboxのzabbix appliance(ubuntu)にpostfixを入れてメールを送受信できるようにする

□ 参考サイト
https://qiita.com/mizuki_takahashi/items/1b33e1f679359827c17d

□ OSバージョン確認
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"

□ hostname確認
# hostname

□ hostnameを恒久的に変更する
① # apt update
② # apt install -y dbus
③ # hostnamectl set-hostname <好きなhostname>
④ hostname変更確認
# hostnamectl

postfixインストール&設定
postfixのインストール
# apt-get install -y postfix
TUIが表示されるので「No configuration」を選択する
f:id:Saw84:20181203183133j:plain

② 「/etc/postfix/main.cf.proto」をコピーし「main.cf」を作成する
# cp/etc/postfix/main.cf.proto /etc/postfix/main.cf

postfixの設定を編集
# vi /etc/postfix/main.cf
# 78行目:コメント解除
mail_owner = postfix
 
# 96行目:コメント解除しホスト名指定
myhostname = zabbix.saw84
 
# 83行目:コメント解除しドメイン名指定
mydomain = graylogsaw84.jp

# 124行目:コメント解除
myorigin = $mydomain

# 138行目:コメント解除
inet_interfaces = all

# 189行目:追記
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# 230行目:コメント解除
local_recipient_maps = unix:passwd.byname $alias_maps

# 274行目:自ネットワーク追記

mynetworks = 127.0.0.0/8, 10.0.2.0/24

# 410行目:コメント解除
alias_maps = hash:/etc/aliases

# 421行目:コメント解除
alias_database = hash:/etc/aliases

# 443行目:コメント解除 ( Maildir形式へ移行 )
home_mailbox = Maildir/

# 579行目:コメントにしてその下に追記
#smtpd_banner = $myhostname ESMTP $mail_name (@@DISTRO@@)
smtpd_banner = $myhostname ESMTP

# 654行目:追記
sendmail_path = /usr/sbin/postfix

# 659行目:追記
newaliases_path = /usr/bin/newaliases

# 664行目:追記
mailq_path = /usr/bin/mailq

# 670行目:追記
setgid_group = postdrop

# 674行目:コメント化
#html_directory =

# 678行目:コメント化
#manpage_directory =

# 683行目:コメント化
#sample_directory =

# 687行目:コメント化
#readme_directory =

# 最終行へ追記:送受信メールサイズを10Mに制限
message_size_limit = 10485760
# メールボックスサイズを1Gに制限
mailbox_size_limit = 1073741824
# 以下SMTP-Auth
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

④ /etc/aliasesの権限付与とaliases.dbの作成
# chmod 775 -R /etc/aliases
# newaliases


smtp authに必要なIDとパスワードをやり取りするためのライブラリCyrus SASLをインストールする
# apt install sasl2-bin

⑤ devcotをインストールする
# apt install dovecot-imapd dovecot-pop3d

SMTP認証に使うSASLファイルの存在確認
# ls -la /etc/ssl/certs/ssl-cert-snakeoil.pem
# ls -la /etc/ssl/private/ssl-cert-snakeoil.key

SMTP認証に使うSASLの設定
# vi /etc/postfix/main.cf
最下部に追記
broken_sasl_auth_clients = yes

### TLSを使う場合の証明書と鍵ファイルの指定
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

smtp_use_tls = yes

#smtp_sasl_password_maps = hash:/etc/postfix/saslpass
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_tls_CApath = /etc/ssl/certs/ca-certificates.crt

⑧ /etc/postfix/saslpass の作成
# vi /etc/postfix/saslpass
[smtp.gmail.com]:587 example@gmail.com:パスワード

⑨ /etc/postfix/saslpass.db の作成
パスワードを記入したファイルを、Postfixが読み込みやすい形式に postmap コマンドで変換する。変換後のファイル名には .db が付くが、設定ファイルで指定するファイル名は変換前のファイル名で良い。
# postmap /etc/postfix/saslpass

⑩ 設定反映のため、postfixを再起動する
# /etc/init.d/postfix restart

⑪ /etc/postfix/master.cfの編集
# vi /etc/postfix/master.cf
以下を追記
### Submission ポート (ポート番号 587) でも SMTP を受けるようにする
### sasl認証を有効にする

submission inet n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
### smtpsを有効にする
### TLSのラッパーモードを有効にする
smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes

SMTP認証ファイルパスディレクトリ作成
# mkdir -p /var/spool/postfix/private/
# touch /var/spool/postfix/private/auth
# chown postfix:postfix -R /var/spool/postfix/private/auth
# chmod 700 -R /var/spool/postfix/private/auth

dovecotの設定
# vi /etc/dovecot/dovecot.conf
以下を追記
### 利用するプロトコルを記載
### dovecot-imapdとdovecot-pop3dをインストールしたので imap pop3 を記載
protocols = imap pop3
### LISTENするアドレスを指定
listen = *

# vi /etc/dovecot/conf.d/10-mail.conf
以下を変更
### Postfixの設定に合わせてMaildir形式を指定
#mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_location = maildir:~/Maildir

以下を追記:190行目付近
### dovecotプロセスが chroot することができるディレクトリの指定
valid_chroot_dirs = /home

以下を追記:330行目付近
### UIDLのフォーマットを指定
pop3_uidl_format = %08Xu%08Xv

# vi /etc/dovecot/conf.d/10-auth.conf
好みで以下を有効化
### SSL/TLS接続のみ有効にする場合はyes
disable_plaintext_auth = yes

以下を変更:100行目付近
### 認証時のパスフレーズ送信方式の指定
### 通信が暗号化されているので以下
#auth_mechanisms = plain
auth_mechanisms = plain login

# vi /etc/dovecot/conf.d/10-master.conf

### imapでの接続ポートの指定
### SSL/TLSのみ使う場合はimapsのみで良い
service imap-login {
inet_listener imap {
#port = 143
port = 0
}
inet_listener imaps {
port = 993
ssl = yes
}
}
### imapでの接続ポートの指定
### SSL/TLSのみ使う場合はimapsのみで良い
service pop3-login {
inet_listener pop3 {
#port = 110
port = 0
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
### 認証用ソケットファイルへのアクセス権設定
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

# vi /etc/dovecot/conf.d/10-ssl.conf
以下のコメントアウトを解除:6行目付近
### SSL/TLSを有効化
ssl = yes

以下を変更:12行目付近
### SSL/TLSで利用する証明書の設定
### (別途作成の必要あり)
ssl_cert =