どうしても解決できないことがありましたので質問させて下さい。
最近サーバを再インストールしたのですが、IMAPでログインしようとするとmaillogにimapd: LOGIN FAILED, ip=[192.168.1.10]というエラーが出ます。
認証方法としてはとりあえずプレインなimapを使用しております。
環境はvine2.6+postfix+courier-imapです。
設定はpostconfで
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/
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydestination = $myhostname, localhost.$mydomain $mydomain
mydomain = ****.****.net
myhostname = ***.****.****.net
mynetworks = 192.168.1.0/24, 127.0.0.0/24
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
unknown_local_recipient_reject_code = 450
で、courier-imapのほうはIMAPDSTART=YESにしたくらいしかいじってません。他のIMAPDSSLSTARTなどはNOにしています。
基本的には前成功したときと一緒のはずなのですが・・・。
どうかご教授いただけないでしょうか?
よろしくお願いします。
こんばんは。
> 最近サーバを再インストールしたのですが、IMAPでログインしようとするとmaillogにimapd: LOGIN FAILED, ip=[192.168.1.10]というエラーが出ます。
> 認証方法としてはとりあえずプレインなimapを使用しております。
Courier-imapのプレイ認証でうまくいかない原因で思いつくのは、下記3点です。/configureオプションで状況が変わります。
1. /etc/pam.d/imapというファイルが下記内容で存在するか?(Courier-imapインストール時に設定されるはず)
もともと、imapがあると置き換えてしまうはずなので、問題ないと思うが。
#%PAM-1.0
auth required pam_nologin.so
auth required pam_stack.so service=system-auth
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
2. 下記のように、ps auxで確認してauthdaemond.plainが複数(デフォルトなら6個)起動しているか?
/usr/lib/courier-imap/libexec/authlib/authdaemond.plain start
3. authdaemond.plain以外が起動している場合は、/usr/lib/courier-imap/libexec/authlib/配下にauthdaemond.xxx(ldap,mysql,pgsql等)があるはずで、これらが起動してしまう。
その場合、これらを消して(authdaemond.plainのみ残す)てもいいが、後々使うかもしれないので、/usr/lib/courier-imap/etc/authdaemonrcを開き、下のほうにあるversionを下記のようにすれば、authdaemon.plainが起動する。
version=authdaemond.plain
> こんばんは。
>
> > 最近サーバを再インストールしたのですが、IMAPでログインしようとするとmaillogにimapd: LOGIN FAILED, ip=[192.168.1.10]というエラーが出ます。
> > 認証方法としてはとりあえずプレインなimapを使用しております。
>
> Courier-imapのプレイ認証でうまくいかない原因で思いつくのは、下記3点です。/configureオプションで状況が変わります。
>
> 1. /etc/pam.d/imapというファイルが下記内容で存在するか?(Courier-imapインストール時に設定されるはず)
> もともと、imapがあると置き換えてしまうはずなので、問題ないと思うが。
>
> #%PAM-1.0
>
> auth required pam_nologin.so
> auth required pam_stack.so service=system-auth
> account required pam_stack.so service=system-auth
> session required pam_stack.so service=system-auth
>
> 2. 下記のように、ps auxで確認してauthdaemond.plainが複数(デフォルトなら6個)起動しているか?
>
>
> /usr/lib/courier-imap/libexec/authlib/authdaemond.plain start
>
> 3. authdaemond.plain以外が起動している場合は、/usr/lib/courier-imap/libexec/authlib/配下にauthdaemond.xxx(ldap,mysql,pgsql等)があるはずで、これらが起動してしまう。
> その場合、これらを消して(authdaemond.plainのみ残す)てもいいが、後々使うかもしれないので、/usr/lib/courier-imap/etc/authdaemonrcを開き、下のほうにあるversionを下記のようにすれば、authdaemon.plainが起動する。
>
> version=authdaemond.plain
おっしゃるとおり3.で上手くいきました!ありがとうございます!
今後cram-md5などにも対応させセキュリティにも気を配りたいと考えておりますがこのversion=authdaemond.plainというのを付けたままで良いのでしょうか?
こんばんは。
> おっしゃるとおり3.で上手くいきました!ありがとうございます!
> 今後cram-md5などにも対応させセキュリティにも気を配りたいと考えておりますがこのversion=authdaemond.plainというのを付けたままで良いのでしょうか?
使用するMUAにもよりますが、証明書さえ作成すればimapd-sslが使えるのですから、おやじとしてはこちらがお勧めです。ユーザ名やパスワードだけでなく本文も暗号化され、認証していることすらパケットを見ても分かりませんので。
なお、cram-md5については、おやじは使用したことがないので検索でいろいろ出てきますので、試してみてください。
関係するのは、
1. ./configureオプションで「--with-authcram」を指定しないと駄目?
2. authdaemonrcの「AUTHMODULES」、「IMAP_CAPABILITY」の修正。
3. パスワードデータベース作成
あたりと思います。versionは起動スクリプト(/usr/lib/courier-imap/libexec/authlib/authdaemond)を見てもらえばわかりますが、いろいろある認証デーモンがインストールされているかどうかで起動するようになっていますが、最後にversionに値が入っているとそのデーモンを起動するようになっていますので、起動したい認証デーモンを明示するために使うのでcram-md5用に変更が必要です。
> 使用するMUAにもよりますが、証明書さえ作成すればimapd-sslが使えるのですから、おやじとしてはこちらがお勧めです。ユーザ名やパスワードだけでなく本文も暗号化され、認証していることすらパケットを見ても分かりませんので。
> なお、cram-md5については、おやじは使用したことがないので検索でいろいろ出てきますので、試してみてください。
> 関係するのは、
>
> 1. ./configureオプションで「--with-authcram」を指定しないと駄目?
> 2. authdaemonrcの「AUTHMODULES」、「IMAP_CAPABILITY」の修正。
> 3. パスワードデータベース作成
>
> あたりと思います。versionは起動スクリプト(/usr/lib/courier-imap/libexec/authlib/authdaemond)を見てもらえばわかりますが、いろいろある認証デーモンがインストールされているかどうかで起動するようになっていますが、最後にversionに値が入っているとそのデーモンを起動するようになっていますので、起動したい認証デーモンを明示するために使うのでcram-md5用に変更が必要です。
versionは要変更なのですね。一度きっちりauthdaemondを見てみようと思います。
確かにSSLは全文暗号化できますしいいのですがBecky!を使っているために却下せざるを得ないのです・・・。
wstoneなどはできるだけ使いたくありませんし・・・。
いつもこちらのページは大変勉強になりありがたいです。これからも頑張ってください!
こんばんは。
> 確かにSSLは全文暗号化できますしいいのですがBecky!を使っているために却下せざるを得ないのです・・・。
> wstoneなどはできるだけ使いたくありませんし・・・。
何故ですか?おやじが気が付いていないことがあるのかも知れませんので、できれば理由を教えていただけませんか?
自宅メールサーバはプロバイダメールとは異なり、外部からアクセスしたらどの経路をとおるか判りませんので、内容を含めて暗号化は必須と考えています。内向きdnsを建てて、ドメイン名でstoneを起動してアクセスするなら家庭内でも外部からでも全く同じアクセスができると思いますが。
> 何故ですか?おやじが気が付いていないことがあるのかも知れませんので、できれば理由を教えていただけませんか?
> 自宅メールサーバはプロバイダメールとは異なり、外部からアクセスしたらどの経路をとおるか判りませんので、内容を含めて暗号化は必須と考えています。内向きdnsを建てて、ドメイン名でstoneを起動してアクセスするなら家庭内でも外部からでも全く同じアクセスができると思いますが。
いえ、実は職場ではその他のプログラムを勝手にインストールできませんので、自宅と職場の環境を変えたくなかったためです。
おかしな言い方をしてしまったのかも知れませんね。申し訳ありませんでした。他に理由はありません。