6 votos

¿Cuenta IMAP dejó de funcionar después de actualizar a iOS 9 - problema con el certificado de CAcert?

Después de actualizar mi iPhone 6+ de iOS 8 a iOS 9, mi cuenta de correo electrónico IMAP dejado de funcionar. Cuando la aplicación de Correo intenta conectar con el servidor, se produce un error y muestra un mensaje de alerta con el título "No se puede obtener el Correo" y el mensaje "El servidor de correo de x.y.z no está respondiendo. Compruebe que ha introducido correctamente la información de la cuenta en la configuración del Correo.".

Hice comprobación de la información de la cuenta, y es de hecho correcto. Curiosamente, yo no obtener los mensajes de error de la aplicación de configuración cuando intento guardar la cuenta. He intentado entrar en la información incorrecta a propósito (por mal nombre de usuario, contraseña incorrecta, mal puerto TCP), y siempre que hago eso y tratar de salvar a la cuenta, la configuración de la aplicación se muestra una alerta que "El servidor IMAP x.y.z no está respondiendo.". Así que estoy realmente seguro de que la información que ha introducido es correcta.

Además, tengo otros dos dispositivos iOS en el hogar (con un iPad 2 y un iPhone 4S) que están configurados para utilizar la misma cuenta y que están todavía en iOS 8 - de estos dispositivos de la cuenta funciona correctamente, por lo que también sé que el problema no es algo básico como el servidor IMAP es hacia abajo.

He intentado varias cosas (ver más abajo), pero sin éxito. La única cosa que sé con certeza es que el problema es de alguna manera conectado a TLS y/o certificados. Teniendo en cuenta la información de este AskDifferent pregunta sospecho que es un problema con el CAcert certificado, pero no estoy seguro.

¿Sabe usted algo acerca de los cambios en iOS 9 en cuanto a la gestión de certificados (que no son de confianza o de otro tipo)? O tienes otros indicios que pudieran ayudarme a solucionar este problema?


Información sobre el servidor:

  • El servidor IMAP se ejecuta en una máquina Debian que tengo control total
  • El servidor IMAP es Courier IMAP
  • El servidor IMAP acepta las conexiones en los puertos estándar IMAP 143
  • El servidor IMAP requiere STARTTLS para hacer cumplir que todo el tráfico está cifrado con TLS
  • El servidor IMAP utiliza un certificado comodín
  • El servidor IMAP ofrece toda la cadena de certificado para el cliente
  • Es la CA root CAcert.org (enlace a la root y los certificados intermedios de CA)
  • Porque CAcert.org no es, por defecto, en la CA de confianza de la tienda de iOS 9, he instalado manualmente la root y certificados intermedios de la CA en el iPhone 6+
  • Courier versión = 0.73.1 (/usr/bin/imapd --version)
  • OpenSSL version = 1.0.2 d (/usr/bin/openssl version)

Lo he intentado?

  • La primera cosa que hice es, he borrado toda la configuración de la cuenta en el iPhone la aplicación de configuración, a continuación, se crea una cuenta nueva y volver a escribir los detalles de configuración. Ningún éxito.
  • He actualizado varios paquetes en la máquina Debian, incluyendo la Mensajería y de OpenSSL, para asegurarse de que el servidor tiene la "última y mejor" funciones de seguridad. Ningún éxito.
  • He leído en alguna parte que iOS 9 podría requerir TLS 1.2 en el lado del servidor, por lo que he comprobado que el servidor IMAP en efecto, ofrece la versión de TLS para sus clientes. Es lo que hace. Este es el comando que se utiliza para la verificación: openssl s_client -connect mail.herzbube.ch:143 -starttls imap. Si se ejecuta este podrás ver un bloque con información acerca de la sesión SSL, hacia el final, este bloque contiene una línea que muestra el TLS versión que se utiliza (Protocol : TLSv1.2). Tenga en cuenta que con el fin de obtener TLS v1.2, en su versión de cliente de OpenSSL también debe apoyar esto. Por ejemplo, OpenSSL en mi Mac OS X Yosemite (10.10.3) portátil es demasiado viejo, es decir, se trata de la versión 0.9.8.zd y no parece comprender TLS 1.2, por lo que llego Protocol : TLSv1.
  • He eliminado la root CAcert y certificados intermedios en el iPhone, a continuación, volver a instalar. Nope, no ayuda.
  • He desactivado temporalmente el requisito de TLS en el servidor, y esto resuelve el problema, es decir, ahora la aplicación de Correo puede conectar, inicio de sesión y recibir correos desde el servidor. Obviamente, esto no es una solución real, ya que no quiero que el tráfico hacia el servidor IMAP a ser en texto claro, pero al menos ahora sé que el problema es de alguna manera conectado a TLS (y/o certificados).
  • He actualizado el iPhone a iOS 9.0.1. Ningún éxito.

