Пытаемся подружить iPhone и Cisco ASA VPN
25 Dec 2009 | Автор: dd |Сижу работаю. Приходит коллега и жалуется админу что не может со своего iPhone достучаться до офисного VPN который крутится под Cisco ASA. У меня уши естественно насторожились, поскольку до такой степени задротства, чтобы стучаться в офисную сеть со своего iPhone я еще не дошел. Человек ушел, начал ковыряться в телефоне и смотреть. Вообщем по порядку.
Проблема у нас заключалась в том, что соединение проходило полную стадию, кушало пароль и отваливалось. По логам ASA было видно что аутентификация прошла нормально, но дальше соединение рвалось без объяснения причин. Поскольку главный цисковод был в отъезде, то по тем логам, что смогли извлечь, возникло подозрение, что все дело в том, что iPhone и ASA не могут договориться о шифровании.
iPhone OS поддерживает несколько типов VPN шифрования: L2TP, PPTP и Сisco IPSec VPN. Более подробную инфу можно глянуть на
- 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 нужно о них помнить. Роемся на оффсайте в поисках документации по цискаридзе, откуда извлекаем на свет
- 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..
Теги: cisco, iPhone, iphone tips, IT безопасность, vpn, vpn client, Сети