WAVE Log
メールサーバ構築(Postfix+Dovecot+Certbot)

Postfix 設定ファイル編集。

~]# vi /etc/postfix/main.cf

変更削除追加

#myhostname = host.domain.tld #myhostname = virtual.domain.tld myhostname = mail.wave440.com ・・・ ・・・ #mydomain = domain.tld mydomain = wave440.com ・・・ ・・・ #myorigin = $myhostname #myorigin = $mydomain myorigin = $mydomain ・・・ ・・・ #inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost inet_interfaces = localhost ↓↓↓ inet_interfaces = all ・・・ ・・・ mydestination = $myhostname, localhost.$mydomain, localhost ↓↓↓ mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, # mail.$mydomain, www.$mydomain, ftp.$mydomain ・・・ ・・・ #home_mailbox = Mailbox #home_mailbox = Maildir/ home_mailbox = Maildir/ ・・・ ・・・ #smtpd_banner = $myhostname ESMTP $mail_name #smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) smtpd_banner = $myhostname ESMTP unknown ・・・ ・・・ #smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem ・・・ ・・・ #smtpd_tls_key_file = /etc/pki/tls/private/postfix.key

以下を最終行へ追加

smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination message_size_limit = 10485760 smtpd_tls_security_level = may smtp_tls_security_level = may smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1 smtp_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1 smtpd_tls_cert_file = /etc/letsencrypt/live/wave440.com/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/wave440.com/privkey.pem smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache

master.cf 編集。

~]# vi /etc/postfix/master.cf

削除

#submission inet n - n - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes ・・・ ・・・ #submissions inet n - n - - smtpd # -o syslog_name=postfix/submissions # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes

cyrus-sasl インストール。

~]# dnf -y install cyrus-sasl

自動起動有効+起動。

~]# systemctl enable --now saslauthd

新規ユーザー追加時に自動でホームディレクトリに Maildir 形式のメールボックスが作成されるようにする。

~]# mkdir -p /etc/skel/Maildir/{new,cur,tmp} ~]# chmod -R 700 /etc/skel/Maildir/

存在しないユーザー宛メールの破棄。

~]# vi /etc/postfix/main.cf

以下を最終行へ追加

local_recipient_maps = luser_relay = unknown_user@localhost

unknown_user 宛メールを破棄。

~]# echo unknown_user: /dev/null >> /etc/aliases

/etc/aliases 変更反映。

~]# newaliases

Postfix 再起動。

~]# systemctl restart postfix

ポート開放。

~]# firewall-cmd --add-port=25/tcp --zone=public --permanent ~]# firewall-cmd --add-port=587/tcp --zone=public --permanent ~]# firewall-cmd --reload

Dovecot インストール。

~]# dnf -y install dovecot

10-mail.conf 編集。

~]# vi /etc/dovecot/conf.d/10-mail.conf

追加

#mail_location = mail_location = maildir:~/Maildir

10-auth.conf 編集。

~]# vi /etc/dovecot/conf.d/10-auth.conf

追加

#disable_plaintext_auth = yes disable_plaintext_auth = no

10-ssl.conf 編集。

~]# vi /etc/dovecot/conf.d/10-ssl.conf

変更

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ↓↓↓ ssl_cert = </etc/letsencrypt/live/wave440.com/fullchain.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem ↓↓↓ ssl_key = </etc/letsencrypt/live/wave440.com/privkey.pem

Dovecot 自動起動有効+起動。

~]# systemctl enable --now dovecot

ポート開放。

~]# firewall-cmd --add-port=995/tcp --zone=public --permanent ~]# firewall-cmd --reload

SSH によるリモート接続はできないメールユーザ(例:rin)を作成。

~]# useradd -s /sbin/nologin rin ~]# passwd rin