デビ庵 〜メールサーバ 1 (postfix)〜
Table of Contents
メールサーバには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)