Пытаемся подружить iPhone и Cisco ASA VPN

25 Dec 2009 | Автор: dd |

Сижу работаю. Приходит коллега и жалуется админу что не может со своего iPhone достучаться до офисного VPN который крутится под Cisco ASA. У меня уши естественно насторожились, поскольку до такой степени задротства, чтобы стучаться в офисную сеть со своего iPhone я еще не дошел. Человек ушел, начал ковыряться в телефоне и смотреть. Вообщем по порядку.

Проблема у нас заключалась в том, что соединение проходило полную стадию, кушало пароль и отваливалось. По логам ASA было видно что аутентификация прошла нормально, но дальше соединение рвалось без объяснения причин. Поскольку главный цисковод был в отъезде,  то по тем логам, что смогли извлечь, возникло подозрение, что все дело в том, что iPhone и ASA не могут договориться о шифровании.

iPhone OS поддерживает несколько типов VPN шифрования:  L2TP, PPTP и Сisco IPSec VPN. Более подробную инфу можно глянуть на сайте Apple. Для подключения к Сisco IPSec VPN версия прошивки должна быть 2.0 и выше. Также поддерживается два вида сертификатов:

  • PKCS1 (.cer, .crt, .der)
  • PCSC12 (.p12, .pfx)

Для того чтобы настроить VPN соединение, идем Settings -> General -> Network -> VPN и выбираем Add VPN Configuration. Вбиваем все значения, которые выдает нам одмин, или которые мы знаем сами по себе, после чего говорим сохранить, и включем кнопочку Turn VPN on для того чтобы инициировать VPN соединение. После того, как VPN соединение будет создано, оно появится в главном меню Settings, и когда мы подключены к VPN, VPN иконка высвечивается в статус баре (см. картинко внизу).

Завести можно несколько VPN соединений, но подключение осуществляется к дефолтному, переназначить которок можно в пункте: Settings > General > Network > VPN простым перещелкиванием по соединениям.

Сами протоколы L2TP/IPSec  являются теми же VPN протоколами которые используют встроенные клиенты для MacOS и Windows. iPhone VPN клиент для L2TP/IPSec почти идентичен клиенту используемому на MacOS. Поскольку Cisco поддерживает эти протоколы шифрования, то мы имеем возможность подключаться к ASA серверу, используя IPSec. К VPN от Check Point мы можем подключаться, используя протокол L2TP, но речь сейчас не о нем. Как я сказал уже, VPN клиент для iPhone почти идентичен используемому на системах MAC OS, почти да не совсем- у него имеется ряд функциональных ограничений, так сказать несколько кастрированная версия. При настройке Cisco ASA нужно о них помнить.  Роемся на оффсайте в поисках документации по цискаридзе, откуда извлекаем на свет информацию об ограничениях и настройке ASA (данные выводы справедливы для iPhone OS 2.0):

  • IKE phase 1—3DES шифрование с хэшированием SHA1 (md5 метод не поддерживается)
  • IPSec phase 2—3DES или AES шифрование с MD5 или SHA методом хэширования
  • PPP Authentication—MSCHAPv2 (официальная поддержка) но PAP, MS-CHAPv1 работает в тестовом режиме
  • Pre-shared key (нет поддержки сертификатов).

Диалог в Cisco CLI:

ip local pool CLIENT-POOL 192.168.10.128-192.168.10.141 mask 255.255.255.240
crypto ipsec transform-set iPhone esp-3des esp-sha-hmac
crypto ipsec transform-set iPhone mode transport

crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 10 set transform-set iPhone
crypto map outside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map outside_map interface outside

group-policy iPhone internal
group-policy iPhone attributes
vpn-tunnel-protocol l2tp-ipsec
address-pools value CLIENT-POOL

tunnel-group iPhone type remote-access
tunnel-group iPhone general-attributes
default-group-policy iPhone
authentication-server-group denlab-RADIUS
tunnel-group iPhone ipsec-attributes
pre-shared-key test
tunnel-group iPhone ppp-attributes
authentication ms-chap-v2
crypto isakmp enable outside
crypto isakmp policy 5
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
crypto isakmp nat-traversal 20

Для того чтобы проверить что iPhone пользователь подключился, используем следующие команды:

show vpn-sessiondb detail remote filter protocol L2TPOverIPSec
или
show vpn-sessiondb detail remote filter protocol L2TPOverIPSecOverNAtT

Теперь попробуем проверить насколько это справедливо для прошивки iPhone 3.0..

iphone vpn connection


VN:F [1.9.21_1169]
Rating: 7.2/10 (13 votes cast)
VN:F [1.9.21_1169]
Rating: +2 (from 4 votes)
Пытаемся подружить iPhone и Cisco ASA VPN, 7.2 out of 10 based on 13 ratings

Теги: , , , , , ,

Ваш отзыв