パソコン鳥のブログ

アクセスカウンタ

zoom RSS CentOS6でのメールサーバの設定(postfixその1)

<<   作成日時 : 2013/07/14 23:36   >>

ブログ気持玉 0 / トラックバック 11 / コメント 0

CentOS6でのメールサーバの設定です。
メール受信サーバ(pop3,imap4,pop3s,imap4s),送信サーバ(smtp,smtps,smtps-auth)として設定します。
サーバとして postfix,dovecotを使用します。
以下を設定します。
-postfix の main.cf の設定
-postfix の master.cf の設定
-dovecot の設定

今回は、postfix の main.cf の設定についてまでを説明します。


postfixインストール



yum install postfix



postfix のmain.cf の設定


デフォルトの/etc/postfix/main.cfの設定に加えて、以下を設定してください。
同じオプション名がデフオルトで存在する場合は、以下の設定の方を記述して下さい。

/etc/postfix/main.cf

inet_interfaces = all
myhostname=ホスト名
mydomain=ドメイン名
myorigin = $mydomain
home_mailbox = Maildir/
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8
message_size_limit = 102400000
mailbox_size_limit = 2048000000
disable_vrfy_command = yes
smtpd_banner = $myhostname ESMTP

# SMTPS用
smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache


# 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_client_restrictions =permit
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination



inet_interfaces = all
メールを受信するアドレスを指定します。
allを指定すると、サーバ上に設定されている全てのアドレスでメールを受信します。
ネットワークインタフェースカードを複数サーバに差し、それぞれにIPアドレスを設定している場合などではない限り、all を指定します。

myhostname=ホスト名
ホスト名をFQDNで指定します。
例えば、testserver.test.ne.jp のように指定します。


mydomain=ドメイン
ドメイン名を指定します。
ここで指定したドメイン名は、メールアドレスの @ より右側となります。
例えば、test.ne.jp と設定すると、メールサーバで運用できるメールアドレスは xxxx@test.ne.jp のようになります。


myorigin = $mydomain
ここで設定した値は、ローカルで投函されたメールでドメイン情報が無いメールの @ より右側部分になります。
例えば、myorigin = test.ne.jp としたとします。
ここで、ローカルで宛先に testuser とだけ記述してメールを送ると、ドメイン情報(メールアドレスの @ 以降)が無いので、postfix は myorigin の値を付加して、testuser@test.ne.jp としてメールアドレスを処理します。


home_mailbox = Maildir/
配信されたメールを保存するパス名。ユーザのホームディレクトリからの相対パス名で指定します。
パス名の最後に / を付けるか付けないかで、メール保存形式が異なります。
付けた場合は、Maildir形式といい、1メール1ファイルで保存します。
付けない場合は、Mailbox形式としい、メールは1ファイルにまとめて保存されます。


mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
自サーバが受け取るべきメールのドメイン名を指定します。
また myorigin で指定した値が、mydestination の内容に含まれていることが必要です。
ここで設定しないドメイン名のメールは、他のサーバに転送します。


mynetworks = 127.0.0.0/8
自サーバが信頼するネットワークを列挙します。
ここで指定された値は、smtpd_recipient_restrictions オプションで、他のサーバへメールリレー(転送)するか否かの判断に使用します。
mynetworks を不用意に他のネットワークに設定すると、他のサーバからのメールをあなたのサーバが別サーバに転送することになります。
これは不正中継に加担することになりますので、注意が必要です。


message_size_limit = 102400000
送受信可能なメールのサイズをバイト単位で指定します。
メールのサイズには、メール本文以外のメールヘッダやエンベロープ(メールサーバの中継用の情報)も含めます。
この値を下回るメールは送受信できません。

mailbox_size_limit = 2048000000
ユーザのメールボックスの最大容量をバイト単位で指定します。
home_mailbox で Mailbox形式にした場合は、ユーザが保存できる全メールのサイズになります。
メールのサイズには、メール本文以外のメールヘッダも含みます。
Maildir形式の場合は、この値は保存できる1メールのサイズなので、message_size_limit(送受信可能なメールのサイズ)の値より下回らないようにする必要があります。


disable_vrfy_command = yes
SMTP VRFY コマンドを無効にします。
VRFYコマンドによってそのユーザが存在するか確認できる為、外部から有効なメールアドレスがわかってしまいます。
そのため、VRFYコマンドを無効にします。


