harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

GNU/Linux infra MAIL postfix

postfix SMTP-auth設定

投稿日:2004年12月13日

Last Updated on 2022年3月13日 by かんりにん

[pukiwiki]

&topicpath;
 

**▼SMTP-auth設定 [#e44ccef9]
 (会社編)
 ※自宅サーバ編は別途編集。

postfix+cyrus-SASLの組み合わせでのSMTP-authの実装です…が、いろいろあって検証環境ではまだ途中です
(本番環境ではすぐいけそうな感じだけど、重要インフラなので気をつけて…)

※当初cyrus-SASLをソースコンパイルしたものを使用するつもりでしたが、いまいち動作がおかしい(コンパイル時のオプションがおかしい?)ので
 おとなしくRPMパッケージで設定しました。

**1)cyrus-SASLのインストール確認 [#r2d7d4bc]
RPM版でインストールを完了しているのでそのまま使用する。

▼saslデータベース

sasl認証のパスワードファイル。
sasldb :/etc/sasldb
確認コマンド # strings /etc/sasldb

▼パスワードファイルの設定

Postfixがsasldbを利用できるようにグループに登録し、
パーミッションを変更します。

# chgrp postfix /etc/sasldb
# chmod 640 /etc/sasldb

▼saslパスワード登録コマンド

パスワード登録 saslpasswd :/usr/sbin/saslpasswd
パスワード確認 sasldblistusers :/usr/sbin/sasldblistusers

▼パスワードファイルの設定

Postfixがsasldbを利用できるようにグループに登録し、
パーミッションを変更します。

# chgrp postfix /etc/sasldb
# chmod 640 /etc/sasldb

**2)postfixの再コンパイル [#r5cab32c]

$ cd /usr/local/src/postfix-2.0.16/
$ make tidy ←注
以前にインストールしたソースディレクトリで作業を行う場合に必要です。
$ make makefiles CCARGS=”-DUSE_SASL_AUTH -I/usr/include” \
AUXLIBS=”-L/usr/lib -lsasl”
$ make
$ su
# make install

▼main.cfの編集

変更箇所は以下の項目
main.cfの最後のあたりへ追記する。

# Other configurable parameters.
smtpd_sasl_auth_enable = yes ←SMTP Authの利用を許可する
smtpd_sasl_local_domain = $mydomain ←SMTP認証するlocal domainの指定。
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,\
check_relay_domains, reject
smtpd_sasl_security_options = noanonymous ←anonymous接続を拒否する
broken_sasl_auth_clients = yes ←OutlookExpressから利用する

※注意
 mynetworkディレクティブによって認証なしで送信を許可するネットワークを
 指定する。
 社内のIPが指定されていることを必ず確認すること。

▼main.cfの書式チェック

書式チェック
# postfix check
エラーがなければ、プロンプトが戻ってくる。

▼postfix再起動
# postfix start あるいは reload

**3)送受信確認 [#q3f46ef9]

コンパイルに成功したら、コマンドプロンプトから
telnetでポートを指定して確認する。

$ telnet localhost 25 <-- 入力し、エンター Trying 127.0.0.1... Connected to localhost. 220 example ESMTP Postfix EHLO localhost <-- EHLO localhostと入力 250-mail.example.com 250-PIPELINING 250-SIZE 10240000 250-ETRN 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 <-- この行があればOK※ 250 8BITMIME QUIT <-- 確認できたので、QUITコマンドで切断します ※上記と同じメッセージが出力されない場合は  saslの認証に失敗しているので、saslのパスワード登録をやり直し!! ''【AUTH PLAINが出ない場合の対処法】'' 参照元にさせてもらいました↓ [[http://www.kobitosan.net/postfix/ML/arc.3/msg00641.html]] 以下の2つの対処法のうちどちらか、あるいは両方をためして 再度telnetで出力結果を確認。 ***対処1: [#k90eb0ea]  postconfをたたいて、smtpd_sasl_security_optionsが''noplaintext''に  なっているか確認。  ※postconfは、main.cfを読み込んでコンフィグを一覧するコマンド。 [root@example postfix]# postconf | grep smtpd_sasl_security_options smtpd_sasl_security_options = noplaintext, noanonymous [root@example postfix]# この場合、smtpd_sasl_security_optionsからnoplaintextを削除する。 [root@example postfix]# postconf -e smtpd_sasl_security_option=noanonymous とし、noanonymousだけを指定する。 再度確認して消えていればOK。 [root@example postfix]# postconf | grep smtpd_sasl_security_options smtpd_sasl_security_options = noanonymous [root@example postfix]# ***対処2: [#y62edc22]   smtpd.confにmech_list: GSSAPI DIGEST-MD5 CRAM-MD5   と手動設定されていないか     この場合は/usr/lib/sasl/smtpd.confを以下のように編集すればOK。 pwcheck_method:sasldb mech_list: LOGIN PLAIN GSSAPI DIGEST-MD5 CRAM-MD5 設定が完了したら、出力確認 [root@example postfix]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.example.com ESMTP Postfix EHLO localhost ←リクエストを入力 250-mail.example.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI ←出力されました! 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI ←出力されました! 250 8BITMIME QUIT ←ログアウト 221 Bye Connection closed by foreign host. [root@example postfix]# ちなみにまだ本運用を開始していないので このページも完全ではありません。 [/pukiwiki]

-GNU/Linux, infra, MAIL, postfix

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

no image

[メモ]CMakeインストール

[pukiwiki] MySQL-5.5.9をインストールしようとしたら、configureが見当たらず CMakeに変更されていたので、ひとまずMySQL用にインストール。 -CMakeの公式サイト …

no image

[juniper] SRX(JunOS) ルーティング不具合修正(非対称ルートへの対応)

  SSGシリーズからSRX220にリプレイスを行った際に、VPNを経由したリモートオフィスとのLAN通信がうまくいかない事象が起きたので、トラブルシュート。 ・社内LANにおいてゲートウェイが複数あ …

no image

[Juniper]SRX アカウント設定いろいろ

SRXシリーズでのアカウントの各種設定をメモ書き。 コマンドラインから操作する場合は、原則configureモードで行う。 参考:お世話になっております! SRX Getting Started &# …

[AWS]ただのメモ:rightscaleのCentOSでなぜかyum updateが動かない、と思ったら

  EC2にてrightscaleのCentOSにセキュリティパッチをあてるため”yum update”をしておこうとしたら、”No Packages marked …

no image

postfix設定変更(inet_protocols)

参考:お世話になっております。 Postfix IPv6サポート http://www.postfix-jp.info/trans-2.2/jhtml/IPV6_README.html EC2のCen …