Mail サーバー : Postfix インストール2024/04/17 |
Postfix をインストールして SMTP サーバーを構築します。
|
|
[1] | Postfix をインストールします。 |
root@mail:~ # pkg install -y postfix
|
[2] | メール不正中継防止のため、後述の Dovecot の SASL 機能を利用して、送信にも認証を要求するように Postfix を設定します。 |
root@mail:~ #
vi /usr/local/etc/postfix/main.cf # 98行目 : コメント解除しホスト名指定 myhostname = mail.srv.world # 106行目 : コメント解除しドメイン名指定 mydomain = srv.world # 122行目 : コメント解除 myorigin = $mydomain # 136行目 : コメント解除 inet_interfaces = all # 184行目 : コメント解除 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # 227行目 : コメント解除 local_recipient_maps = unix:passwd.byname $alias_maps # 272, 273行目 : コメント解除 & コメント化 mynetworks_style = subnet #mynetworks_style = host # 286行目 : コメント解除して自身のネットワーク追記 mynetworks = 127.0.0.0/8, 10.0.0.0/24 # 410行目 : コメント解除 alias_maps = hash:/etc/aliases # 420行目 : コメント解除 alias_database = hash:/etc/aliases # 442行目 : コメント解除 (Maildir 形式) home_mailbox = Maildir/ # 578行目 : 追記 smtpd_banner = $myhostname ESMTP # 以下 最終行へ追記 # SMTP VRFY コマンドは無効にする disable_vrfy_command = yes # クライアントに対して HELO コマンドを要求する smtpd_helo_required = yes # 1 メールのサイズを制限する # 下例は 10M バイト message_size_limit = 10240000 # 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_sasl_authenticated, reject_unauth_destination # sendmail を無効にする root@mail:~ # sysrc sendmail_enable="NO"
root@mail:~ #
vi /etc/periodic.conf # 新規作成 daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO" install -d /usr/local/etc/mail root@mail:~ # install -m 0644 /usr/local/share/postfix/mailer.conf.postfix /usr/local/etc/mail/mailer.conf root@mail:~ # postalias /etc/aliases root@mail:~ # newaliases root@mail:~ # service postfix enable root@mail:~ # service postfix start |
[3] |
必要に応じて Postfix に以下の設定を追加します。
設定することで、多くのスパムメールを拒否することができます。
ただし、必要なメールを拒否することもしばしばあります。
よって、以下は、自身の SMTP サーバーが特定の SMTP
サーバーとしかやり取りをしない等、使用方法が限定的な場合に限って設定した方がよいでしょう。
特に、接続元の SMTP サーバーの DNS の正引きと逆引きが一致しないサーバーは、企業のサーバーでもよくあります。 |
root@mail:~ #
vi /usr/local/etc/postfix/main.cf # 最終行に追記 # 送信元クライアントホストの DNS の正引きと逆引きが一致しない場合は接続要求を拒否する smtpd_client_restrictions = permit_mynetworks, reject_unknown_client_hostname, permit # FROM に設定されている送信者アドレスのドメインが DNS 登録にない または # FQDN で登録されていない場合は接続要求を拒否する smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain, reject_non_fqdn_sender # HELO コマンドを受信した際に 接続元ホスト名が DNS に登録されていない または # FQDN で登録されていない場合は接続要求を拒否する smtpd_helo_restrictions = permit_mynetworks, reject_unknown_hostname, reject_non_fqdn_hostname, reject_invalid_hostname, permit service postfix reload |
Sponsored Link |