デビ庵 〜メールサーバ 1 (postfix)〜

メールサーバにはpostfix/dovecotを使用します。
(debian標準はexim4ですが、今回はpostfixで…)

メールサーバはインターネットに公開すると簡単に踏み台にされます。
SMTP-AUTHの設定(送信時にパスワードを使用する)がされ、十分テストした後にインターネットに公開するようにしてください。

動作テストは、設定ごとに都度LAN内で行います。
設定が終わるまでは、ルータの25/583は開放しないでください。

postfixのインストール

postfixをインストールします。
メールサーバ踏み台防止(不正中継防止)のために、pop/imapサーバのDovecotのSASL機能を使用しますので、一緒に sasl2-bin, dovecotもインストールします。

# apt-get install postfix dovecot-core dovecot-pop3d dovecot-imapd sasl2-bin

途中、以下のメッセージが出ます。

あなたの用途に合ったメールサーバ設定形式を選んでください。

設定なし:
現在の設定をそのままにしたいときに選びます。
インターネットサイト:
メールは SMTP を使って直接送受信されます。
スマートホスト付きインターネット:
メールは SMTP を使って直接、あるいは fetchmail のようなユーティリティ
を実行して受信されます。送出メールはスマートホストを使って送信されます。
サテライトシステム:
すべてのメールは配送用の「スマートホスト」と呼ばれる別のマシンに送られ
ます。
ローカルのみ:

                                   <了解>
[Tab] で [了解] を選び [Enter]
メール設定の一般形式:

    設定なし
    インターネットサイト
    スマートホスト付きインターネット
    サテライトシステム 
    ローカルのみ

         <了解>           <取消>
[インターネットサイト]を選び、[了解][Enter]
"メール名" はドメイン名が指定されていないときに「すべての」メールアドレ
スを "修飾" するのに使われるドメイン名です。これは <root> への/からのメ
ールを含みます: root@example.org で受け付けるようになっていない限り、
root@example.org からのメールをあなたのマシンから送出しないようにしてく
ださい。

この名前はほかのプログラムによっても使われます。これは、メールがそこから
送出されることになる単一の完全修飾ドメイン名 (FQDN) にすべきです。

そのため、たとえばローカルホストのメールアドレスが foo@example.org なら
 、example.org がここでの適切な値となります。

システムメール名:

 junkparts.net___________________________________________
                <了解>                      <取消>

ドメイン名を入力して[了解][Enter]

設定ファイルの準備

設定ファイルをコピーします。オリジナルの設定ファイルは別名で保存しておきましょう。

# cd /etc/postfix
# cp main.cf main.cf.org
# cp /usr/share/postfix/main.cf.dist main.cf
# cp master.cf master.cf.org

main.cfの設定

# vi main.cf
( )内はファイル中の行

# コメント削除(78)
mail_owner = postfix

# コメント削除、ホスト名指定(94)
myhostname = mta.junkparts.net
# コメント削除、ドメイン名指定(102)
mydomain = junkparts.net

# コメント削除(123)
myorigin = $mydomain

# コメント削除(137)
inet_interfaces = all

# コメント削除(185)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# コメント削除(228)
local_recipient_maps = unix:passwd.byname $alias_maps

# コメント削除(270)
mynetworks_style = subnet

# LAN内のネットワークアドレスを追記(287)
mynetworks = 127.0.0.0/8, 192.168.100.0/24

# コメント削除(407)
alias_maps = hash:/etc/aliases

# コメント削除(418)
alias_database = hash:/etc/aliases

# コメント削除 Maildir形式で運用(440)
home_mailbox = Maildir/

# ログイン時の余計な情報を削除 $mail_name (Debian)を削除する(576)
smtpd_banner = $myhostname ESMTP $mail_name (Debian)
これを以下に変更
smtpd_banner = $myhostname ESMTP

# 追記(652)
sendmail_path = /usr/sbin/postfix

# 追記(655)
newaliases_path = /usr/bin/newaliases

# 追記(660)
mailq_path = /usr/bin/mailq

# 追記(666)
setgid_group = postdrop

# コメントにする(670)
# html_directory =

# コメントにする(674)
# manpage_directory =

# コメントにする(679)
# sample_directory =

# コメントにする(683)
# readme_directory =

# 以下ファイルの最後に追記

# 送受信メールサイズを制限
message_size_limit = Byte数で指定

# メールボックスサイズを制限
mailbox_size_limit = Byte数で指定

# SMTP-Auth 設定にする
#  送信時にパスワード指定が必要なように設定
#  これを設定しないでインターネット上に公開するとスパムの
#  踏み台にされるので注意
#  ユーザ/パスワードはログインアカウントを使用 -> dovecotを参照する
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を更新

# newaliases

postfixを再起動

# systemctl restart postfix

謝辞

以下のサイトを参考にさせていただきました。

Server World様 (https://www.server-world.info)

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください