はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/01/16
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

このスレッドはクローズされています。記事の閲覧のみとなります。

 メールサーバに接続出来ません
日時: 2013/05/06 20:40
名前: ぱみゅ

1.不明点・障害内容:メールサーバにつながらない?
2.ログの有無   :メールソフトのログ
■アカウント: mail@myhost.net でのエラー。
POP3用のユーザーアカウントが拒否されました。
エラー内容 = Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
  (有:その内容) :
3.Distribution  :CentOS
      Version :6.2
4.Service Name  :postfix
      Version :
5.ネットワーク構成:
 メールサーバとしてpostfixとdovecotをこのサイトの解説を読みながら設定しました。メールソフト側では
IDとパスワードを設定し、送信受信サーバにはサーバのグローバルIPアドレスを入れてあります。
この状態で受信しようとすると上記のようにエラーになります。送信しようとすると
サーバのIPアドレスに接続はするのですが、「長時間応答がありません」となって送信もできません。
何か設定が足りないのでしょうか?

■ コンテンツ関連情報

 Re: メールサーバに接続出来ません ( No.1 )
日時: 2013/05/06 22:14
名前: ぱみゅ

 その後、いろいろ試していたら状況が変わりました。今はメールソフトのログに下記のように表示されます。

■アカウント: mail@myhost.net でのエラー。
POP3用のパスワードが間違っているか、または認証に失敗しました。
エラー内容 = Authentication failed.

 メールソフトに設定してあるパスワードは合っていますし、saslで設定したパスワードも合っています。認証に失敗する理由が解りません。
 Re: メールサーバに接続出来ません ( No.2 )
日時: 2013/05/07 01:29
名前: 一発屋芸人

メーラーのエラー表示は、大してアテにならないと思いますけど。

>サーバのグローバルIPアドレスを入れてあります。
と、ありますが固定IP契約ですか?


>Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
これでググると/dovecot/conf.d/10-auth.confの
disable_plaintext_auth = yesをnoにすると書いてますが、ウチの環境ではコメントアウトになってます。

ここら辺を触ってdovecotを再起動してどうなるかです。

もう少しサーバーのログを書いてもらった方が回答が得やすいとおもいますよ。
tail -f /var/log/maillog これを実行しながらメーラーでサーバーに繋ぎに行くとその時のログが表示されます。
あと、SSLを使うのか使わないのかなどの構成も。

とりあえず、詳細なログを。
 Re: メールサーバに接続出来ません ( No.3 )
日時: 2013/05/07 03:40
名前: stranger
参照: http://ja.528p.com/

## Authentication processes

# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
#disable_plaintext_auth = yes

dovecotのAuthentication processesの説明

ssl/tls接続を使わなきゃ、plaintextのログインは許可しないよ
サーバマシン内は安心できると思われるからplaintextを許可するよ

sslの設定は/etc/dovecot/conf.d/10-ssl.confで行う
ssl証明書を用意すること
 Re: メールサーバに接続出来ません ( No.4 )
日時: 2013/05/07 18:41
名前: ぱみゅ

一発屋芸人さん、ありがとうございます。

> と、ありますが固定IP契約ですか?

 はい。固定IPアドレスを取っています。


> これでググると/dovecot/conf.d/10-auth.confの
> disable_plaintext_auth = yesをnoにすると書いてますが、ウチの環境ではコメントアウトになってます。
> ここら辺を触ってdovecotを再起動してどうなるかです。
> もう少しサーバーのログを書いてもらった方が回答が得やすいとおもいますよ。


 disable_plaintext_auth = yesはno担っていました。dovecot再起動直後に接続した時ののログは下記のようになっています。

May 7 18:05:06 v157.***-***-*** dovecot: master Dovecot v2..0.9 startingup(Core dumps disabled)
May 7 18:05:28 v157.***-***-*** dovecot: pop3-login: Disconnected (tried to usedisabled plaintext auth)

strangerさん、いつもお世話になります。構築はこのサイトの説明通りに行いました。

> sslの設定は/etc/dovecot/conf.d/10-ssl.confで行う
> ssl証明書を用意すること


 このへんがよく理解できていないように思います。特にssl証明書に関しては、サイトの説明になかったので何もしていません。

 

 Re: メールサーバに接続出来ません ( No.5 )
日時: 2013/05/07 19:24
名前: くりきんとん

コメント解除にしてnoでやってみたら?
 Re: メールサーバに接続出来ません ( No.6 )
日時: 2013/05/07 22:09
名前: ぱみゅ

くりきんとんさん、ありがとうございます。

> コメント解除にしてnoでやってみたら?

 noにしてやってみましたが、メーラからみた状況は変わりませんでしたが、ログの状況は変わりました。

May 7 20:41:21 v157-***-***-*** dovecot: pop3-login: Disconnected (Auth failed,1 attempts): use=<mail@myhost.net>, method=PLAIN ,rip=***.***.***.***,lip=***.***.***.***

 毎度のことながら知識不足で済みません。ただ、dovecot.confは現在正常に稼働しているサーバから抜き出したものを新しいサーバ機に移していますので、これの設定は間違っていないと思います。ただOSがCentOS5.8から6.2に変わったことでなに感の設定が足りなくなってるのかと考えています。

 Re: メールサーバに接続出来ません ( No.7 )
日時: 2013/05/08 14:19
名前: stranger
参照: http://ja.528p.com/

認証に失敗しているようですね

CentOS 5.x は dovecot 1.x
CentOS 6.x は dovecot 2.x
なので設定ファイルの構成や設定値の違いがあります

dovecot 1.xのdovecot.confをdovecot1.confなどにコピーして
下記コマンドを実行し、dovecot 2.xに対応した設定値に替えて出力し
分割された設定ファイルのなかで指定します
(errorがでたらその部分を無効にして再度doveconfを実行)
変更内容を分割された設定ファイルのなかで捜すのが大変だけど頑張る

