2

昨日、IT部門はExchangeサーバーに変更を加えました。以前imaplibは、サーバーからメッセージをフェッチするために使用できました。しかし、今では、私が使用していた認証メカニズムがオフになっているようです。以下の出力から、サーバーがNTLM認証のみをサポートするようになりました。

>>> from imaplib import IMAP4_SSL
>>> s = IMAP4_SSL("my.imap.server")
>>> s.capabilities
('IMAP4', 'IMAP4REV1', 'IDLE', 'LOGIN-REFERRALS', 'MAILBOX-REFERRALS', 
'NAMESPACE', 'LITERAL+', 'UIDPLUS', 'CHILDREN', 'AUTH=NTLM')
>>> s.login("username", "password")
...
imaplib.error: Clear text passwords have been disabled for this protocol.

質問:

  1. NTLMとimaplibを使用してimapサーバーに対して認証するにはどうすればよいですか?これを行うには、IMAP4_SSL.authenticate( "NTLM"、authobject)を使用する必要があると思いますか?authobjectコールバックを設定するにはどうすればよいですか。
  2. SSL / TLSがサーバーに接続する唯一の方法であるため、クリアテキストのパスワード認証を再度有効にすることはセキュリティ上のリスクにはなりません。正しい?

imapサーバーに接続するプロセスは、Linuxで実行されています。そのため、pywin32を使用できません。

編集:

私は1.自分自身を理解することができました。しかし、2はどうでしょうか。:IMAP over SSLのクリアテキストパスワードはセキュリティ上の問題ではありませんか?

4

1 に答える 1

4

python-ntlmプロジェクトを使用できました。

python-ntlmHTTP の NTLM 認証を実装します。このプロジェクトを拡張することで、IMAP に NTLM 認証を簡単に追加できました。

私は自分の追加でプロジェクトのパッチを提出しました。

于 2009-12-08T13:39:20.197 に答える