Мой доступ к веб-почте (Proxy CAS) не удается, когда я проверяю почту по IMAP
Я использую веб-портал Sso, который предоставляет билеты в казино. Я "кассифицирую" мою веб-почту и мой сервер imap (cyrus-imapd).
Когда я получаю свои письма из веб-почты (прокси CAS), все в порядке. За исключением случаев, когда я получаю свои электронные письма с помощью классического клиента IMAP и пытаюсь получить их снова из веб-почты, у меня плохая аутентификация.
Кажется, это известная проблема. Действительно (если я хорошо понимаю) sasl-кеш получен при начале пароля, подобного PT (из веб-почты), и после пароля (из классического IMAP-клиента). Я не нашел хороший способ исправить это. Вот почему я размещаю свой вопрос здесь. Я попытался с pam_ccreds, но у меня все еще есть много ошибок аутентификации в mail.log.
Поэтому я стараюсь использовать 2 экземпляра служб saslauthd и 2 imap. Ниже конфигурации ОС и программного обеспечения:
- ОС: Debian 8
- sasl2-bin: 2.1.26.dfsg1-13
- cyrus-imapd: 2.4.17 + caldav ~ beta10-18
Ниже моя попытка конфигурации:
/ И т.д. / по умолчанию / saslauthd
START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="pam" THREADS=5 OPTIONS="-c -m /var/run/saslauthd/mux -r -n 0"
/ И т.д. / по умолчанию /saslauthd-веб
START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="pam" THREADS=5 OPTIONS="-c -m /var/run/saslauthd/muxweb -r -n 0"
/etc/pam.d/imapweb
auth sufficient /lib/x86_64-linux-gnu/security/pam_cas.so -simap://mail.example.com -f/etc/pam_cas.conf auth sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf auth sufficient /lib/x86_64-linux-gnu/security/pam_unix.so account sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf
/etc/pam.d/imap
auth sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf auth sufficient /lib/x86_64-linux-gnu/security/pam_unix.so account sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf
/etc/cyrus.conf
imap cmd="imapd -U 30" listen="X.X.X.X:imap" prefork=0 maxchild=100 imapweb cmd="imapd -U 30 -C /etc/imapdweb.conf" listen="X.X.X.X:IMAPWEBPORT" prefork=0 maxchild=100
/etc/imapd.conf
... sasl_pwcheck_method: auxprop saslauthd imap_sasl_saslauthd_path: /var/run/saslauthd/mux imapweb_sasl_saslauthd_path: /var/run/saslauthd/muxweb sasl_auxprop_plugin: sasldb ...
Я перезапускаю службы saslauthd и cyrus-imapd.
Когда я запускаю команду testsaslauthd с каждым сокетом saslauthd, она работает очень хорошо:
testsaslauthd -u USER -p PASSWORD -f /var/run/saslauthd/mux/mux -s imap
0: OK "Success."
testsaslauthd -u USER -p PASSWORD -f /var/run/saslauthd/muxweb/mux -s imapweb
0: OK "Success."
Но когда я запускаю telnet через порт imap на моем imap-сервере с моего хоста веб-почты, аутентификация не удалась. На порте imapweb тоже самое. Однако в журнале imap я вижу стек трассировки, который показывает, что я использую хороший сервис imap (imap для порта imap и imapweb для IMAPPORTWEB)
У вас есть идея, которая объясняет, почему моя аутентификация не работает? Является ли правильный способ принять как CAS, так и классический доступ IMAP?