Мой доступ к веб-почте (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?

0 ответов

Другие вопросы по тегам