「Postfix」の設定

ここではPOP+IMAPサーバに「Dovecot」を用い、Webメールに「SquirrelMail」を用いることを前提に設定します。
また、外部からもメールを利用できるようにし、不正中継を行わないようにSMTP-AUTHの設定も行います。
なお、「Outbound Port25 Blocking」への対応方法はこちらを参照して下さい。

「Postfix」のインストール
[root@Fedora ~]# yum -y install postfix <= 「Postfix」のインストール
[root@Fedora ~]# yum clean packages <= ダウンロードしたパッケージの削除
「Postfix」の設定
[root@Fedora ~]# vi /etc/postfix/main.cf <= 設定ファイルの編集
myhostname = Fedora.crimson-snow.net <= 追加(ホストネームを指定)

mydomain = crimson-snow.net <= 追加(ドメイン名を指定)

自ホストが最終的な宛先とみなすアドレスの変更
mydestination = $myhostname, localhost.$mydomain, localhost
↓
#mydestination = $myhostname, localhost.$mydomain, localhost <= コメントアウト

#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain <= コメント解除

#myorigin = $mydomain
↓
myorigin = $mydomain <= コメント解除( @ 以下のアドレス)

メールを受け取る範囲を指定する
#inet_interfaces = all
↓
inet_interfaces = all <= コメント解除

inet_interfaces = localhost
↓
#inet_interfaces = localhost <= コメントアウト

#mynetworks = 168.100.189.0/28, 127.0.0.0/8
↓
mynetworks = 192.168.0.0/16, 127.0.0.0/8 <= 変更(LANのアドレスとローカルホストアドレスを指定)

#home_mailbox = Maildir/
↓
home_mailbox = Maildir/ <= コメント解除(メールボックス形式をMaildir形式にする)

#smtpd_banner = $myhostname ESMTP $mail_name
↓
smtpd_banner = mail.$mydomain ESMTP $mail_name <= サーバ情報の表示を変更


SMTP認証の為に以下を追加
smtpd_sasl_auth_enable = yes <= SMTP認証を有効にする
smtpd_sasl_local_domain = $mydomain <= SMTP認証するローカルドメインの指定
smtpd_sasl_security_options = noanonymous, noplaintext
	・noanonymous <= 匿名を許可しない
	・noplaintext <= 暗号化されないパスワードを許可しない
broken_sasl_auth_clients = yes <= AUTHコマンドのサポートを認識できないクライアントへの対応
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
 <= SMTP認証の要求(リレーするものを設定)
	・permit_mynetworks <= mynetworksで指定されたネットワークからのリレーを許可
	・permit_sasl_authenticated <= SMTP認証を通過したものは許可
	・reject_unauth_destination <= 上記以外拒否

root宛てのメールを一般ユーザに転送するようにします。

[root@Fedora ~]# vi /etc/aliases <= 設定ファイルの編集
root:		kaz <= 追加(一般ユーザ kaz に転送)


[root@Fedora ~]# newaliases <= aliasesの読み込み
ヘッダの書き換え

ヘッダにあるLANの情報を削除します。

main.cfの設定

[root@Fedora ~]# vi /etc/postfix/main.cf <= 設定ファイルの編集
#header_checks = regexp:/etc/postfix/header_checks
↓
header_checks = regexp:/etc/postfix/header_checks <= コメント解除

header_checksの設定

[root@Fedora ~]# vi /etc/postfix/header_checks <= 設定ファイルの編集
/^Received:.*192\.168\..*/ IGNORE <= 追加
/^Received:.*127\.0\.0\.1.*/ IGNORE <= 追加
SMTP認証の為のSASLの設定

SMTP認証にはシステムアカウントを利用する方法と、sasldb2を利用する方法があります。
sasldb2を利用すれば、システムアカウントとは異なるパスワードを設定できますので、 こちらの方がセキュリティは高くなります。

必要なパッケージのインストール

「Cyrus-SASL」を利用しますが、以下のパッケージが必要になります。
・cyrus-sasl
・cyrus-sasl-devel
・cyrus-sasl-lib
・cyrus-sasl-plain
・cyrus-sasl-md5
この中で一番下の「cyrus-sasl-md5」はデフォルトではインストールされていない為、注意が必要です。

[root@Fedora ~]# yum -y install cyrus-sasl-md5 <= 「cyrus-sasl-md5」のインストール
[root@Fedora ~]# yum clean packages <= ダウンロードしたパッケージの削除

1.システムアカウントを利用した認証(pamを利用)

pamを利用する場合、CRAM-MD5等の暗号化したパスワードが利用できない為、上記の「Postfix」の設定を変更します。

[root@Fedora ~]# vi /etc/postfix/main.cf <= 設定ファイルの編集
smtpd_sasl_security_options = noanonymous, noplaintext
↓
smtpd_sasl_security_options = noanonymous <= 「noplaintext」の削除

「saslauthd」の設定

[root@Fedora ~]# vi /etc/sysconfig/saslauthd <= 設定ファイルの編集
MECH=shadow
↓
MECH=pam <= pamによる認証

SASL認証デーモンを起動します。

[root@Fedora ~]# /etc/rc.d/init.d/saslauthd start

fedora起動時にSASL認証デーモンを起動するようにします。

[root@Fedora ~]# chkconfig saslauthd on

2.sasldb2による認証

まず、smtpd.conf ファイルを編集します。

[root@Fedora ~]# vi /usr/lib/sasl2/smtpd.conf <= 設定ファイルの編集
pwcheck_method: saslauthd
↓
pwcheck_method: auxprop <= 変更

次に、saslauthd ファイルを編集します。

[root@Fedora ~]# vi /etc/sysconfig/saslauthd <= 設定ファイルの編集
MECH=shadow
↓
#MECH=shadow <= コメントアウト

FLAGS=
↓
FLAGS=sasldb <= 認証方法をsasldb2に指定

SASLのデータベースにユーザを追加します。

・新規登録
[root@Fedora ~]# saslpasswd2 -u crimson-snow.net -c kaz <= ユーザ kaz を追加
Password: <= パスワード
Again (for verification): <= パスワード(確認)

・パスワード変更
[root@Fedora ~]# saslpasswd2 -u crimson-snow.net kaz <= ユーザ kaz のパスワードを変更
Password: <= パスワード
Again (for verification): <= パスワード(確認)

・ユーザ削除
[root@Fedora ~]# saslpasswd2 -u crimson-snow.net -d kaz <= ユーザ kaz を削除

・ユーザ確認
[root@Fedora ~]# sasldblistusers2

SALSのデータベースをPostfixから参照できるようにします(最初の1回のみ)。

[root@Fedora ~]# chgrp postfix /etc/sasldb2 <= 所属グループをpostfixに変更

[root@Fedora ~]# chmod 640 /etc/sasldb2 <= パーミッションを変更
「Postfix」の起動

まず、デフォルトで起動している「sendmail」を停止します。

[root@Fedora ~]# /etc/rc.d/init.d/sendmail stop

fedora起動時に「sendmail」起動しないようにします。

[root@Fedora ~]# chkconfig sendmail off

「Postfix」を起動します。

[root@Fedora ~]# /etc/rc.d/init.d/postfix start

「Postfix」の自動起動

fedora起動時に「Postfix」を起動するようにします。

[root@Fedora ~]# chkconfig --add postfix
[root@Fedora ~]# chkconfig postfix on
▲ページのトップへ