3voto

delete this account Puntos 110

Resulta que en mi caso el problema no es el CAcert certificado, ni el TLS versión es la enryption sistemas de cifrado ofrecidos por OpenSSL en el servidor, o más bien, que algunos de ellos el uso de los parámetros que son demasiado débiles.

Cuando Apple presentó su iOS 8.4 actualización de hace un tiempo, se hicieron mejoras a su TLS biblioteca coreTLS a fin de evitar el llamado Atasco en ataque. Es seguro asumir que estas mejoras también son parte de iOS 9. Como Apple menciona en esta nota técnica, coreTLS ya no acepta la exportación de fuerza efímero DH conjuntos de cifrado. En mi caso, este no es el problema, sin embargo, porque mi servidor no ofrece sistemas de cifrado para sus clientes.

Lo que Apple se "olvidó" decir en su nota técnica que también se añadieron nuevos requisitos para el resto de los DH sistemas de cifrado. En este, probablemente seguido la Guía para la Implementación de Diffie-Hellman para TLS, que es un documento "oficial" con las recomendaciones formuladas por las personas que descubrieron el Estancamiento de ataque. Específicamente, coreTLS ahora requiere que los DH cipher suites usar un mínimo de DH del tamaño del grupo.

El "grupo de DH" es un parámetro para DH sistemas de cifrado cuya fuerza se mide por su tamaño en bits. La guía se hace referencia arriba, menciona que los navegadores modernos ahora requieren un mínimo grupo de DH tamaño de 1024. Al parecer, coreTLS también ha adoptado este requisito, porque esto es lo que descubrí en mi servidor...

El Courier IMAP server tiene la siguiente línea en su archivo config /etc/courier/imapd-ssl:

TLS_DHPARAMS=/etc/courier/dhparams.pem

Cuando me examine el DH archivo de parámetros, obtengo el siguiente resultado:

$ openssl dhparam -in /etc/courier/dhparams.pem -noout -text
    DH Parameters: (768 bit)
        prime:
            00:e0:01:64:54:ec:1c:17:86:f3:02:81:08:44:75:
            67:e6:ab:5c:dd:61:0a:a6:49:1e:23:48:98:29:e9:
            48:36:d3:6b:9c:0f:0f:89:7d:7b:7a:17:1f:03:f3:
            53:4f:cf:d7:4d:a3:8f:00:6e:af:fb:e2:95:e6:45:
            71:c3:8b:74:d2:b4:8c:7c:7d:4b:e1:11:12:eb:7e:
            31:fb:c2:ff:f0:60:3d:07:69:d8:36:19:43:03:00:
            52:43:5b:99:21:5f:c3
        generator: 2 (0x2)

Como puede verse, este grupo de DH sólo tiene un tamaño de 768 bits, lo que no es, definitivamente, según los estándares modernos.

Para solucionar el problema he creado un nuevo grupo de DH con el aumento de tamaño. He seguido los consejos de la "Guía para la Implementación de DH" y se creó un grupo con un tamaño de 2048 bits:

openssl dhparam -out /etc/courier/dhparams-2048-bit.pem 2048

Cambiar los permisos del nuevo archivo para que coincida con el original del archivo de permisos:

chmod 600 dhparams-2048-bit.pem
chown daemon:daemon dhparams-2048-bit.pem

He actualizado el Courier IMAP archivo de configuración:

TLS_DHPARAMS=/etc/courier/dhparams-2048-bit.pem

y se reinicia el servidor

/etc/init.d/courier-imap restart

Después de que la aplicación de Correo funcionaba bien. Problema resuelto.


PS: Arriba dije que el coreTLS cambios fueron enviados con iOS 8.4, sin embargo, en mi pregunta, debo decir que he iOS 8 dispositivos que no tienen ninguna conexión IMAP problemas. Ambas afirmaciones son ciertas, pero como ahora me doy cuenta de que me olvidé de mencionar en mi pregunta que los de iOS 8 dispositivos están todavía con iOS 8.1.x. Lo siento por eso.


Protocolo adicional pruebas: he jugado con el servicio de Mensajería configuración IMAP TLS_STARTTLS_PROTOCOL, con el fin de obligar al cliente (iOS 9 aplicación de Correo) para un determinado protocolo TLS versión. Curiosamente descubrí que ni TLSv1.2 ni TLSv1.1 parece funcionar (SSL3 no funciona, pero eso está bien). La única opción que no funciona es

TLS_STARTTLS_PROTOCOL=TLS1

(esto sigue siendo cierto incluso después de actualizar el DH tamaño del grupo)

He probado la misma configuración con iOS 8.1.2 - no existe la aplicación de Correo es capaz de conectarse con las 3 versiones del protocolo (TLSv1.2, TLSv1.1, TLS1), e incluso SSL3.

Esto es realmente extraño. Aunque es difícil creer que, en el momento en que parece como si iOS 9 aplicación de Correo puede utilizar sólo TLS1. A pesar de las mejoras en la seguridad en el DH de cifrado de frente, no de apoyo TLSv1.2 sería una mala regresión, de la OMI. También podría ser que mi servidor es de alguna manera mal configurado de una manera que no reconozco en el momento. Por lo tanto, sería útil si alguien podría hacer pruebas similares para confirmar o descartar mis conclusiones.

1voto

wheelcritter Puntos 11

Tengo el mismo problema, pero no hay respuesta todavía. Espero que el cierre de una solución y yo que tienen la información pertinente para usted.

Tengo el iOS 9 problema tal como la describe con mi Courier IMAP, pero no con mi SASL SMTP AUTH. La criptografía en los 2 servidores es similar.

En particular, tanto el uso de auto certificados firmados.

Aquí están los "openssl s_client" salidas que estoy mirando:

Courier IMAP (iOS 9 rejects)
------------
$ openssl s_client -connect 127.0.0.1:143 -starttls imap

