Klient poczty na iPadzie - IMAP z certyfikatami klienta X.509?

11

Krótka wersja: Czy ktoś wie, czy certyfikaty klienta X.509 powinny działać na iPadzie dla poczty IMAP? Czy marnuję czas na szukanie funkcji, która nie działa? Jeśli wbudowana aplikacja poczty nie obsługuje certyfikatów IMAP z klientami X.509 (tj .: działają tylko z kontami Microsoft Exchange ActiveSync), czy istnieją aplikacje innych firm, które to robią?

Interesujący jest tylko iOS 5.1 lub nowszy; 5.1 to wersja, z którą testowałem.


Jestem administratorem sieci wymaganej przez zasady do korzystania z certyfikatów klienta X.509 w celu ochrony całej komunikacji zewnętrznej, w tym naszego serwera poczty IMAP (Cyrus IMAPd) i serwera SMTP (postfiks). Żadne z nich nie zaakceptuje połączenia bez przedstawienia przez klienta ważnego certyfikatu klienta X.509. Wyłączenie wymagania certyfikatu klienta nie jest dla mnie opcją i z podobnych powodów nie możemy tunelować ruchu przez VPN.

Mamy teraz użytkowników iPada, którzy chcą połączyć się z naszą siecią i stwierdzają, że jest to problem.

Dla użytkowników komputerów stacjonarnych zwykle instalujemy Thunderbirda, ponieważ ma solidny IMAP z doskonałą obsługą certyfikatów klienta; „po prostu działa” i działa tak samo w przypadku każdej platformy. To nie jest opcja dla iPada.

Niestety, wbudowana aplikacja Mail na iPada nie radzi sobie z certyfikatami klientów dla IMAP. Mogę zainstalować główny certyfikat naszej organizacji i certyfikat klienta użytkownika za pomocą iPhone Configuration Utility. Oba są pokazane jako „zweryfikowane” w Ustawieniach-> Ogólne-> Profile. Następnie iPad akceptuje nasz serwer jako zaufany i pomija wszelkie ostrzeżenia o braku weryfikacji tożsamości serwera.

Poczta nadal nie wysyła certyfikatu klienta, gdy jest on wymagany, więc serwer kończy uzgadnianie. Nie monituje użytkownika o wybranie jednego, ani nie wysyła automatycznie zainstalowanego certyfikatu klienta dla użytkownika, który jest zgodny z certyfikatem CA przedstawionym przez serwer.

Badanie przepływu ruchu między klientem a serwerem pokazuje, że negocjacja TLS kończy się niepowodzeniem, gdy iPad odpowiada pustym zestawem certyfikatów klienta, gdy serwer żąda certyfikatów klienta. Patrz poniżej.

Po podłączeniu do sieci wewnętrznej za pośrednictwem zaszyfrowanego Wi-Fi, gdzie nie jest wymagany certyfikat klienta, aby uzyskać pocztę, urządzenie łączy się i pobiera pocztę. Zewnętrzny dostęp (publiczna sieć Wi-Fi lub 3G) kończy się niepowodzeniem, niezależnie od tego, czy korzystam z portu 993 IMAP z zaznaczoną opcją „Użyj SSL”, czy z portu IMAP + TLS 143 z zaznaczoną opcją „Użyj SSL”. Poza oczywistym brakiem obsługi negocjacji certyfikatów klienta dla IMAP, jest idealny.

Odwołania do obsługi certyfikatów klienta w dokumentacji „Wsparcie korporacyjne” firmy Apple pojawiają się tylko w przypadku omawiania Microsoft Exchange ActiveSync i omawiania obsługi Cisco VPN.

Na forach dyskusyjnych firmy Apple jest kilka pytań, ale nie ma ostatnich ani użytecznych odpowiedzi. Odsyłam do nich linki, ale fora Apple są w tej chwili „gotowe do konserwacji”.

Aby obejść ten problem, prawdopodobnie mogę skonfigurować zablokowaną sieć VPN za pomocą automatycznego połączenia VPN na iPadzie, aby rozmawiać z autoryzowanym klientem IPSec VPN z certyfikatem klienta, który może rozmawiać tylko z serwerami IMAP i SMTP na odpowiednich portach plus DNS, nic więcej. Byłoby to dość makabryczne włamanie, gdyby trzeba było go popełnić.


