2012年2月5日日曜日

postfix インストール

設定方法については、「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 で行うことにします。


中途半端な記述になってしまいましたが、後日追記します...

0 件のコメント:

コメントを投稿