2005年10月13日

メール送信サーバ構築(Postfix)

postfix

受け取るポストが無くては、ラブレターも届かない。

まずは送信用メールサーバの構築。
なにもしなくてもサーバー管理用のメールが届くこともあると思うが、あれはPC箱の中にいる妖精さんの仕業でもなんでもなく、sendmail で自動的に送られる設定になっている。

[root@chapeau root]# rpm -qa| grep mail
procmail-3.22-9
sendmail-cf-8.12.8-4
mozilla-mail-1.2.1-26
sendmail-8.12.8-9.90
squirrelmail-1.2.11-1
redhat-switch-mail-0.5.17-1
mailx-8.1.1-28
mailman-2.1.1-5
mailcap-2.1.13-1
redhat-switch-mail-gnome-0.5.17-1

おー、いろいろ入ってるのぉ。
あと「postfix-1.1.12-1」も入ってた。
とりあえず sendmail はヤバいので、入ってる「Psotfix」を使うことにする。「sendmail x」や「qmail」も気になるところ。

Postfixは、sendmail互換の、セキュリティを配慮したメールサーバで、並列配送が可能で処理が高速(TCP slow start アルゴリズム実装)という代物。
ライバルと思われる qmail は、神がかり的なカリスマを持つ作者が製作した、高い技術とセキュリティを誇るサーバ。
後で qmail の方も入れてみよう!

設定ファイル /etc/postfix/main.cf

myhostname = ホスト名.ドメイン名
mydomain = 自ドメイン名のみ
myorigin = $mydomain #送信元アドレスの@以降につく名前
inet_interfaces = all #受信するネットワーク。「localhost」だとリモートからのメールは受信しない
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #記述したあて先のドメインを受信する
#local_recipient_maps = unix:passwd.byname $alias_maps #有効だと存在しないユーザー宛ての受信を拒否
mynetworks_style = subnet #同一のサブネットからのみ送信。「class」とは絶対にしてはいけない。

mynetworks = 192.168.0.0/24, 127.0.0.0/8 #記述なしでもOK。信頼するアドレス帯。内部ネットワークアドレスとローカルホストアドレス
#relay_host = $mydomain #他にメールサーバがある場合はここをいろいろ変える
relay_domains = $mydestination #上記以外の許可する範囲
home_mailbox = Maildir/ #メールボックス格納形式をMaildir(1メール=1ファイル)に

#不正中継ホストのDBにある接続の拒否
smtpd_client_restrictions = permit_mynetworks,
reject_rbl_client relays.ordb.org,
permit

不正中継ホストデータベース
http://www.ordb.org/about/
電子メールの不正中継 (open SMTP relay) が可能なホストのリストを保持・管理をする非営利団体。

フィルタ設定 /etc/postfix/header_checks

ローカルLAN内のIPアドレスがメールのヘッダに表示されないようにする
/^Received:\sfrom .*\[127\.0\.0\.1\]|^Received:\sfrom .*\[192\.168.*\]/ IGNORE

タイトルが「未承諾広告」になっているメールを拒否するようにする
/^Subject:\ =\?ISO-2022-JP\?B\?GyRCTCQ\+NUJ6OS05cCIoGyhC\?=.*/ REJECT

postalias /etc/postfix/header_checks で再起動

SMTP-Auth設定 (最後に追加)

smtpd_sasl_auth_enable = yes #認証機能を有効
#broken_sasl_auth_clients = yes #Outlokok用LOGIN方式を許可
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,
reject_unauth_destination #リレー制限

※permit_mynetworks : mynetworks値からの中継を許可
※permit_sasl_authenticated : SASL認証からの中継を許可
※reject_unauth_destination : 上記以外を拒否

mailbox_size_limit = 10240000 #メールボックス容量を10MBに制限
message_size_limit = 1024000 #1つのメールのサイズを1MBに制限

saslauthd 自動起動

/etc/init.d/saslauthd start
chkconfig saslauthd on

SASL設定ファイル /usr/lib/sasl2/smtpd.conf

選択:
(A)pwcheck_method: saslauthd #チェックをsaslauthdデーモンが行う(システムアカウント)
(B)pwcheck_method: auxprop #チェックを専用アカウントで行う場合

mech_list: plain login #認証方式を平文とoutlook用に限定

バーチャルホスト設定ファイル /etc/postfix/virtual

バーチャルドメイン名  subdomain
ユーザー名@バーチャルドメイン名  宛先ユーザー

全転送
※@hogehoge.net @hogehoge.jp

設定ファイル /etc/postfix/main.cf

virtual_maps = hash:/etc/postfix/virtual

postmap /etc/postfix/virtual
/etc/rc.d/init.d/postfix reload
 ・・・で設定反映

転送設定

/etc/aliases  に追加
転送元: 転送先ユーザー名前

# postalias /etc/aliases  #設定を反映
# newaliases  # aliases.db を作成


同じカテゴリー(98NXで Red Hat Linux 9)の記事
DNSサーバー、BIND設定
DNSサーバー、BIND設定(2005-09-25 09:37)

cpan の読み方
cpan の読み方(2005-09-04 00:15)


 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。