smtpd_banner = $myhostname ESMTP
メールサーバ接続時に、サーバから返されるテキスト情報です。
必ずテキストの最初には $myhostname を指定しなければいけません。
デフォルトでは $myhostname ESMTP Postfix が返るため、メールシステムが Postfix であることを隠ぺいする為に、 $myhostname ESMTP と設定します。


smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
SMTPSに対応する際に必要です。
SMTPSで接続時に参照するサーバ証明書を指定します。
証明書の作成については、 https でアクセス出来るようにするための apache の設定を参照してください。
yum install mod_ssl , yum install openssl で必要パッケージをインストール後、サーバ用秘密鍵(server.key)の作成 〜 自己署名したサーバ証明書(server.crt)の作成 の手順に従って作成してください。


smtpd_tls_security_level = may
SMTPSに対応する際に必要です。
Postfix SMTPサーバでのSMTP TLSセキュリティレベルを指定します。
未設定の場合はTLSは使いません。
may を指定すると、STARTTLSサポートをクライアントに通知します。ただし、クライアントがTLS暗号化を使うことは強制しません。
encrypt を指定すると、クライアントが TLS暗号化を使うことを強制します。ただし、メール転送元のサーバが対応していない場合、そのサーバからのメールが届かなくります。従って、ここでは may を指定します。


smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
SMTPSに対応する際に必要です。
TLSセッションキャッシュデータベースを作成する場所を指定します。


smtpd_sasl_type = dovecot
SMTP-Authに対応する際に必要です。
メール送信要求受付時に認証に使うSASLプラグインの種類を指定します。
受信サーバとして Dovecot を使用する場合は、Dovecot の認証を利用できるので、dovecot を指定します。
これにより、受信時に使用するユーザアカウント名/パスワードを、メール送信時の認証に使用できます。
ここで設定する認証は、ユーザがメールクライアントソフトでメール送信する際に要求されます。


smtpd_sasl_path = private/auth
SMTP-Authに対応する際に必要です。
smtpd_sasl_type で dovecot を使用した場合は、 private/auth を設定してください。
正確には、/etc/dovecot/conf.d/10-master.conf で指定した unix_listener の場所になります。
後述する dovecot の設定にて、unix_listener に private/auth を指定しますので、ここでも private/auth を指定します。


smtpd_sasl_auth_enable = yes
SMTP-Authに対応する際に必要です。
SMTPサーバとして SASL 認証を有効にします。


smtpd_sasl_security_options = noanonymous
SMTP-Authに対応する際に必要です。
SASLセキュリティオプションを指定します。
ここでは noanonymous(匿名認証を認めるような方法を許可しない)を設定します。


smtpd_sasl_local_domain = $myhostname
SMTP-Authに対応する際に必要です。
SASL認証で使用するレルム(名前空間)を指定します。とりあえず他サーバと重複が無い $myhostname を指定して下さい。


smtpd_client_restrictions =permit
自サーバ(=SMTPサーバ)がクライアント(ユーザのメールクライアントソフト、他のメールサーバ)からSMTP接続の要求を受けた際に適用するアクセス制限を指定します。
カンマまたは空白で区切って指定します。
指定できるアクセス制限のリストは、 Postfix設定パラメータ の smtpd_client_restrictions の箇所を参照してください。
アクセス制限は先頭から順番にチェックされます。
ここで、アクセス制限のリストが必ず 拒否 になる設定にしてしまうと、あなたのサーバのメールアドレス宛のメールが他サーバからリレーされず、メールが届かなくなってしまいます。
セキュリティ上特定の配信元を拒否する以外は、アクセス制限のリストに 許可 するものが含まれるようにしてください。
また、後述する /etc/postfix/master.cf で、smtpsの場合と、サブミッションポートを指定した送信の場合は、別途 smtpd_client_restrictions を定義しています。


smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
メールリレーの際に適用されるアクセス制限を指定します。
smtpd_client_restrictions がクライアント(ユーザのメールクライアントソフト、他のメールサーバ)からの接続を受け入れるか否かの設定に対し、smtpd_recipient_restrictions は受け入れた接続によるメールをリレー(自サーバへのメール配信や他サーバへのメール送信)するか否かを設定します。
アクセス制限はカンマまたは空白で区切って指定し、チェックは先頭から順番に行われます。
permit_mynetworks は、接続元が $mynetworks にリストアップされたネットワークの場合、要求を許可します。
permit_sasl_authenticated は認証を通過した接続元からの要求を許可します。
reject_unauth_destination では、宛先が mydestination で指定されたものでは無い場合に拒否します。


続きます


参考


