お世話になります。
当ホームページを参考にPostfixのTLS化の設定をしました。
REDHAT9 Postfix2.0.16を使用しています。
しかし、クライアント(OUTLOOK)からメールを送信できません。
maillogには
postfix/smtpd[121]: setting up TLS connection from unknown[192.168.0.10]
postfix/smtpd[121]: TLS connection established from unknown[192.168.0.10]: TLSv1 with cipher RC4-MD5 (128/128 bits)
postfix/smtpd[121]: connect from unknown[192.168.0.10]
postfix/smtpd[121]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=5
postfix/smtpd[121]: lost connection after CONNECT from unknown[192.168.0.10]
postfix/smtpd[121]: disconnect from unknown[192.168.0.10]
と出ています。
この、「Read failed in network_biopair_interop with errno=0: num_read=0, want_read=5」のところが分かりません。何か、初歩的なミスを犯しているのでしょうか。
アドバイスをよろしくお願いします。
こんばんは。
> 当ホームページを参考にPostfixのTLS化の設定をしました。
TLSだけですか? SMTP-AUTHは?
> REDHAT9 Postfix2.0.16を使用しています。
> しかし、クライアント(OUTLOOK)からメールを送信できません。
OutlookでExpressではないんですよね。 Authもやっているなら、
broken_sasl_auth_clients=yes
でうまくいきませんか?
後は、postfix checkと入力したとき、differ・・・と設定が違うと出ませんか?
> maillogには
> postfix/smtpd[121]: setting up TLS connection from unknown[192.168.0.10]
> postfix/smtpd[121]: TLS connection established from unknown[192.168.0.10]: TLSv1 with cipher RC4-MD5 (128/128 bits)
> postfix/smtpd[121]: connect from unknown[192.168.0.10]
> postfix/smtpd[121]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=5
> postfix/smtpd[121]: lost connection after CONNECT from unknown[192.168.0.10]
> postfix/smtpd[121]: disconnect from unknown[192.168.0.10]
> と出ています。
> この、「Read failed in network_biopair_interop with errno=0: num_read=0, want_read=5」のところが分かりません。何か、初歩的なミスを犯しているのでしょうか。
これは、よくわかりません。TLSが終わった後、クライアントから切ってきているので整合が取れていないのだと思いますが。インターネット上にもほとんどないですが、クライアントのファイヤウォールが影響しているというような話が載っていましたが、真偽のほどは・・・?
お返事有難うございます。
> TLSだけですか? SMTP-AUTHは?
SMTP-AUTHも設定しています。それはうまく作動しています。
> broken_sasl_auth_clients=yes
>
> でうまくいきませんか?
broken_sasl_auth_clients=yesは入れています。
> 後は、postfix checkと入力したとき、differ・・・と設定が違うと出ませんか?
何も出ませんでした。
> > maillogには
> > postfix/smtpd[121]: setting up TLS connection from unknown[192.168.0.10]
> > postfix/smtpd[121]: TLS connection established from unknown[192.168.0.10]: TLSv1 with cipher RC4-MD5 (128/128 bits)
> > postfix/smtpd[121]: connect from unknown[192.168.0.10]
> > postfix/smtpd[121]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=5
> > postfix/smtpd[121]: lost connection after CONNECT from unknown[192.168.0.10]
> > postfix/smtpd[121]: disconnect from unknown[192.168.0.10]
> > と出ています。
> > この、「Read failed in network_biopair_interop with errno=0: num_read=0, want_read=5」のところが分かりません。何か、初歩的なミスを犯しているのでしょうか。
>
> これは、よくわかりません。TLSが終わった後、クライアントから切ってきているので整合が取れていないのだと思いますが。インターネット上にもほとんどないですが、クライアントのファイヤウォールが影響しているというような話が載っていましたが、真偽のほどは・・・?
確かに、クライアントにはファイヤウォールがかかっていますが、それを外して送受信してみても結果は同じでした。
もう一度サーバ証明書を作り直そうと思い、当ホームページを参考に作ってみたのですが、
「サーバ用証明書(server.crt)の作成」のところでエラーが出てserver.crtがうまく出来ません。
# /usr/local/src/mod_ssl-2.8.16-1.3.29/pkg.contrib/sign.sh server.csr
CA signing: server.csr -> server.crt:
<省略>
Sign the certificate? [y/n]:y
failed to update database
TXT_DB error number 2
CA verifying: server.crt <-> CA cert
unable to load certificate
4932:error:0906D06C:PEM toutines:PEM_read_bio:no start line:pem_lib.c:632:Expecting: TRUSTED CERTIFICATE
これがうまく出来なかったのが原因だったのでしょうか。
そして、どうやったらserver.crtがうまくできるのでしょうか。
> Sign the certificate? [y/n]:y
> failed to update database
> TXT_DB error number 2
> CA verifying: server.crt <-> CA cert
> unable to load certificate
> 4932:error:0906D06C:PEM toutines:PEM_read_bio:no start line:pem_lib.c:632:Expecting: TRUSTED CERTIFICATE
>
> これがうまく出来なかったのが原因だったのでしょうか。
> そして、どうやったらserver.crtがうまくできるのでしょうか。
可能性としては、CAとサーバでパスワードが同じというのが考えられます。後、現象は違いますが、
Organization Name も同じではダメですよ。
おやじさんのアドバイスのおかげで、server.crtはうまく作成できました。有難うございました。
しかし、メールの送信は同じエラーが出てできませんでした。
とりあえず、外部でも使えるように受信サーバを設定しようと、courier-imapをインストールしようと
思ったのですが、rpmbuildでつまずいてしまいました。
$rpmbuild -ba courier-imap.spec
エラー: Failed build dependencies:
postgresql-devel is needed by courier-imap-2.2.0-1.9
mysql-devel is needed by courier-imap-2.2.0-1.9
openldap-servers is needed by courier-imap-2.2.0-1.9
どうしたら、回避できるのでしょうか。
こんばんは。
> しかし、メールの送信は同じエラーが出てできませんでした。
> とりあえず、外部でも使えるように受信サーバを設定しようと、courier-imapをインストールしようと
> 思ったのですが、rpmbuildでつまずいてしまいました。
> $rpmbuild -ba courier-imap.spec
> エラー: Failed build dependencies:
> postgresql-devel is needed by courier-imap-2.2.0-1.9
> mysql-devel is needed by courier-imap-2.2.0-1.9
> openldap-servers is needed by courier-imap-2.2.0-1.9
> どうしたら、回避できるのでしょうか。
エラーのとおりで、依存関係でそれぞれのソフトが必要ですから、インストールしてください。
サーバを動かすことが目的なら、おやじのRPMを使えばすみます。RPMの作り方を勉強するなら、
「rpm 作成」でググレがいろいろ出てきます。
度々何度もすいません。
無事courier-imapでSSLの受信が出来ました。
しかし、送信の方は相変わらず出来なく四苦八苦しています。
ログレベルをあげてみると下記のように出力されました。
smtpd[19347]: starting TLS engine
smtpd[19347]: setting up TLS connection from unknown[192.168.0.10]
smtpd[19347]: SSL_accept:before/accept initialization
smtpd[19347]: read from 080D4BA0 [080E7860] (11 bytes => -1 (0xFFFFFFFF))
smtpd[19347]: SSL_accept:error in SSLv2/v3 read client hello A
smtpd[19347]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=11
smtpd[19347]: SSL_accept error from unknown[192.168.0.10]: -1
あと、smtp_tls_per_site = hash:/etc/postfix/tls_per_siteは
設定したほうがいいのでしょうか。
こんにちは。
> しかし、送信の方は相変わらず出来なく四苦八苦しています。
> ログレベルをあげてみると下記のように出力されました。
> smtpd[19347]: starting TLS engine
> smtpd[19347]: setting up TLS connection from unknown[192.168.0.10]
> smtpd[19347]: SSL_accept:before/accept initialization
> smtpd[19347]: read from 080D4BA0 [080E7860] (11 bytes => -1 (0xFFFFFFFF))
> smtpd[19347]: SSL_accept:error in SSLv2/v3 read client hello A
> smtpd[19347]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=11
> smtpd[19347]: SSL_accept error from unknown[192.168.0.10]: -1
OutLook Expressと違うかもしれないと、試しにOutLook2000を奥さんのPCに入れてテストしましたが何ら問題なく使用できました。
一番最初のログと変わってますね。OutlookならTLSv1で動くはずなのですが、SSLに行ってますね。どちらかと言えば、最初のログがおやじの環境と同じ動きです。何か変更しましたか?
TLS関係のmain.cfの設定をデフォルトに戻し(sampleからコピーしなおし)、おやじのページどおりやれば行くはずですが。
> あと、smtp_tls_per_site = hash:/etc/postfix/tls_per_siteは
> 設定したほうがいいのでしょうか。
smtpですからクライアントの話なので不要です。smtpdだけでいいです。
度々のご回答恐縮です。
> 一番最初のログと変わってますね。OutlookならTLSv1で動くはずなのですが、SSLに行ってますね。どちらかと言えば、最初のログがおやじの環境と同じ動きです。何か変更しましたか?
はい。いろいろといじってみました。
> TLS関係のmain.cfの設定をデフォルトに戻し(sampleからコピーしなおし)、おやじのページどおりやれば行くはずですが。
もう一度、設定し直してみましたが、結果は同じでした。
postconfとmaster.cfの内容は下記のようになってます。
# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
home_mailbox = Maildir/
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain $mydomain
mydomain = example.com
myhostname = ns.example.com
mynetworks = XXX.XXX.XXX.XXX/29, 192.168.0.0/24, 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /etc/postfix/README_FILES
sample_directory = /etc/postfix/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
smtpd_tls_CAfile = /usr/local/certs/ca.crt
smtpd_tls_CApath = /usr/local/certs
smtpd_tls_cert_file = /usr/local/certs/server.crt
smtpd_tls_key_file = /usr/local/certs/server.key
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 450
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - y - - smtpd
smtps inet n - y - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#628 inet n - n - - qmqpd
pickup fifo n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr fifo n - y 300 1 qmgr
#qmgr fifo n - n 300 1 nqmgr
tlsmgr fifo - - y 300 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
flush unix n - y 1000? 0 flush
proxymap unix - - y - - proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
error unix - - y - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
一応、jail環境で動かしてます。それがなにか影響してるのでしょうか。
> mynetworks = XXX.XXX.XXX.XXX/29, 192.168.0.0/24, 127.0.0.0/8
サーバはグローバル空間にもいるのでしょうか?そうで無ければ、最初のネットワークは
不要です。8IPとはうらやましいですね。
> # ==========================================================================
> # service type private unpriv chroot wakeup maxproc command + args
> # (yes) (yes) (yes) (never) (100)
> # ==========================================================================
> smtp inet n - y - - smtpd
> smtps inet n - y - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
> #628 inet n - n - - qmqpd
> pickup fifo n - y 60 1 pickup
> cleanup unix n - y - 0 cleanup
> qmgr fifo n - y 300 1 qmgr
> #qmgr fifo n - n 300 1 nqmgr
> tlsmgr fifo - - y 300 1 tlsmgr
> rewrite unix - - y - - trivial-rewrite
> bounce unix - - y - 0 bounce
> defer unix - - y - 0 bounce
> flush unix n - y 1000? 0 flush
> proxymap unix - - y - - proxymap
> smtp unix - - y - - smtp
> relay unix - - y - - smtp
> # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
> showq unix n - y - - showq
> error unix - - y - - error
> local unix - n n - - local
> virtual unix - n n - - virtual
> lmtp unix - - y - - lmtp
> 一応、jail環境で動かしてます。それがなにか影響してるのでしょうか。
これのような気がします。smtpsとtlsmgrはもともとnではありませんでしたか?
少なくともおやじはnです。
> これのような気がします。smtpsとtlsmgrはもともとnではありませんでしたか?
> 少なくともおやじはnです。
nにして試してみましたが。やはり結果は
postfix/smtpd[19986]: setting up TLS connection from unknown[192.168.0.10]
postfix/smtpd[19986]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=11
postfix/smtpd[19986]: SSL_accept error from unknown[192.168.21.3]: -1
で同じでした。
残念無念。
> nにして試してみましたが。やはり結果は
> postfix/smtpd[19986]: setting up TLS connection from unknown[192.168.0.10]
> postfix/smtpd[19986]: warning: Read failed in network_biopair_interop with errno=0: num_read=0, want_read=11
> postfix/smtpd[19986]: SSL_accept error from unknown[192.168.21.3]: -1
> で同じでした。
このログは明らかにおかしいですね。ネットワークとかアドレス関係とかがおかしいのでは。
アドレスが、192.168.0.10から192.168.21.3に変わってますし、192.168.21.0という空間はないですよね。
> このログは明らかにおかしいですね。ネットワークとかアドレス関係とかがおかしいのでは。
> アドレスが、192.168.0.10から192.168.21.3に変わってますし、192.168.21.0という空間はないですよね。
すいません。直接打ち込んで来て、ローカルのIPを間違えていました。
違うパソコンにあるOutExpressで実験すると、うまく送受信出来ました。
ということは、今までのはOutlook2002だったのですが、それは対応してないということになるんでしょうか。
とにかく、出来てよかったです。
> 違うパソコンにあるOutExpressで実験すると、うまく送受信出来ました。
> ということは、今までのはOutlook2002だったのですが、それは対応してないということになるんでしょうか。
> とにかく、出来てよかったです。
broken_sasl_auth_clients = yes -> no
でどうですか。これは古いExchangeやOE用の対策なので。
> broken_sasl_auth_clients = yes -> no
結果は同じでした。
> > broken_sasl_auth_clients = yes -> no
> 結果は同じでした。
outlook2000はOKなので、何か変更があったのでしょうね。
outlookをどうしてもsslで使うなら、stoneを使うしかないですかね。
> > > broken_sasl_auth_clients = yes -> no
> > 結果は同じでした。
>
> outlook2000はOKなので、何か変更があったのでしょうね。
> outlookをどうしてもsslで使うなら、stoneを使うしかないですかね。
stoneのことはわかりませんが、また勉強します。
一応一段落しました。
oyajiさんどうも有難う御座いました。
また、何かあったらお世話になるかもしれませんが
よろしくお願いします。