No client certificate CA names sent
---
SSL handshake has read 3092 bytes and written 479 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : DHE-RSA-AES256-GCM-SHA384
    Session-ID: 4E1B8D0D14AC480A4203C1898A0C75D57DE646547A9F9FC3D47CDFD1926B7C0C
    Session-ID-ctx:
    Master-Key: 4E9D26764E93204AE2C7232E72328C30B38A272B6500D1E524FDA25FEA86EDEBEA22416BECEF78DC8713E5CC5850060D
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - ad ad c0 42 ad 10 be 6b-2b 3e c0 79 79 8c 12 03   ...B...k+>.yy...
    0010 - 74 06 9d ed 1b 72 90 0b-f7 ff f5 f7 1e 2f 6f ec   t....r......./o.
    0020 - a2 ea 8f ac 5a 64 b2 9e-b8 3f 09 56 31 b0 c3 76   ....Zd...?.V1..v
    0030 - c8 b7 83 94 dc 04 81 1a-fe a7 72 4d 50 9c 18 e7   ..........rMP...
    0040 - bd b2 2a cf 0b 29 1c f5-23 75 30 0e fe c9 0a 94   ..*..)..#u0.....
    0050 - 6f c2 e9 ba fa fd b7 f2-33 83 34 91 75 bb 30 4a   o.......3.4.u.0J
    0060 - f1 68 5f 3b 3d f4 12 db-5e 52 82 e7 6f 35 83 c9   .h_;=...^R..o5..
    0070 - 49 39 03 a4 08 8e 60 26-9a a7 5f 18 26 47 f7 ae   I9....`&.._.&G..
    0080 - 07 29 68 7b 5a 5d ad 2f-7d ea 02 f9 00 c8 53 64   .)h{Z]./}.....Sd
    0090 - 1e c9 6e e6 b1 e9 59 83-f2 7a 13 0c 7f c7 44 7a   ..n...Y..z....Dz

    Start Time: 1442747573
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
. OK CAPABILITY completed


SMTP AUTH (iOS 9 accepts)
---------
$ openssl s_client -connect 127.0.0.1:25 -starttls smtp

No client certificate CA names sent
---
SSL handshake has read 1637 bytes and written 456 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 7B733E6F86EDC34FB2C399E6571263286DB3A3BE94CA04BD0146A9EE3602D6CF
    Session-ID-ctx:
    Master-Key: F72207EFCC8AF316D3BD120C2F11D45FBE9861EF0155CAEFE08395F239541FEE5AEA0D27CDB18B2BB7C5CAF9A8D22832
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - ff 5b be 3e 40 a4 c9 6f-f8 67 00 c9 ac 86 16 27   .[.>@..o.g.....'
    0010 - a9 df 68 57 d1 5c 16 1a-27 e5 2a 74 91 2f b0 28   ..hW.\..'.*t./.(
    0020 - 3f ec 58 2c 0c 23 d9 cb-8b 03 c5 7d 97 de 96 c7   ?.X,.#.....}....
    0030 - fb 25 47 0d b8 7b 5a 45-0c 55 8e 7c 6d 2e 12 76   .%G..{ZE.U.|m..v
    0040 - 8c 2b 1f 2b 27 3f d6 98-fd 23 3f 26 07 de f5 3e   .+.+'?...#?&...>
    0050 - be e7 ed 08 3d 0d b9 d3-6d a0 6d 25 2f cf b1 65   ....=...m.m%/..e
    0060 - e1 36 f2 78 1d f4 36 4f-f4 e5 67 a1 16 e7 22 4c   .6.x..6O..g..."L
    0070 - c1 80 59 dc 58 72 16 15-73 73 8d 9f ef 67 bb 37   ..Y.Xr..ss...g.7
    0080 - db a8 24 32 ee ce 5e 67-c1 8a 94 11 5c 3c b0 ff   ..$2..^g....\<..
    0090 - 3a 73 6a bf 77 07 94 d4-06 6c 27 00 9d 3f 61 4e   :sj.w....l'..?aN

    Start Time: 1442747626
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 DSN

Así que ahora estoy buscando en la diferencia entre "ECDHE" y "DHE", y si la 4096 - frente a 2048 bits servidor de claves públicas de hacer una diferencia.

Sólo estoy suponiendo que Apple es la celebración de STARTTLS para ambos SMTP e IMAP a las mismas normas...

1voto

JudieKaren Puntos 11

El correo estaba trabajando bien en iOS 9.1 hasta he cambiado el "alerta" en las Notificaciones para "alertar" a día de hoy. Entonces recibí un mensaje diciendo algo como "No se puede obtener el Correo" y que yo estaba usando la señal equivocada en info. (Lo siento no recuerdo el texto exacto del mensaje.)He intentado dos veces y me llegó el mismo mensaje dos veces, pero inmediatamente me acordé de lo que me había cambiado en "Configuración" hoy más temprano, así que me fui de nuevo a Ajustes>Notificaciones>Notificaciones Estilo de Correo>>Alerta de Estilo y, a continuación, he seleccionado "Ninguno". Cuando volví a mi aplicación de Correo que funcionaba de nuevo. (Yo uso GMail).

0voto

Sebastian Puntos 1

tuvimos el mismo problema en nuestra empresa. Tenemos casi la misma configuración Debian Courier IMAP y IOS9. Para nosotros se resuelve cuando utiliza el puerto 143 para la conexión de imap ssl.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X