Memo

メモ > サーバ > 構築: メールサーバ設定 > Postfixの設定

■Postfixの設定
メールサーバ構築に必要な基礎知識とセキュリティについての解説 | OXY NOTES https://oxynotes.com/?p=4266 メールサーバー構築(Postfix+Dovecot) - CentOSで自宅サーバー構築 https://centossrv.com/postfix.shtml Postfixの設定 | さくらインターネットのVPS設定マニュアル https://www.sakura-vps.net/centos6-setting-list/postfix-settings-for-sakura-vps/ Mailサーバ(Postfix・Dovecot) | VPS設定のつぼ | VPS虎の巻 -VPS比較&設定のつぼ- http://vps-tora.com/tsubo/sakura/postfix/ さくらインターネットのVPSサービス 「さくらのVPS」 導入手順 − 10.postfixの利用準備 | たりすまんサーバ技術録 http://hosting.talisnet.info/sakura-vps-10/ さくらインターネットのVPSサービス 「さくらのVPS」 導入手順 − 11.dovecotの利用準備 | たりすまんサーバ技術録 http://hosting.talisnet.info/sakura-vps-11/ Postfixおよび外部リレーの設定 - さくらのVPS徹底活用ガイド https://sites.google.com/site/sakuravpsguide/postfix さくらのVPSの設定 - メールサーバーの構築 | TipsZone https://tipszone.jp/20120521_mail_server/ PostfixとDovecotでバーチャルメールボックスの設定をする - Qiita https://qiita.com/dribble13/items/36847b944caed440d714 Postfixバーチャルメールボックス運用HowTo - Qiita https://qiita.com/i13ame/items/d1355c6ab77b0461a7f5 Postfix + dovecot バーチャルメールボックスの設定を深堀する https://web-creators-hub.com/linux/postfix3/ メール運用がロストテクノロジーになっていく話 - Qiita https://qiita.com/koichiro/items/d65ac1af03b9063f0592 ■Postfixのインストール
# yum list installed | grep postfix … Postfixがインストールされているか確認 # yum -y install postfix … Postfixをインストール(Amazon Linux 2 では、はじめからインストールされている)
■バーチャルメールボックス管理のためのユーザを作成 ※バーチャルメールボックスを使い、UNIXユーザとは別にメールユーザを管理する
# groupadd -g 10000 mailuser # useradd -u 10000 -g mailuser -s /sbin/nologin mailuser
■バーチャルメールボックス作成
# mkdir /home/virtualmail # chown -R mailuser:mailuser /home/virtualmail
■Postfixの設定 Postfixでバーチャルメールボックスを有効にし、バーチャルドメイン宛てのメールを受け取る - Postfix Tips & FAQ https://www.ipentec.com/document/linux-postfix-enable-virtual-domain-and-virtual-mailbox SASLの設定 - Qiita https://qiita.com/nkiw/items/cbddeaba18f8c010fb5e PostfixのSMTP認証で利用するCyrus SASLライブラリについて | OXY NOTES https://oxynotes.com/?p=4428 SMTP認証 (SMTP-AUTH) とは、メール送信時に送信者がユーザ本人であることを確認するために、SMTPサーバでユーザ認証を行うもの (以前は「POP before SMTP」で迷惑メール対策を行うことが多かったが、現在は使われなくなっている) PostfixではSMTP認証に「SASL(Simple Authentication and Security Layer / サスル)」というライブラリを利用する
# vi /etc/postfix/main.cf
#myhostname = virtual.domain.tld myhostname = mail.refirio.net … ホスト名(FQDN)を設定(複数台構成のWebサーバから送信するなら、web1.refirio.net といった値にするといいみたい) #mydomain = domain.tld mydomain = refirio.net … ドメインを設定 #myorigin = $mydomain myorigin = $mydomain … ローカルからのメール送信時、送信元メールアドレスの@以降にドメイン名を付加 #inet_interfaces = localhost inet_interfaces = all … SMTP接続を待ち受けるネットワークインターフェース(localhostは自分自身からのメールのみ受け取る設定で、他SMTPサーバからの接続を受け付けない。送信専用サーバならデフォルト値localhostのままでいい) mydestination = $myhostname, localhost.$mydomain, localhost … 受け取るべきメールのドメイン。(今回は変更なしだが、「mydomain」の設定次第では最後に「, $mydomain」を付けておくといいか) #home_mailbox = Maildir/ home_mailbox = Maildir/ … ホームディレクトリからの相対パスでメールボックスを指定 #smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) smtpd_banner = $myhostname ESMTP unknown … メールサーバーソフト名の隠蔽化 # 以下、最終行へ追記 smtpd_sasl_auth_enable = yes … SMTP認証を有効にする smtpd_recipient_restrictions = … SMTP認証を使用する場合はこの設定にする permit_mynetworks permit_sasl_authenticated reject_unauth_destination message_size_limit = 10485760 … 受信メールサイズを10MB(10*1024*1024)に制限 virtual_mailbox_domains = /etc/postfix/vdomains … バーチャルメールボックスドメインで受信するドメイン virtual_mailbox_base = /home/virtualmail … メールが保存されるディレクトリ virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox … 有効な受信者アドレス全てを持つ検索テーブル virtual_uid_maps = static:10000 … バーチャルメールボックスは、すべて固定された uid 10000 が所有する virtual_gid_maps = static:10000 … バーチャルメールボックスは、すべて固定された gid 10000 が所有する local_recipient_maps = … Postfix SMTP サーバでのローカル受信者チェックを無効にする(空欄を指定) luser_relay = unknown_user@localhost … 存在しないアカウントに送信されたメールを特定のアドレスに送付
# echo unknown_user: /dev/null >> /etc/aliases … 存在しないアカウントに送信されたメールを破棄 # newaliases … 転送設定反映 # vi /etc/postfix/vdomains … バーチャルメールボックスドメインで受信するドメインを設定(ファイルを新規作成)
refirio.net stg.refirio.net … stg.refirio.net も設定する場合
# vi /etc/postfix/virtual-mailbox … 有効な受信者アドレス全てを持つ検索テーブルを設定(ファイルを新規作成)
info@refirio.net refirio.net/info/Maildir/
# vi /etc/postfix/master.cf … サブミッションポートを設定(OP25Bの対応)
#submission inet n - n - - smtpd submission inet n - n - - smtpd … サブミッションポートを有効にする # -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_auth_enable=yes … サブミッションポートで、SASL認証を実施(先頭のスペースの数は2つ必要みたい)
# vi /etc/sasl2/smtpd.conf
#pwcheck_method: saslauthd pwcheck_method: auxprop
サブミッションポート(587番ポート)は、 メール送信の際に認証を利用できるようにしたもの 詳細は以下を参照 サブミッションポートとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 https://wa3.i-3-i.info/word1773.html CentOS7 Postfix + SMTP-Auth/Submission Port - Qiita https://qiita.com/yoshidna/items/2d0b89086914a7be73a4 Postfix サブミッションポート(587番ポート)を有効にする手順 | mebee https://mebee.info/2020/05/27/post-11828/ CentOS 7 の Postfix で独自ドメインの設定 - Qiita https://qiita.com/bezeklik/items/438eadbdb06672f3c3b6 ■Postfixの設定補足 送信元アドレスが info@mail.example.com になる場合、/etc/postfix/main.cf で以下のように設定するといいみたい これはオプション設定で項目は用意されていないため、ファイルの最後に追記するといい
masquerade_domains = example.com
CentOSとPostfixを使って送信専用のメールサーバーを構築する方法 - レムシステム エンジニアブログ https://www.rem-system.com/mail-postfix01/ メールサーバ再入門 - Qiita https://qiita.com/fururun02/items/7e99c0a237a8cfdab848 ■Postfixの設定確認
# postconf … 現在の設定値を表示 # postconf -d … デフォルト値を表示 # postconf -n … デフォルト値と異なる設定値のみを表示
Postfixの設定確認をしてみる - Qiita https://qiita.com/emowl/items/06bdffa83e36b7dddd30
# postfix check … 設定をチェック(エラーが表示されなければ問題無い)
Postfixの設定ファイル(main.cf)の文法チェック │ TEAM T3A https://www.t3a.jp/blog/infrastructure/postfix-check-grammar/ ■Postfixの起動
# systemctl start postfix … 新規にインストールした場合は起動 # systemctl restart postfix … すでにインストールされていた場合は再起動 # systemctl enable postfix

Advertisement