いつも勝手にお世話になってます。あまりの知識のなさに素っ頓狂な質問をしてしまうので、
できるだけ自分で解決をと思っているのですが、どーにもわからんことができてしまいました。
なにとぞ、ご助力ください。
RedHat9で、SMTP-AuthとCourier-IMAPでメール環境を構築しようとしています。証明書の発行まですべ
ておやじさんの設定でいっていて(private keyの削除まで)で、調子よく使っていたのですが、
maillogでプライベートキーがねえよ!というのがちょっと気になりいろいろいじってみると(最初から
証明書の発行のやり直し)pop3-sslのほかにpop3が起動してないと、クライアント(Outlook Express)
からつながらんということが判明しました。
前置きが長くなってしまいましたが、質問です。
1.maillogは下の状況なのですが、ちゃんとSMTP-Authとpop3-sslはきいているのでしょうか?
2.プライベートキーがねえよ!というのは、証明書の作成のkeyの削除をしなければなおるのでしょ
うか?自分で試したところやはりクライアントからつながらない状況になってしまいました。
(クライアントはWinXPでOutlookはVer6です。)
ほかに必要な情報があればアップします。(タコ過ぎて状況判断になにが必要かもよくわかりません。)
以下maillogの抜粋です。
Dec 7 23:25:02 example pop3d-ssl: Connection, ip=[::ffff:aaa.bbb.ccc.dd]
Dec 7 23:25:03 example pop3d-ssl: LOGIN, user=USER, ip=[::ffff:aaa.bbb.ccc.dd]
Dec 7 23:25:03 example pop3d-ssl: LOGOUT, user=USER, ip=[::ffff:aaa.bbb.ccc.dd], top=0, retr=0
Dec 7 23:35:45 example postfix/smtpd[29683]: unable to get private key from '/usr/local/certs/server.crt'
Dec 7 23:35:45 example postfix/smtpd[29683]: 29683:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:632:Expecting: ANY PRIVATE KEY:
Dec 7 23:35:45 example postfix/smtpd[29683]: 29683:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib:ssl_rsa.c:707:
Dec 7 23:35:45 example postfix/smtpd[29683]: TLS engine: cannot load RSA cert/key data
Dec 7 23:35:45 example postfix/smtpd[29683]: connect from example.ne.jp[aaa.bbb.ccc.dd]
Dec 7 23:35:45 example postfix/smtpd[29683]: A1CA41C095: client=example.ne.jp[aaa.bbb.ccc.dd], sasl_method=LOGIN, sasl_username=USER
Dec 7 23:35:46 example postfix/smtpd[29683]: 81AC21C095: client=example.ne.jp[aaa.bbb.ccc.dd], sasl_method=LOGIN, sasl_username=USER
Dec 7 23:35:46 example postfix/cleanup[29684]: 81AC21C095: message-id=<000501c3bccf$67b6a0e0$0500a8c0@user2>
Dec 7 23:35:46 example postfix/nqmgr[18330]: 81AC21C095: from=<USER@example.net>, size=1175, nrcpt=1 (queue active)
Dec 7 23:35:48 example postfix/smtp[29686]: 81AC21C095: to=<example@某電話会社>, relay=smtp01.example.com[ddd.cc.bbb.aaa], delay=2, status=sent (250 Message received: 200312071
98533214.ZFIM.1852346.t-mta7.example.com@mta7.example.com)
> RedHat9で、SMTP-AuthとCourier-IMAPでメール環境を構築しようとしています。証明書の発行まですべ
> ておやじさんの設定でいっていて(private keyの削除まで)で、調子よく使っていたのですが、
> maillogでプライベートキーがねえよ!というのがちょっと気になりいろいろいじってみると(最初から
> 証明書の発行のやり直し)pop3-sslのほかにpop3が起動してないと、クライアント(Outlook Express)
> からつながらんということが判明しました。
> 前置きが長くなってしまいましたが、質問です。
> 1.maillogは下の状況なのですが、ちゃんとSMTP-Authとpop3-sslはきいているのでしょうか?
SMTP-AUTHは動いていますが、SSL化はできていないですね。証明書がおかしいようです。Postfixは何を使ってますか?RedHat?SRPM?バージョンは?
POP3d-sslは動いているようです。
> 2.プライベートキーがねえよ!というのは、証明書の作成のkeyの削除をしなければなおるのでしょ
> うか?自分で試したところやはりクライアントからつながらない状況になってしまいました。
> (クライアントはWinXPでOutlookはVer6です。)
key削除してもおやじのHPどおりで何も問題ないはずです。証明書は注意事項を含めてHPのとおり作成しましたか?
早速のご返答ありがとうございます。BBSでのいろいろな方への親切な対応、神様のような人だと
勝手に想像しています。
早速ですが、
> SMTP-AUTHは動いていますが、SSL化はできていないですね。証明書がおかしいようです。Postfixは何を使ってますか?RedHat?SRPM?バージョンは?
> POP3d-sslは動いているようです。
Postfixはpostfix-1.1.12です。RHNからのダウンロードだったと思います。
RedHatは
[root@example root]# uname --all
Linux example.net 2.4.20-20.9 #1 Mon Aug 18 11:45:58 EDT 2003 i686 i686 i386 GNU/Linux
で、いいのかな?
pop3d-sslとpop3dを両方立ち上げないとクライアントが接続できないというのは、ちょっと不安だったの
ですが、SMTPがSSL化してないってことは「おまえ、全然意味ないじゃん!」って感じですね(_ _;
>
> key削除してもおやじのHPどおりで何も問題ないはずです。証明書は注意事項を含めてHPのとおり作成しましたか?
実は、赤字の注意事項に対する自信がなかった(記憶が定かでない)ので、certsの中身をすべて移動して
最初から、やり直したのですが(クライアントへの証明書のインストールも含めて)そのときは、クライア
ントがサーバにつながらなくなってしまいました。今は、最初のやつを元に戻して、使っています。
奥さんの手前使えるようにしておきたいので、、、へたれなかっこつけだな、俺(_ _;
ちゃんとした運用をしたいのですが、postfixの再インストールと証明書のやり直しが一番の早道でしょうか?
いま、書きこみながら、おやじさんのpostfixの設定を再確認してたら、再コンパイル、再インストールの
文字が、、、RHNのrpmじゃだめなんですね。
明日(正確には今日)、postfixのバージョンアップもかねて、ソースからインストールやり直します。
また、素っ頓狂な質問をしてしまい、申し訳ありませんでした。
結果ご報告いたします。
> 明日(正確には今日)、postfixのバージョンアップもかねて、ソースからインストールやり直します。
> また、素っ頓狂な質問をしてしまい、申し訳ありませんでした。
> 結果ご報告いたします。
特別なこだわりがなければ、RedHatのRPMでおやじがやっているSMTP-AUTH + SSL/TLSができますので、管理面からもこちらをお薦めします。下記を参考にしてください。おやじがいろいろやっているのは、自分のやりたいことができるRPMがなかったり、勉強のためからですから。なお、sendmailはそのままにして、下記モジュール(Disk3)を入れれば、ワンタッチでpostfixとSendmailで切り替えられます。
・URL http://www.aconus.com/~oyaji/mail2/smtp-redhat.htm
・RPM redhat-switch-mail-0.5.17-1.noarch.rpm / redhat-switch-mail-gnome-0.5.17-1.noarch.rpm
> 特別なこだわりがなければ、RedHatのRPMでおやじがやっているSMTP-AUTH + SSL/TLSができますので、管理面からもこちらをお薦めします。下記を参考にしてください。おやじがいろいろやっているのは、自分のやりたいことができるRPMがなかったり、勉強のためからですから。なお、sendmailはそのままにして、下記モジュール(Disk3)を入れれば、ワンタッチでpostfixとSendmailで切り替えられます。
>
> ・URL http://www.aconus.com/~oyaji/mail2/smtp-redhat.htm
> ・RPM redhat-switch-mail-0.5.17-1.noarch.rpm / redhat-switch-mail-gnome-0.5.17-1.noarch.rpm
>
実は、sendmailは、とても難しそうだったので情報収集の時点で却下し、postfixが、ローカルで正常
に動作をすることを確認したときに
#rpm -e sendmail
でアンインストールしてしまったのですが、、、
これ、まずかったですかね?もう一度sendmailを入れなおして、その上で切り替え作業等を行ったほうが
いいのでしょうか?
たびたび、馬鹿な質問申し訳ありません。よろしくお願いします。
そのままでOKです。
> そのままでOKです。
するとやはり、自分のタイプミスか、見落としでしょうね。
再度、設定の確認および再設定をして見ます。
あとで、ご報告します。
すばやいレス本当に感謝感謝です。ありがとうございます。
まだうまくいきません。どーかお力を貸してください。
postfixは1.1.12です。
OSはRedHat9で
[root@example root]# uname --all
Linux example.net 2.4.20-20.9 #1 Mon Aug 18 11:45:58 EDT 2003 i686 i686 i386 GNU/Linux です。
やはり、main.cfを設定しなおそう。どーせならtls化してしまおう。ということで、下の作業をしたので
すが、postfixをstartさせたらmaillogに以下のものを吐きました。
以下maillog抜粋
Dec 10 19:16:22 example postfix/postfix-script: starting the Postfix mail system
Dec 10 19:16:22 example postfix/master[7978]: daemon started
Dec 10 19:16:22 example postfix/tlsmgr[7981]: fatal: open database /etc/postfix/smtpd_scache tls_random_source = dev:/dev/urandom.pag: No such file or directory
Dec 10 19:16:23 example postfix/master[7978]: warning: process /usr/libexec/postfix/tlsmgr pid 7981 exit status 1
Dec 10 19:16:23 example postfix/master[7978]: warning: /usr/libexec/postfix/tlsmgr: bad command startup -- throttling
Dec 10 19:17:23 example postfix/tlsmgr[7984]: fatal: open database /etc/postfix/smtpd_scache tls_random_source = dev:/dev/urandom.pag: No such file or directory
Dec 10 19:17:24 example postfix/master[7978]: warning: process /usr/libexec/postfix/tlsmgr pid 7984 exit status 1
Dec 10 19:17:24 example postfix/master[7978]: warning: /usr/libexec/postfix/tlsmgr: bad command startup -- throttling
三行目で「そんなファイルねえよ!」といっているみたいですが、
smtpd_scacheは空ファイルを作ればいいのでしょうか?
あと、urandom.pagは実在するてきとうなファイルを指定すればいいのでしょうか?
四行目、五行目はまるでなぞです。
自分のやった作業は
#mv main.cf main.cf.bak とし
#cat main.cf.default sample-auth.cf sample-tls.cf > main.cf として
設定を開始しました。何点かおやじさんと設定が変わってしまったのですが、その内容は以下です。
おやじさんのPostfixの項目で
alias_database = hash:/etc/aliases のところなんですが、sendmailをアンインストールした為か、
/etc/aliasesがなくなっていたので、
alias_database = hash:/etc/postfix/aliases としました。
メールBOXの指定は
home_mailbox = Maildir/ です。
auth.cfのSMTP CLIENT CONTROLSで、
smtp_sasl_password_maps = hash:/etc/postfix/saslpass とデフォルトではなったいたのですが、
/etc/postfix/saslpass がなかったので、
smtp_sasl_password_maps = hash:/etc/sasldb としました。
tls.cfのところでは、
おやじさんの設定していたことがほとんどダブって出てきたので、最初はおやじさんのとおり
ダブって出てきたところはすべてコメントアウトしました。
で証明書も、新たに/usr/certsに作りました。
何卒よろしくお願いします。
No.2146のやり方があまりにダメダメだったので、今度はmain.cfに書き足していくやり方をしました。
また、「プライベートキーがねえよ!」とmaillogに怒られたので、ふとcertsの中身はpostfixが取りに
いくとするとファイルへのアクセス権がないのじゃないかとおもい、certsのなかで
chown postfix:postfix *
として、postfix reload で、クライアントからテストメールを送ってみたら、なんと送信できました。
たぶん成功したんだと思うんですがどうなんでしょう。
以下そのときのmaillogです。
Dec 10 22:23:37 example postfix/postfix-script: refreshing the Postfix mail system
Dec 10 22:23:37 example postfix/master[8127]: reload configuration
Dec 10 22:23:55 example postfix/smtpd[8380]: setting up TLS connection from example.com[aaa.bbb.ccc.dd]
Dec 10 22:23:55 example postfix/smtpd[8380]: TLS connection established from example.com[aaa.bbb.ccc.dd]: TLSv1 with cipher RC4-MD5 (128/128 bits)
Dec 10 22:23:55 example postfix/smtpd[8380]: connect from example.com[aaa.bbb.ccc.dd]
Dec 10 22:23:56 example postfix/smtpd[8380]: 069671C07D: client=example.com[aaa.bbb.ccc.dd], sasl_method=LOGIN, sasl_username=USER
Dec 10 22:23:56 example postfix/cleanup[8381]: 069671C07D: message-id=<000d01c3bf20$dc0e28c0$0200a8c0@USER>
Dec 10 22:23:56 example postfix/nqmgr[8376]: 069671C07D: from=<USER@example.net>, size=626, nrcpt=1 (queue active)
Dec 10 22:23:56 example postfix/smtpd[8380]: disconnect from example.com[aaa.bbb.ccc.dd]
Dec 10 22:23:57 example pop3d-ssl: Connection, ip=[::ffff:aaa.bbb.ccc.dd]
Dec 10 22:23:57 example pop3d-ssl: LOGIN, user=USER, ip=[::ffff:aaa.bbb.ccc.dd]
Dec 10 22:23:57 example pop3d-ssl: LOGOUT, user=USER, ip=[::ffff:aaa.bbb.ccc.dd], top=0, retr=0
Dec 10 22:23:59 example postfix/smtp[8383]: 069671C07D: to=<USER1@example.co.jp>, relay=smtp.example.ne.jp[jjj.qq.eee.bbb], delay=3, status=sent (250 Message received: 20031210132359311.NMNQ.183393.
t-mta4.example.ne.jp@mta4.example.ne.jp)
> No.2146のやり方があまりにダメダメだったので、今度はmain.cfに書き足していくやり方をしました。
> また、「プライベートキーがねえよ!」とmaillogに怒られたので、ふとcertsの中身はpostfixが取りに
> いくとするとファイルへのアクセス権がないのじゃないかとおもい、certsのなかで
> chown postfix:postfix *
> として、postfix reload で、クライアントからテストメールを送ってみたら、なんと送信できました。
> たぶん成功したんだと思うんですがどうなんでしょう。
うまくいってますね。でもHPのとおりrootで400で動くはずですがね。何が違うのでしょうか?よくわかりません。
> postfixは1.1.12です。
これは、RedHatのRPMではないですよね。見た記憶がないものがあるのですが?おやじのHPは何を見ていますか?
> OSはRedHat9で
> [root@example root]# uname --all
> Linux example.net 2.4.20-20.9 #1 Mon Aug 18 11:45:58 EDT 2003 i686 i686 i386 GNU/Linux です。
> やはり、main.cfを設定しなおそう。どーせならtls化してしまおう。ということで、下の作業をしたので
> すが、postfixをstartさせたらmaillogに以下のものを吐きました。
> 以下maillog抜粋
> Dec 10 19:16:22 example postfix/postfix-script: starting the Postfix mail system
> Dec 10 19:16:22 example postfix/master[7978]: daemon started
> Dec 10 19:16:22 example postfix/tlsmgr[7981]: fatal: open database /etc/postfix/smtpd_scache tls_random_source = dev:/dev/urandom.pag: No such file or directory
> Dec 10 19:16:23 example postfix/master[7978]: warning: process /usr/libexec/postfix/tlsmgr pid 7981 exit status 1
> Dec 10 19:16:23 example postfix/master[7978]: warning: /usr/libexec/postfix/tlsmgr: bad command startup -- throttling
> Dec 10 19:17:23 example postfix/tlsmgr[7984]: fatal: open database /etc/postfix/smtpd_scache tls_random_source = dev:/dev/urandom.pag: No such file or directory
> Dec 10 19:17:24 example postfix/master[7978]: warning: process /usr/libexec/postfix/tlsmgr pid 7984 exit status 1
> Dec 10 19:17:24 example postfix/master[7978]: warning: /usr/libexec/postfix/tlsmgr: bad command startup -- throttling
> 三行目で「そんなファイルねえよ!」といっているみたいですが、
> smtpd_scacheは空ファイルを作ればいいのでしょうか?
> あと、urandom.pagは実在するてきとうなファイルを指定すればいいのでしょうか?
dev:/dev/urandom.pagとデフォルトで書いてあるのですか? tls_random_source = dev:/dev/urandomの間違いです。
> 四行目、五行目はまるでなぞです。
上に引きずられているのだと思うので、上を直せばとまると思います。
>
> 自分のやった作業は
> #mv main.cf main.cf.bak とし
> #cat main.cf.default sample-auth.cf sample-tls.cf > main.cf として
> 設定を開始しました。何点かおやじさんと設定が変わってしまったのですが、その内容は以下です。
> おやじさんのPostfixの項目で
> alias_database = hash:/etc/aliases のところなんですが、sendmailをアンインストールした為か、
> /etc/aliasesがなくなっていたので、
> alias_database = hash:/etc/postfix/aliases としました。
main.cfの一番下にあるはずですので、二重になっていませんか? 途中にもあって大丈夫と思いますが。
> メールBOXの指定は
> home_mailbox = Maildir/ です。
> auth.cfのSMTP CLIENT CONTROLSで、
> smtp_sasl_password_maps = hash:/etc/postfix/saslpass とデフォルトではなったいたのですが、
> /etc/postfix/saslpass がなかったので、
> smtp_sasl_password_maps = hash:/etc/sasldb としました。
ここは他のサーバとsaslでのログイン認証をするためのものですから、smtp_xxxxは不要です。
ここでいう、saslpassはsasldbではありません。
いつもありがとうございます。頼りきりではいかんと、あちこち検索して設定しようとしました。
最初、バックアップをちゃんととらずに設定を開始してしまったため、元のファイルがなくなり
postfix-1.1.12-1.i386.rpmのあるディレクトリーで
$ mkdir work
$ cd work
$ rpm2cpio ../postfix-1.1.12-1.i386.rpm | cpio -id
を実行してrpmからじかにファイルを取り出しました。
それで、元のmain.cfとwork/usr/share/doc/postfix-1.1.12/samples/の中のsample-auth.cfと
sample-tls.cfをcatでくっつけて設定しようとしたのですが、見事撃沈でした。
で、結局おやじさんの設定を猿真似と言うことになりました。←これが一番正解(笑)
なにぶんチョチョラな性格なものでrootで動かなかったのは、どこか見落としがあるのだと思います。
勉強のためこれからなぜ、rootで動かなかったのか調べてみようかと思ってます。
何かわかったら、ご報告いたします。なにぶんオオタコなもので、どうなるかわかりませんが、、、(_ _;
同時進行でこれからアンチウィルスの導入に着手しようと思ってます。
また、ご指導のほどよろしくお願いいたします。
ほんとうに、ありがとうございました。
certsのfileの所有権がrootだとmaillogに「プライベートキーがとれねえよ!」と出ていた件ですが、
解決したので、ご報告します。
自分のRedHat9は、sendmailをアンインストールしたためか/etc/aliases がありません。
アンインストール前にはその中に postfix: root という記述があったはずなのですが、
当然、fileそのものがないのでその関係が成り立ってなかったようです。そこで、
/etc/postfix/aliases に postfix: root を記述して newaliases として、
certsのなかのfileの所有権を root に戻し、postfixをreloadしてテストを行ったところ
tlsはちゃんと動いてくれました。
お騒がせしてすみませんでした。