設定方法については、「OSSでLinuxサーバ構築」さんや「Stray Penguin」さんを参照させて頂いております。「OSSでLinuxサーバ構築」さん「Stray Penguin」さんありがとうございます。
[root@ora02 ~]# yum install postfix
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
* rpmforge: fr2.rpmfind.net
* updates: rsync.atworks.co.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postfix.i386 2:2.3.3-2.3.el5_6 set to be updated
--> Processing Dependency: cyrus-sasl >= 2.1.10 for package: postfix
--> Running transaction check
---> Package cyrus-sasl.i386 0:2.1.22-5.el5_4.3 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
postfix i386 2:2.3.3-2.3.el5_6 base 3.5 M
Installing for dependencies:
cyrus-sasl i386 2.1.22-5.el5_4.3 base 1.2 M
Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total download size: 4.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): cyrus-sasl-2.1.22-5.el5_4.3.i386.rpm | 1.2 MB 00:00
(2/2): postfix-2.3.3-2.3.el5_6.i386.rpm | 3.5 MB 00:00
--------------------------------------------------------------------------------
Total 4.4 MB/s | 4.7 MB 00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : cyrus-sasl 1/2
Installing : postfix 2/2
Installed:
postfix.i386 2:2.3.3-2.3.el5_6
Dependency Installed:
cyrus-sasl.i386 0:2.1.22-5.el5_4.3
Complete!
[root@ora02 ~]#
【postfixユーザー】
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
【postfixグループ】
postdrop:x:90:
postfix:x:89:
正規表現によるメールフィルタリングの制御に PCRE があると高度なフィルタリングが可能。
デフォルトでインストールされていると思いますが、コンパイルオプションでunicode-propertiesが有効になっていないということあるかもしれないので、確認をする。
[root@ora02 ~]# pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
UTF-8 support
Unicode properties support ← これでOK! NGの時 → No Unicode properties support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
[root@ora02 ~]#
基本設定
■ main.cfの編集
・設定ファイル/etc/postfix/main.cfの編集
# vi /etc/postfix/main.cf
# ホスト名
myhostname = mail.oss-d.net
# ドメイン名
mydomain = oss-d.net
# @以降のドメイン名
myorigin = $mydomain
# メールを受け取るネットワークインタフェースのアドレス範囲
inet_interfaces = all
# メールの最終目的地とみなす範囲の指定
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 信頼できるクライアントのネットワーク
mynetworks = 192.168.11.0/24, 127.0.0.0/8
# リレーを許可するドメインを指定
relay_domains = $mydestination
# メールBOXの形式
home_mailbox = Maildir/
■ SMTP-AUTH対応(SASL認証)
■ main.cfの編集
・設定ファイル /etc/postfix/main.cf を編集(設定を追記する)
# SASLによるSMTP認証を使用
smtpd_sasl_auth_enable = yes
# 使用可能な認証メカニズムの設定
# noanonymous : 匿名接続を拒否。
# noplaintext : PLAIN認証を拒否(Outlook ExpressはPLAIN認証のみ対応)
#smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_security_options = noanonymous
# 認証時のTLSの利用(TLSを強制する場合はyesに変更)
#smtpd_tls_auth_only = yes
#ローカル認証 realm を設定
smtpd_sasl_local_domain = $myhostname
#メールの送信可能なユーザ定義
# mynetworks sasl認証された は許可。それ以外は拒否
smtpd_recipient_restrictions =
permit_mynetworks
permit_auth_destination
permit_sasl_authenticated
reject
# Outlook LOGIN 認証を利用するための設定
broken_sasl_auth_clients = yes
■ SASLの設定
1. 「/usr/lib/sasl2/smtpd.conf」を下記の通り設定します。
pwcheck_method: saslauthd
mech_list: login plain
2. 「/etc/sysconfig/saslauthd」を下記の通り設定します。ユーザ情報はPAM経由でUNIXアカウントを利用します。
MECH=pam
3. SASLの自動起動設定
# chkconfig saslauthd on
4. SASLの起動
# /etc/init.d/saslauthd start
または
# service saslauthd start
■ SMTP-AUTH対応(LDAP認証)
SMTP-AUTHの認証をLDAPで行うように設定します。
■ SASLの設定
1. 「/usr/lib/sasl2/smtpd.conf」を下記の通り設定します。
# vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: login plain
2. 「/etc/sysconfig/saslauthd」を下記の通り設定します。
# vi /etc/sysconfig/saslauthd
MECH=ldap
3. SASLがLDAPのユーザ情報を使用するよう「/etc/saslauthd.conf」を作成する。
# vi /etc/saslauthd.conf
ldap_servers: ldap://localhost
ldap_search_base: ou=Users,dc=hoge,dc=com
ldap_filter: uid=%u
4. SASLの自動起動設定
# chkconfig saslauthd on
5. SASLの起動
# /etc/init.d/saslauthd restart
-------------------------
SMTP-TSL対応
■ 秘密鍵と証明書の作成
秘密鍵「localhost.key」と証明書「localhost.crt」を作成します。
今回 sendmail でなく postfix をインストールする理由
Sendmailはメールアカウントの認証をホストのログインアカウントの流用で行っており、Postfixがサポートしているような仮想メールアカウントの機能を備えていないため、メールアカウントをLDAP参照にするのはpam_ldap等を使用してホストのログインアカウントをldap参照とし、これを流用するという方法による間接的な対応となります。今回はLDAPによるユーザー認証を目的としているので Postfix で行うことにします。
中途半端な記述になってしまいましたが、後日追記します...