BTW, konwersacja serwera <-> klienta to:

  • C -> S Klient TLSv1 Witaj
  • S -> C Serwer TLSv1 Witaj
  • S -> C Certyfikat TLSv1, żądanie certyfikatu, serwer Hello Done (wysyła certyfikat serwera, podpisuje certyfikat główny, nazwę wyróżniającą akceptowanego certyfikatu klienta, który jest taki sam jak katalog główny, który podpisał certyfikat serwera)
  • C -> S Certyfikat TLSv1 (pusty zestaw certyfikatów, w tym zero certyfikatów)
  • S -> C TLSv1 Awaria uzgadniania

Innymi słowy, serwer mówi: „to ja, oczekuję, że dostarczysz certyfikat podpisany przez organ, aby udowodnić, kim jesteś”, a klient odpowiada: „Um, moje papiery są tutaj w tej pustej kopercie. „

Klient ma zainstalowany certyfikat główny i zainstalowany certyfikat klienta, który wymaga nazwy wyróżniającej osoby podpisującej wymaganej przez serwer.

Craig Ringer
źródło
W tym przewodniku Apple wspomina o obsłudze certyfikatów x.509, gdy włączony jest protokół SSL. Sam dokument mówi tylko o usługach opartych na standardach (IMAP, CalDAV itp.) I nigdzie nie wspomina o ActiveSync. To mówi mi, że to powinno być możliwe. Myślę, że problem polega na tym, że nie jest to typowa konfiguracja i nie mam osobistego doświadczenia w korzystaniu z IMAP w środowisku korporacyjnym (jesteśmy sklepem Exchange).
bispymusic
Wiem, że to nie jest darmowe, ale możesz również zajrzeć do wsparcia Apple Apple dla systemu operacyjnego . Nawet najniższy poziom tej usługi powinien obejmować znalezienie rozwiązania tego problemu. Chciałbym móc osobiście bardziej pomóc.
bispymusic
Dzięki za nagrodę. Porzuciłem tę pracę (12 lat, umysł) i jestem teraz błogo wolny od dbałości o obsługę błędnych certyfikatów klienta w ... no cóż, naprawdę. Jest to wyraźnie interesujące dla innych, więc mam nadzieję, że jest tu guru z iOS, który może ujawnić tajny przepis. Moje osobiste podejrzenie jest takie, że certyfikaty klienta X.509 prawdopodobnie nie powinny działać na niczym innym niż Exchange ActiveSync.
Craig Ringer
1
Craig. Gdybyś napisał wszystko, co znasz jako odpowiedź - nawet te komentarze byłyby dobre, aby to rozwiązać. Świetną rzeczą jest to, że posty mogą tu siedzieć przez długi czas i nadal można je wyszukiwać. Odpowiedź: „to był ból, szukaliśmy i nic nie działało, więc ruszyliśmy dalej” byłaby pomocna i warta nagrody IMO.
bmike
@bike Chciałbym, ale ponieważ nie testowałem z nowszymi urządzeniami iOS, zostawię to komuś, kto ma.
Craig Ringer

Odpowiedzi:

1

Pytanie wydaje się dotyczyć używania X.509 do uwierzytelniania w usłudze IMAP, która nie jest obsługiwana przez iOS. Szyfrowanie i podpisy e-mail S / MIME można wykonywać w systemie iOS, ale do uwierzytelniania w usługach pocztowych nadal będzie używana nazwa użytkownika / hasło przez SSL lub TLS.

beneficjant
źródło
1
Naprawdę niesamowite, że Apple nie może niepokoić się obsługą tak podstawowej funkcji bezpieczeństwa. Zwłaszcza, gdy ich biblioteki SSL już to obsługują.
Craig Ringer
Inną ścieżką, którą Apple ignoruje w iOS, jest obsługa GSSAPI.
Brian Topping
1

Zobacz powyższe komentarze, w których pytający informuje, że nigdy nie działało.

Tak więc w systemie iOS 5.1 certyfikaty X.509 nie będą łatwo wykorzystywać do zabezpieczania poczty e-mail w systemie iOS bez wysiłku inżynieryjnego i być może wcale.

bmike
źródło