doveconf -n -c dovecot1.conf > dovecot2.conf

あくまで参考 コンソールに警告がでて、dovecot2.confに変更が必要な設定例が記録される

設定例
dovecot.confの最終行近くの
!include conf.d/*.conf
の設定により
/etc/dovecot/conf.dのすべてのconfファイルが読み込まれ
10-auth.confの最終行近くの
!include auth-system.conf.ext
の設定により
auth-system.conf.extが読み込まれます
auth-system.conf.extで

passdb {
driver = pam
}

userdb {
driver = passwd
}

が設定されています
 Re: メールサーバに接続出来ません ( No.8 )
日時: 2013/05/08 16:28
名前: ぱみゅ

strangerさん、いつもありがとうございます。
 ご助言とこのサイトの説明に従って下記のように設定しました。(頑張ってみました)

<dovecot.conf>
protocols = imap pop3

<conf.d/10-mail.conf>
mail_location = maildir:~Maildir
valid_chroot?dirs = /home

<conf.d/20-pop3.conf>
popr_uidl_format = %u

<conf.d/10-auth.conf>
disable_plaintext_auth = no
auth_mechanism = plain login

<auth-system.conf.ext>
passdb {
driver = pam
}
userdb {
driver = passwd
}

これらの変更と確認を行なってdovecotを再起動し、受信しにいった時のログです。
May 8 15:50:33 v***-***-***-*** dopvecot: master: Dovecot v2.0.9 startingup(core dumps disabled)
May 8 15:50:44 v***-***-***-*** pop3-login: Disconnected (auth failed,1 attempts): user=<mai@myhost.net>, method=PLAIN, rip=***.***.***.***, lip=***.***.***.***
まだ何か足りないか間違っているでしょうか? それともメーラのログに

アカウント: mail@myhost.net でのエラー。
POP3用のパスワードが間違っているか、または認証に失敗しました。
エラー内容 = Authentication failed.

とでることかたAuthの設定がマズイのでしょうか?
 Re: メールサーバに接続出来ません ( No.9 )
日時: 2013/05/08 16:44
名前: stranger
参照: http://ja.528p.com/

user=<mai@myhost.net>
mailは特権ユーザですよね

/etc/passwdに記述されている実際のユーザのUIDを調べてください
UID 500 以上の一般ユーザの必要があります
そして念のためもう一度パスワードの設定をしてみてください

すくなくともサーバには到達しているので、どこか勘違いしているのかも
 Re: メールサーバに接続出来ません ( No.10 )
日時: 2013/05/08 18:29
名前: ゆりこ姫

私のメールサーバーの設定が一般的なのかどうか知りませんが、
ログには user=<hoge> のようにドメイン名が入らないで記録されます。

メールクライアントの設定の中で、
SMTP認証に使うユーザー名(アカウント名?)のところで
hogeとするところが、hoge@myhost.net になってるのでは?

hoge@myhost.net みたいになっていたら、hoge だけにしてアクセスしてみるといいかも。
 Re: メールサーバに接続出来ません ( No.11 )
日時: 2013/05/08 18:46
名前: ぱみゅ

> /etc/passwdに記述されている実際のユーザのUIDを調べてください
> UID 500 以上の一般ユーザの必要があります


 mail:x:501:501::/home/mail:/bin/bashとなっています。

> そして念のためもう一度パスワードの設定をしてみてください

 LINUXのパスワード、saslのパスワード共に再設定してみましたが、状況は変わりません。

> すくなくともサーバには到達しているので、どこか勘違いしているのかも

 ユーザーID。は通っているのにパスワードで認証ができない状態です。
 困りました。勘違いしそうな点を指摘していただけたらありがたく思います。
 Re: メールサーバに接続出来ません ( No.12 )
日時: 2013/05/08 20:10
名前: stranger
参照: http://ja.528p.com/

centos 6 の /usr/share/doc/setup-2.8.14/uidgidの情報です
実際のインストールと異るなる部分があります
/etc/passwdを見て確認してください

mail 8 12 /var/spool/mail /sbin/nologin setup

setupパッケージをインストールした段階で設定されるものです
CentOSでは mailはスーパーユーザ扱いされています

既に変更されているようですので、なんとも?

uidgidの情報に書かれているユーザ名やUID、GIDは一般ユーザでは使わないようにするのが基本

imapでアクセスしてみるとか
別のユーザを登録してアクセスしてみるとか

あとはよくわかりません
 Re: メールサーバに接続出来ません ( No.13 )
日時: 2013/05/08 21:28
名前: ゆりこ姫

/etc/aliases にも mailの転送設定があるから受信のときに影響があるかも

# cat /etc/aliases | grep mail
で確認するといいです。(rootに転送するようになってると思う)

とにかくmailというユーザーは一般ユーザーとして使わない方が無難ですわ。

(同じユーザー名でユーザーは作れないから、一度 mailを消して作り直したんだと思う)
 Re: メールサーバに接続出来ません ( No.14 )
日時: 2013/05/08 21:46
名前: ぱみゅ

ゆりこ姫さん

> メールクライアントの設定の中で、
> SMTP認証に使うユーザー名(アカウント名?)のところで
> hogeとするところが、hoge@myhost.net になってるのでは?


 それでした! mailだけにしたら通るようになりました。ありがとうございました。こんな単純なことにきづかなかったなんて…。strangerさん、悩ませてしまって済みません。
 これですっかり気を良くしたのですけど、送信ができません。「長時間にわたってサーバーから応答がありません」となります。申し訳ありませんが、もう少しお付き合いください。
 Re: メールサーバに接続出来ません ( No.15 )
日時: 2013/05/08 21:52
名前: くりきんとん

postconf -nとログを確認してみたら?
 Re: メールサーバに接続出来ません ( No.16 )
日時: 2013/05/08 22:54
名前: ぱみゅ

くりきんとんさん、ありがとうございます。postconf -nの結果は下記のようになっています。(長くて済みません)

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 10485760
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = myserver.net
myhostname = mail.myserver.net
mynetworks = 192.168.1.0/24, 127.0.0.0/8
mynetworks_style = class
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
relay_domains = $mydestination
sample_directory = /usr/share/doc/postfix-2.3.3/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
unknown_local_recipient_reject_code = 550
 Re: メールサーバに接続出来ません ( No.17 )
日時: 2013/05/09 06:22
名前: stranger
参照: http://ja.528p.com/

>送信受信サーバにはサーバのグローバルIPアドレスを入れてあります
ローカルもグローバルアドレスなのでは?

>アカウント: mail@myhost.net
myhost.netがドメインなのでは?

postfixはdnsサーバによる名前解決が基本です
グローバル・ローカル共にDNSによる名前解決ができますよね

送信受信サーバにメールサーバ名を使えば
外部からはグローバルアドレスで
内部からはローカルアドレスで送受信されるはず

実際にpostfixがportをListenしているか確認
サーバにログインしてroot権限で

netstat -lnpt


tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4323/master
 Re: メールサーバに接続出来ません ( No.18 )
日時: 2013/05/09 18:26
名前: ぱみゅ

strangerさん、いつもありがとうございます。
 DNSサーバは構築していません。Value DomainのダイナミックDNSサービスを使っています。事情が少しややこしくて、現在稼働しているサーバと新しいサーバは別の建物にあり、回線も別ですが、両方共固定IPを取っています。今回新しいサーバを構築しているのは、現在のサーバが老朽化してきて、それの代替えなのです。新しいサーバが稼働し始めたら、ダイナミックDNSを切り替えて、新しい方を有効化する予定で進めています。ですので、現在は新しい方のサーバの名前解決はできていません。そのためにサーバ名にIPアドレスを設定して試しているのです。

> 実際にpostfixがportをListenしているか確認
> サーバにログインしてroot権限で
> netstat -lnpt


 やってみましたら、postfixの記述がありませんでした。

tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 3450/dovecot

 受信サーバは正常だと思います。25番ポートの方は

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3625/master
となっていて、postfixは起動してはいるものの、正常に動作していない、と捉えて良いのでしょうか?



 Re: メールサーバに接続出来ません ( No.19 )
日時: 2013/05/09 21:10
名前: くりきんとん

>DNSサーバは構築していません。

メールサーバーは配送先のメールサーバーがわからない。
つまり、DNSサーバーに問い合わせても答えが来ないから長時間なんたらとでるんじゃないかな。
 Re: メールサーバに接続出来ません ( No.20 )
日時: 2013/05/10 08:23
名前: ぱみゅ

くりきんとんさん

 DNSによる名前解決ができていないので、メーラの送信サーバにメールサーバのIPアドレスを直接指定しているのではダメなのでしょうか? これならあたかも名前解決ができたようにメールサーバを直接叩きに行くと考えているのですが、違いますか?
 Re: メールサーバに接続出来ません ( No.21 )
日時: 2013/05/10 08:50
名前: くりきんとん

>メールの送信サーバにメールサーバのIPアドレスを直接指定しているのではダメなのでしょうか? これならあた>かも名前解決ができたようにメールサーバを直接叩きに行くと考えているのですが、違いますか?
この辺はためしていないのでなんとも(´・ω・`)

DDNSをつかってるのなら、無料なドメイン作れるところもあるから
それでサーバー作って試してみるもいいかも。

切り替える時ドメイン名やホスト名を変えればいいだろうし。
 Re: メールサーバに接続出来ません ( No.22 )
日時: 2013/05/10 19:32
名前: ぱみゅ

 仮運用では埒が明かないので、新しいサーバにDNSを切り替えてみました。結果、やはりメールの受信はできるものの送信ができません。その時のログです。
May 10 19:07:13 v***-***-***-*** postfix/smtpd[4789] connect from ***.**.***.***.aaa.aaaa.jp[***.***.***.***]
May 10 19:07:13 v***-***-***-*** postfix/smtpd[4789] : warning xasl_cyrus_server_get_mechanism_list: noapplicate SASL mechanismes
May 10 19:07:13 v***-***-***-*** postfix/master[3625]: warning process/usr/libenen/@pstfix/smtpd pid 4708 exist status 1
May 10 19:07:14 v***-***-***-*** postfix/master[3625]: warning /usr/libexec/@pstfix/smtpd: bad command startup throtting
May 10 19:00:54 v***-***-***-*** postfix/anvil[4711]: statistics: maxconnection raete 1/60s for (smtp:***.****.***.***) at May 10 19:07:13

 これ、saslが機能していないということなのでしょうか?
 Re: メールサーバに接続出来ません ( No.23 )
日時: 2013/05/10 23:22
名前: 一発屋芸人

固定IPなのにDDNSってよく分かりませんが

>arning xasl_cyrus_server_get_mechanism_list: noapplicate SASL mechanismes

http://kajuhome.com/postfix.shtml
メール送信時に以下のメッセージが表示されメール送信できない場合 に書いてある。
 Re: メールサーバに接続出来ません ( No.24 )
日時: 2013/05/11 06:51
名前: stranger
参照: http://ja.528p.com/

main.cfのsasl関連部分を一度無効にして送信してみたら
それでうまく行くなら、saslの問題
sasldbを使うのかsaslauthdを使うのかで設定方法が違います

sasldbを使う場合
saslauthdは起動しなくてよい

md5暗号化を使えるメールクライアントは限られるので
md5暗号化を使えない場合は

smtpd.confは

pwcheck_method:auxprop

main.cfは
smtpd_sasl_security_options=noanonymous

sasldb2には暗号化の部分とplaintextの部分が含まれる
暗号化が使えないメールクライアントのために暗号化されないパスワードが記録されています
stringsコマンドで確認してみる
strings /etc/sasldb2

saslauthdを使う場合
CentOS 6.4では/etc.sysconfig/saslauthdで
MECH=pamが指定されているので
saslの認証にpamを使うのでsasldb2は使わない

smtpd.confは

pwcheck_method:saslauthd
mech_list:plain login
 Re: メールサーバに接続出来ません ( No.25 )
日時: 2013/05/12 21:47
名前: ぱみゅ

一発屋芸人さん
そこは下記のようになっています。
pwcheck_method: auxprop
先頭に「#」を付けてコメント化
#mech_list: plain login


strangerさん

 saslを無効にするのは「smtpd_sasl_auth_enable = no」としました。これでいいでしょうか?
 この設定を行ったら、外部からのメールが受信できるようになりました。送信の方は、外部に対しての送信がまだダメです。メーラのログは下記のようになっています。
宛先アドレスが拒否されました。(554 5.7.1 <mailaddress@nifty.com>: Relay access denied)
この時の/var/log/naillogは下記のようになっています。
May 12 21:24:50 v***-***-***-*** postfix/smtpd/15493]:NOQUEEUE : reject :RCPTfrom ***.***.***.***.jp.****.jp[***.***.***.***] 554 5.7.1<mailaddress@nifty.com> proto=SMTP helo=<myhostname.net>
May 12 21:24:50 v***-***-***-*** postfix/smtpd[15793]: disconnect from ***.***.***.****.jp[***.***.***.***]

 思うに、メールのリレーがうまくいっていないのかと思い、その部分を再確認してみました。
<etc/postfix/main.cf>
relaydomains = $mydestination
relayhost = $mydomain

これで何か解りますでしょうか?

 Re: メールサーバに接続出来ません ( No.26 )
日時: 2013/05/13 07:56
名前: stranger
参照: http://ja.528p.com/

saslについては、設定がどこか間違っているということですね

mailサーバからの送信については
下記のOP25Bの説明をよんで該当する部分はないか確認してください

http://www.aconus.com/~oyaji/mail2/op25b.htm

追記
ケイタイへのメールは別物らしいので、netで調べてね
 Re: メールサーバに接続出来ません ( No.27 )
日時: 2013/05/13 19:08
名前: ぱみゅ

strangerさん、何度も御助言ありがとうございます。
あちこち問い合わせたり確認したりしましたが、OP25Bとは無縁のようです。
今日仕事場からやってみましたが、案の定送信出来ませんでした。自宅のサーバとクライアントはLANで繋がっていません。ですので、内部・外部という概念は当てはまらないと考えています。それでありながら前記のような状況になるのは、おそらくは設定が間違っているものと考えています。あとどこをチェックしたらいいのか、現状では皆目見当がつきません。受信はうまく行っているので、postfixの設定を疑っているのですが、違うでしょうか?
 Re: メールサーバに接続出来ません ( No.28 )
日時: 2013/05/13 22:56
名前: ぱみゅ

思い切ってpotfixを一度removeして再インストールし、再度main.cfを編集してみましたが状況は改善されませんでした。というよりも前より悪くなってしまいました。受信もできなくなってしまいました。main.cfの有効になっている行だけを抜き出して書いてみます。

queue_directory = /var/spool/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = mail.myserver.net
mydomain = myserver.net
myorigin = $mydomain
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks_style = host
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
home_mailbox = Maildir/
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
disable_vrfy_command = yes
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = noanonymous
smtpd_sasl_local_domain = $myhostname
permit?client_restriction = mynetwork,
reject_rbl_client spamcop.net,
reject_rbl_client dynablock.wirehub.net,
reject_rbl_client sbl.spamhush.org,
reject_unknown_client,
permit
smtpd_recipient_restriction = permit_mynetworks,
permit_saslahthenticated,
permit_unauth_destination

これで何か解りますでしょうか? 状況としては、他ホストからのメールが受信できず、送信しようとすると「長時間にわたって応答がありません」となります。maillogには以下のように記録されています。

May 13 22:35:17 v***-***-***-*** postfix/smtpd[19979]: warning: xsasl_cyrus_server_get_mechanism_list : no applicable SASL mechanism
May 13 22:35:17 v***-***-***-*** postfix/smtpd[19979]: fatal: noSASL authentucationmechanism
May 13 22:35:18 v***-***-***-*** postfix/master[19904]: warning: process/usr/libexec/postfix/smtpd pid 19979 exit status 1
May 13 22:35:18 v***-***-***-*** postfix/master[19904]: warning /usr/libexec/postfix/smtpd: bad command startup -- throttling
 Re: メールサーバに接続出来ません ( No.29 )
日時: 2013/05/13 23:53
名前: 一発屋芸人

permit?client_restriction = mynetwork,

この?は何ですか?

あと、mynetworkではなくmynetworks
んで、permit?client_restriction = はsmtpd_client_restrictions =の間違い?



凝った事する前に確実に送受信できる環境を作るのが先決かと。
まずは通常の認証だけでサーバーに到達できるようにしたら良いと思う。
でないと、原因の切り分けがしにくいと思うのね。

まぁ、二度手間にはなるけど、悩む時間は確実に減ると思う。
 Re: メールサーバに接続出来ません ( No.30 )
日時: 2013/05/14 00:30
名前: stranger
参照: http://ja.528p.com/

パラメータの意味を理解する参考サイト
http://www.postfix-jp.info/trans-2.3/jhtml/postconf.5.html
(使われているのは2.6のようなので、さらに変更があるかもしれないけど)

main.cfは
rblの設定があっているとするならば

smtpd_client_restrictions = permit_mynetworks,
reject_rbl_client spamcop.net,
reject_rbl_client dynablock.wirehub.net,
reject_rbl_client sbl.spamhush.org,
reject_unknown_client_hostname

# smtpd_client_restrictions (デフォルト: empty)
# (Postfix < 2.3 では: reject_unknown_client)

smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination

# smtpd_recipient_restrictions (デフォルト: permit_mynetworks, reject_unauth_destination)

smtpd.confは
pwcheck_method:saslauthd
mech_list:plain login
に変えて
saslauthdを起動してみる
 Re: メールサーバに接続出来ません ( No.31 )
日時: 2013/05/14 21:07
名前: ぱみゅ

一発屋芸人さん
> あと、mynetworkではなくmynetworks
> んで、permit?client_restriction = はsmtpd_client_restrictions =の間違い?


ご指摘の通りタイプミスしていました。ありがとうございました。

strangerさん
> smtpd.confは
> pwcheck_method:saslauthd
> mech_list:plain login
> に変えて
> saslauthdを起動してみる


ご指摘のとおりにやってみましたが、今度は他のメールアドレスからの送信が受信できなくなりました。送信側は「長時間応答がありません」となって送信出来ませんでした。

smtpd_sasl_auth_enable = noにし、smtpd_recipient_restrictionのpermit_sasl_authenticatedをコメントアウトした状態だと受信はできます。送信時は「宛先アドレスが拒否されました」と瞬時に出て送信出来ませんでした。あと何をやってみたらいいでしょうか? 何度も済みません。
 Re: メールサーバに接続出来ません ( No.32 )
日時: 2013/05/16 08:22
名前: ぱみゅ

一発屋芸人さんのおしゃるように、単純なところから手を付けようと、このサイトの説明で「最下行に追加」となっている部分をすべてコメントアウトしてpostfixを再起動しました。

それで、ふと思い立って、telnetで試してみました。
telnet localhost 25
Trying ::1..
Connectedto localhost.
Escape character is '~'.
ehlo myserver.net
250-mail.mysever.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
mail from:<mail@myserver.net>
250 2.1.0 ok
rcpt to:<mail@nifty.com>
554 5.7.1 <mail@nifty.com>: Relay access denied

以上のように、メーラが返してくるログと同じ状況になりました。メールのリレーの設定は「relay_domains = $mydestination」の行だけだと思うのですが、他に設定するべきところがあるのでしょうか?
 Re: メールサーバに接続出来ません ( No.33 )
日時: 2013/05/14 23:04
名前: 一発屋芸人

relay_domains = $mydestination
どうしても必要なんですか?
コメントアウトしたら駄目なんですか?
 Re: メールサーバに接続出来ません ( No.34 )
日時: 2013/05/15 07:56
名前: stranger
参照: http://ja.528p.com/

なにも設定しなければデフォルト設定が使われます
postconf -d
で確認してください

smtpd_recipient_restrictions (デフォルト: permit_mynetworks, reject_unauth_destination)
だから外部からの認証できないメールはリレーされません

メールリレーをオープンにしたら、スパムに利用され、やがてRBLに登録されて自滅しますよ

port 25 sasl-authが利用できないメールアドレスは
SSLを利用してport465で送信するとか
サブミッションポート587で送信するとか
したほうが良いです

それから
reject_unknown_client_hostname
の持つ意味を理解してね

メールクライアント側(中継するメールサーバ)が正引き・逆引きできないと拒否されるから
reject_unknown_client_hostnameの前に
許可して良いクライアントを列記したリストを設定して通過させる

古いサーバからの移行とのことだから
postfixを理解されていると思っていますので・・・
 Re: メールサーバに接続出来ません ( No.35 )
日時: 2013/05/15 21:25
名前: ぱみゅ

一発屋芸人さん

> relay_domains = $mydestination
> どうしても必要なんですか?
> コメントアウトしたら駄目なんですか?


 コメントアウトしてもなんら状況は変わりませんでした。

strangerさん

> 古いサーバからの移行とのことだから
> postfixを理解されていると思っていますので・・・


 古いサーバはこのサイトの説明通り構築したらたまたま正しく動作してしまったのだと思います。ですので、postfixを理解しているとはとても言いがたいのが正直な現状です。
 とりあえず、saslauthが正しく動作するようにするのがまず着手すべき問題かな、と思っています。それで、試しに
testsaslauthd -u ユーザ名 -p パスワード
というのをやってみましたが、パスワードは合っているにもかかわらず「 0: NO "authentication failed"」となってしまい、頭を悩ませています。再インストールとかした方がいいのでしょうか?



 
 Re: メールサーバに接続出来ません ( No.36 )

** 返信者によって削除されました

 Re: メールサーバに接続出来ません ( No.37 )
日時: 2013/05/16 08:44
名前: stranger
参照: http://ja.528p.com/

sasldblistusers2
コマンドで
ユーザ・ドメイン・パスワードの設定があっているか確認
sasldb2を使うなら
saslauthdを起動しなくてよい

broken_sasl_auth_clients (デフォルト: no) は
yes no を設定する

これは古いOutlook Express に対応させるため

smtpd_client_restrictionsの
reject_unknown_client_hostname
smtpd_recipient_restrictionsの
reject_unauth_destination

の意味を
main.cfの説明サイト(以前に提示)で理解してください

プロバイダniftyはOP25Bを使っている
OP25Bの説明サイト(以前に提示)の条件を理解してください
 Re: メールサーバに接続出来ません ( No.38 )
日時: 2013/05/16 21:27
名前: ぱみゅ

strangerさん、丁寧にありがとうございます。

> sasldblistusers2
> コマンドで
> ユーザ・ドメイン・パスワードの設定があっているか確認


 ここでつまずいてしまっているようです。再度「saslpasswd2 -u myserver.net -c mail」としてパスワードを再設定し、「testsaslauthd -u mail - p pass」としても「failed」になってしまいます。saslauthdは起動している状態です。

> main.cfの説明サイト(以前に提示)で理解してください
> OP25Bの説明サイト(以前に提示)の条件を理解してください


 これらについてはじっくり取り組んでみようと思います。さしあたりsaslのパスワードが認証されないことには先に進めないということですよね。
 Re: メールサーバに接続出来ません ( No.39 )
日時: 2013/05/17 05:20
名前: stranger
参照: http://ja.528p.com/

>saslauthdは起動
smtpd.confをsaslauthdに合わせてsaslauthdを起動すればsasldb2は読みにいかない
pam認証を使います
pam認証では uid<500以下のシステムアカウントはログインできない仕様
(rootを除く)
システムを守るため

/etc/pam.d/smtp → /etc/alternatives/mta-pam → /etc/pam.d/smtp.postfix

#%PAM-1.0
auth include password-auth
account include password-auth

/etc/pam.d/password-auth → /etc/pam.d/password-auth-ac

/etc/pam.d/password-auth-ac をみる

だからアカウント名mailをメールアカウントに使わない方が良い
/etc/aliases
/usr/share/doc/setup-2.8.14/uidgid
にのっているアカウンを一般ユーザにしない
将来、不正アクセスで苦労するから

vsftpdでも/etc/ftpusersでmailはアクセス不可にする仕様のはず

mail以外の一般ユーザを登録して、saslauthdで認証してみる

自分の利用しているプロバイダに詳しくないなら
smtpd_client_restrictionsの
reject_unknown_client_hostnameを設定しないでおく

rblを制御に加えるなら
http://www.rbl.jp/
で自分の使っているメールサーバがrblに登録されていないか確認しておく

smtpd_recipient_restrictionsでは
reject_unauth_destinationやrejectを最後に追加しないと、拒否される仕様
最後がpermit_auth_destinationでは機能しない
(postfix-2.10以前)
 Re: メールサーバに接続出来ません ( No.40 )
日時: 2013/05/17 22:34
名前: ぱみゅ

strangerさん、何度も済みません。
今回はちょっと私の理解力を超えてしまったみたいです。なぜここでpam認証が出てくるのか解りません。

> だからアカウント名mailをメールアカウントに使わない方が良い

 ここは具体的なユーザ名をマスクするために「mail@myserver.net」としたわけで、mailというユーザを作っているわけではありません。someone@myserver.net都でもすれば良かったですね。失礼しました。

> mail以外の一般ユーザを登録して、saslauthdで認証してみる

 やってみましたがやはりtestsaslauthdするとfailedになってしまいます。

> smtpd_client_restrictionsの
> reject_unknown_client_hostnameを設定しないでおく
> reject_unauth_destinationやrejectを最後に追加しないと、拒否される仕様
> 最後がpermit_auth_destinationでは機能しない


 現在、外部からのメールが届かなくなるのでこれらのセクションはコメントアウトになっています。なにも凝ったこと、難しいことをしようとしているのではなく、後々のためにもこのサイトの説明通りに進めて、メール送信が出来ればそれで充分なのです。それだけではダメなのでしょうか?
 さしあたり今困っているのはsasl認証ができないことで、おそらくはそれが原因で外部へのメール送信ができないことだと考えています。
 何度も丁寧にお教えいただいているのに、理解が追いつかなくて済みません。「このサイトの説明通りに設定して」(説明ではsaslauthdの起動について触れられていないので、sasldbによる設定だと把握しています)思うような結果が出ないことを解決したいと思います。失礼がありましたらご容赦ください。

 Re: メールサーバに接続出来ません ( No.41 )
日時: 2013/05/18 06:38
名前: stranger
参照: http://ja.528p.com/

testsaslauthd testsaslauthd って何回も唱えているじゃん

man testsaslauthd

NAME
testsaslauthd - test utility for the SASL authentication server
SEE ALSO
saslauthd(8).

sasldb2で認証するならtestsaslauthdする必要があるの?

ここのサイトのようにBecky!メールでアクセスしているの?
Becky!メールはcram-md5に対応しているのでエラーにならないと思うけど?

sasldb2のパーミッション・グループ変更の確認
-rw-r----- 1 root postfix 12288 7月 21 05:21 /etc/sasldb2


smtpd.confで

pwcheck_method: auxprop
#mech_list: plain login

ならば

pwcheck_method: auxprop
mech_list: cram-md5 digest-md5 plain login

のように認証が働くとおもう
cram-md5 digest-md5 に対応しているメーラが少ないので
cram-md5 digest-md5の認証エラーが出まくるけど
最後にplainまたはloginで認証できると思う

私的にはsasl authは卒業してdovecot authなので
過去のすったもんだした経験を述べています
 Re: メールサーバに接続出来ません ( No.42 )
日時: 2013/05/18 21:02
名前: ぱみゅ

strangerさん、いつもありがとうございます。

> ここのサイトのようにBecky!メールでアクセスしているの?
> Becky!メールはcram-md5に対応しているのでエラーにならないと思うけど?


 Becky!ではありませんがcram-md5に対応しているメーラを使っています。

> sasldb2のパーミッション・グループ変更の確認
> -rw-r----- 1 root postfix 12288 7月 21 05:21 /etc/sasldb2


 確認しましたが、その通りになっています。
 これだけ調べても原因は解りません。クライアントからだと「Relay Access deinied」になり、仕事場のクライアントからだと「応答がない」と言われてサーバに接続すらできません。困りました。
 Re: メールサーバに接続出来ません ( No.43 )
日時: 2013/05/19 01:54
名前: stranger
参照: http://ja.528p.com/

最初から読み替えしてみたけど

saslpasswd2 -u mail.myserver.net -c user

では?
-u で指定するのは fully qualified domain name (FQDN)

postfixのhowtoによれば
saslpasswd2 -c -u `postconf -h myhostname` exampleuser

myhostnameで設定した値を使えということ?

sasldb2 failed でgoogle検索して最初にヒットしたのが Postfix SASL Howto

ここのサイトは
myhostname = fedora.kajuhome.comになっているけど
自前のDNSでfedora.kajuhome.com = kajuhome.com にしてある

myhostnameはDNSのMXレコードと一致させる
 Re: メールサーバに接続出来ません ( No.44 )
日時: 2013/05/19 18:28
名前: ぱみゅ

strangerさん、何度もありがとうございます。

> myhostnameはDNSのMXレコードと一致させる

nslookupしてみたら、MXレコードは「mx1.myserver.net」となっていましたので、main.cfを書き換えてみました。同時に、このサイトの説明で「最下行に追加」の部分を有効にしてみました。
その結果、少し状況が変わりました。送信しようとするとメーラは下記のログを返してきます。

****送信(1通):someone@myserver.net
I サーバーを検索中 - myserver.net
I 接続中 - ***.***.***.***
I 接続完了
E 長時間にわたってサーバーからの応答がありません。

接続だけはできるようになりました。/var/log/maillogの該当部分を明確にしようと一度removeしたらその後ログが記録されていません。またログが採取できましたら提示させて頂きますので、よろしくお願いします。
 Re: メールサーバに接続出来ません ( No.45 )

** 返信者によって削除されました

 Re: メールサーバに接続出来ません ( No.46 )
日時: 2013/05/20 22:57
名前: ぱみゅ

 ログが取れました。メーラのログでは下記のようになっています。

****送信(1通):someone@myserver.net
I サーバーを検索中 - myserver.net
I 接続中 - ***.***.***.***
I 接続完了
E 長時間にわたってサーバーからの応答がありません

 /var/log/maillogは下記の通りです。postfixをrestartして、一回送信を行った時の状況です。何も反応していないように見えるのですが。

May 20 22:10:45 v***-***-***-*** postfix/postfix-script[2505]: starting the Postfix mail system
May 20 22:10:45 v***-***-***-*** postfix/master[2506]: daemon started -- version 2.6.6, configuration /etc/postfix
May 20 22:11:44 v***-***-***-*** postfix/smtpd[2511]: connect from ***-***-***-***.ap.gmobb-fix.jp[***-***-***-***]
May 20 22:11:44 v***-***-***-*** postfix/smtpd[2511]: warning: xsasl_cyrus_server_get_mechanism_list: no applicable SASL mechanisms
May 20 22:11:44 v***-***-***-*** postfix/smtpd[2511]: fatal: no SASL authentication mechanisms
May 20 22:11:45 v***-***-***-*** postfix/master[2506]: warning: process /usr/libexec/postfix/smtpd pid 2511 exit status 1
May 20 22:11:45 v***-***-***-*** postfix/master[2506]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
May 20 22:13:25 v***-***-***-*** postfix/anvil[2513]: statistics: max connection rate 1/60s for (smtp:***-***-***-***) at May 20 22:11:44
May 20 22:13:25 v***-***-***-*** postfix/anvil[2513]: statistics: max connection count 1 for (smtp:***-***-***-***) at May 20 22:11:44
May 20 22:13:25 v***-***-***-*** postfix/anvil[2513]: statistics: max cache size 1 at May 20 22:11:44
 Re: メールサーバに接続出来ません ( No.47 )
日時: 2013/05/20 23:43
名前: 一発屋芸人

>****送信(1通):someone@myserver.net
修正しましたか。


>何も反応していないように見えるのですが。

>warning: xsasl_cyrus_server_get_mechanism_list: no applicable SASL mechanisms
>fatal: no SASL authentication mechanisms
>warning: process /usr/libexec/postfix/smtpd pid 2511 exit status 1
>warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling


ガスガスとエラーが出てますけど。


このスレを立ててから2週間が経ちました。
そろそろstrangerさんも貴方の出来の悪さに嫌気がさしてるでしょう。

他力本願もいい加減にして、もう少しご自分で調べるような努力をされてはいかがでしょうか。
このスレ自体、後々人様の役に立つとは到底思えません。


私の助言も虚しくstrangerさんの書込にビビってしまいSASLを使おうとしていますが、
まともに動作しないメールサーバーを誰が不正に中継できますか?
未完のサーバーなら、メールサーバーがまともに動作していないなら、
ポートを閉じておくかサービスを停止させておけば悪戯されません。
検証する時に起動させるなりポートを開放するなりすれば良いだけの事で
不正中継にビビって出来の悪い子が最初から難しい事をしようとしても無理です。

貴方の場合、何より先に通常のパスワード認証だけで送受信できる環境を構築せねば
それ以上先に進めると思えません。

不正中継が怖ければ、自分の思い通りの動作が出来るまでは使わない時は止めてしまえば


ま、いっか。



 Re: メールサーバに接続出来ません ( No.48 )
日時: 2013/05/21 05:47
名前: stranger
参照: http://ja.528p.com/

既に運用してるメールサーバがあって、うまくいっているなら
それをベースにして同じような設定をすればよいように思う
バージョンによって、設定値の変更とか、細かい部分の調整は必要だけど

CentOS 6.xのpostfixは
デフォルトで
relay_domains = $mydestination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
になっているから
へたな設定をしなければデフォルトで外部へのリレーはできないと思う

cyrus関連のエラーに関して

cyrus関連のパッケージは入っていますか
yum install postfix だけでは入らないパッケージがあるのでは?

cyrus-sasl The Cyrus SASL library
cyrus-sasl-lib Shared libraries needed by applications which use Cyrus SASL
cyrus-sasl-plain PLAIN and LOGIN authentication support for Cyrus SASL

cyrus-sasl-devel Files needed for developing applications with Cyrus SASL
cyrus-sasl-md5 CRAM-MD5 and DIGEST-MD5 authentication support for Cyrus SASL

cyrus-sasl-plainはpostfixで要求されるから
saslauthdでのplain lobin認証はできると思うけど
cyrus-sasl-md5が入っていないとmd5暗号化はできません

基本的なコマンド

rpm -qa | grep cyrus
(インストールされているパッケージの中からcyrusのつくものを表示)
postconf -d
(postfixのデフォルト設定を表示)
 Re: メールサーバに接続出来ません ( No.49 )
日時: 2013/05/21 17:52
名前: ぱみゅ

一発屋芸人さん

 おっしゃることごもっともだと思います。自分の力量不足で済みません。いろいろあちこちで調べて入るのですが、うまくいかないのです。

> 貴方の場合、何より先に通常のパスワード認証だけで送受信できる環境を構築せねば
> それ以上先に進めると思えません。


 このサイトの説明で「最下行に追加」の部分がsaslに関するものだと把握しています。ですので、この部分を無効にすれば通常のパスワード認証になると考えていますが違いますか?

strangerさん
rpm -qa | grep cyrusの結果は以下の通りです。

cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64
cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64
cyrus-sasl-2.1.23-13.el6_3.1.x86_64
cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64
cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64

 postconf -d の結果はあまりにも多いのでちょっと気がひけるのですが、開示して解決策が見いだせるならば開示致します。
 理解が追いつかなくてご迷惑をかけて申し訳ありません。よろしくお願い致します。
 Re: メールサーバに接続出来ません ( No.50 )
日時: 2013/05/22 14:41
名前: stranger
参照: http://ja.528p.com/

postconf -d は自分で調べるだけ、開示する必要無し

x86_64とのことなので

試しに
/usr/lib64/sasl2/smtpd.conf
に設定してみたらどうなりますか

 Re: メールサーバに接続出来ません ( No.51 )
日時: 2013/05/22 21:12
名前: ぱみゅ

strangerさん、ありがとうございます。

> /usr/lib64/sasl2/smtpd.conf
> に設定してみたらどうなりますか


 /usr/lib64/sasl2は存在しませんが、新たに作るということでいいのでしょうか?
 Re: メールサーバに接続出来ません ( No.52 )
日時: 2013/05/23 08:14
名前: stranger
参照: http://ja.528p.com/

x86_64パッケージで/usr/lib64/sasl2がありませんか?

rpm -ql cyrus-sasl-lib
でどこにインストールされたか確認してみてください

CentOS 6.4 postfix cyrus-saslのデフォルトで
saslauthdで認証するようになっているから
(rpmインストール時の設定)

saslauthdを使うようにして
ssl/tlsでパスワードを保護するような構成にしたら



 Re: メールサーバに接続出来ません ( No.53 )
日時: 2013/05/23 18:26
名前: ぱみゅ

strangerさん、いつもありがとうございます。

> rpm -ql cyrus-sasl-lib
> でどこにインストールされたか確認してみてください


 確認してみましたが、/usr/lib64/sasl2の中にはsmtpd.confがありませんでした。サイトの説明に

>【Fedora14以降 / CentOS6 の場合】
> 設定ファイルの変更
> # vi /etc/sasl2/smtpd.conf


 とありましたので、これでいいのだと思います。
 で、昨日作業中に突然ポート25がクローズしてしまいました。iptablesで設定しても開きません。何か原因はありますでしょうか? プロバイダにも問い合わせましたが特に制限がしていないとのこと、ちょっと頭を抱えています。

 この後、Windowsのプログラム作りをやらねばならず、サーバを調整している時間が取れなくなり、少し間があくと思いますがまたよろしくお願い致します。
 Re: メールサーバに接続出来ません ( No.54 )
日時: 2013/05/23 18:36
名前: stranger
参照: http://ja.528p.com/

/etc/sasl2/smtpd.confはpostfixがインストールしたものらしいけど
/usr/lib64/sasl2/smtpd.confが今までの設定方法だから
バグかもしれないから、うまくいく可能性を追求しろということ
 Re: メールサーバに接続出来ません ( No.55 )
日時: 2013/05/23 19:07
名前: ぱみゅ

strangerさん、ありがとうございます。
 手が空き次第(というかなんとか時間を作って)やってみます。それで、ひとつ教えて欲しいのですが、
mynetworks = 192.168.1.0/24, 127.0.0.0/8
 ここの部分なんですけど、私の場合サーバは他のネットワークに属していて、状況的には外部のサーバをいじっている状態なのですが、ここはこのままでいいのでしょうか?
 Re: メールサーバに接続出来ません ( No.56 )
日時: 2013/05/25 06:57
名前: stranger
参照: http://ja.528p.com/

信頼できるクライアントのリスト
あなた自身か、会社の決めること
サーバの属するローカルネットワークが信頼できるから
192.168.1.0/24を設定しているんでしょ

前に提案したpostfixパラメータの日本語解説サイトを良くよんでくださいね

追伸
ログをみるとローカルでの名前解決ができてないようだけど
それも原因では?
 Re: メールサーバに接続出来ません ( No.57 )
日時: 2013/05/29 22:17
名前: ぱみゅ

長いことスレッドから離れていました。済みません。やっと時間が取れるようになったので
全部やり直しました。このスレッドは当初の質問から発展しすぎてしまって見通しが
悪くなってしまいましたので、一度クローズして改めて受信・送信に分けて質問し直そうと
思います。またよろしくお願い致します。

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.