Postfix 基本設定
Postfixでスパムメールを拒否する
Postfixによるメールサーバーの構築
メールサーバー構築(Postfix+Dovecot) - CentOSで自宅サーバー構築
Kozupon.com - Postfixのセキュリティパラメータ(2013年04月改訂版)!

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(11件)

タイトル (本文) ブログ名/日時
CentOS6でのメールサーバの設定(postfixその2)
CentOS6でのメールサーバの設定です。 メール受信サーバ(pop3,imap4,pop3s,imap4s),送信サーバ(smtp,smtps,smtps-auth)として設定します。 サーバとして postfix,dovecotを使用します。 以下を設定します。 -postfix の main.cf の設定 -postfix の master.cf の設定 -dovecot の設定 ...続きを見る
パソコン鳥のブログ
2013/07/15 11:22
CentOS6でのメールサーバの設定(dovecot)
CentOS6でのメールサーバの設定です。 メール受信サーバ(pop3,imap4,pop3s,imap4s),送信サーバ(smtp,smtps,smtps-auth)として設定します。 サーバとして postfix,dovecotを使用します。 以下を設定します。 -postfix の main.cf の設定 -postfix の master.cf の設定 -dovecot の設定 ...続きを見る
パソコン鳥のブログ
2013/07/16 20:37
telnetでメールサーバの動作確認(POP3,IMAP4)
メールサーバを構築した後の動作確認はどうやっていますか? Thunderbird や Outlookでメール受信できなかった場合、これらのソフトの設定の問題か、サーバ自身の問題かの切り分けが困難です。 そこで、Windowsのtelnetコマンドを使ってメールサーバの動作確認をする方法を紹介します。 ...続きを見る
パソコン鳥のブログ
2013/07/31 19:05
telnetでメールサーバの動作確認(SMTP,SMTP-AUTH)
メールサーバを構築した後の動作確認はどうやっていますか? トラブルが起こった場合、Thunderbird や Outlookを使ってみるだけでは、これらのソフトの設定の問題か、サーバ自身の問題かの切り分けが困難です。 ...続きを見る
パソコン鳥のブログ
2013/08/01 22:30
POP/IMAP/SMTP接続のメールログ確認方法
メール送受信時のアクセスで、どのようなログがメールログに残るか説明します。 メールサーバの動作確認で、メーラからアクセスしてサーバが接続を受け入れているかの確認に利用可能です。 次の送受信の時の接続ログについて説明します。 ...続きを見る
パソコン鳥のブログ
2013/12/10 23:36
複数のメールドメインを運用できるバーチャルメールボックス
下記の記事でpostfix でのメールサーバの設定を説明しました。 ここで設定したメールドメイン以外に、同じサーバで他にも dog@animal.jp , grape@fruit.jp といった異なるドメイン(メールアドレスの@より右側)のメールを運用したい場合は、追加の設定が必要です。 ...続きを見る
パソコン鳥のブログ
2013/12/22 08:43
SMTP認証へ辞書攻撃されるのでメールサーバをSMTPS-AUTH のみ利用にする
メール送信時に認証を要求する SMTP-AUTH が利用できるメールサーバの場合、SMTP-AUTH のポートに対して、ユーザ名/パスワードを試行する辞書攻撃を受けることがあります。 ...続きを見る
パソコン鳥のブログ
2014/01/29 22:40
Postfixでアルファベットの大文字を含むメールアドレスにメールを送れない
Linuxではアルファベットの大文字を含むユーザを作成することが出来ます。 このユーザのメールボックスは、通常ユーザのホームディレクトリ下にあります。 ...続きを見る
パソコン鳥のブログ
2014/04/12 23:18
SSLv3 に関する脆弱性(POODLE 攻撃)への対処
SSLv3 に関する脆弱性(POODLE 攻撃)に対する、ブラウザ、Java、サーバの対処方法です。 ...続きを見る
パソコン鳥のブログ
2014/10/27 23:01
postfixのメール再送期間はデフォルトで5日と長いので短くする
相手先メールサーバがダウンしている場合、postfixは一定期間までメールの再送を試みますが、この期間はデフォルトで5日と長くなっています。 このままだと、メールが配信できなかった場合、5日もたってからメール送信者にエラーメールが返ります。 ...続きを見る
パソコン鳥のブログ
2015/06/13 17:39
smtp認証でのメール送信を接続元IPアドレスでアクセス制限する
メール送信サーバ postfix で、smtp認証でのメール送信を接続元IPアドレスで制限する方法です。 ...続きを見る
パソコン鳥のブログ
2015/11/26 23:47

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
CentOS6でのメールサーバの設定(postfixその1) パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる