Оптимизация облачных сервисов в AnyConnect VPN туннеле на Cisco ASA

Оптимизация облачных сервисов в AnyConnect VPN туннеле на Cisco ASA

Многие компании переходят на использование облачных сервисов в своем бизнесе по всему миру, это и офисные приложения, сервисы BigData, чат/видео/аудио коммуникация с целью проведения митингов/обучения и многие другие. Однако ввиду массового перевода на удаленную работу сотрудников так или иначе требуется получать доступ к корпоративной сети (если конечно заказчик не полностью работает на облачной платформе), для того чтобы сделать доступ безопасным, как правило, используются сервисы типа Remote-Access VPN.
Классически такие сервисы могут либо полностью направлять весь трафик удаленного клиента в VPN туннель, либо выборочно направлять или исключать из туннеля трафик основываясь на IPv4/IPv6 подсетях.


Многие безопасники решат что наиболее оптимальным было бы использовать опцию полного туннелирования (tunnelall) трафика для полного контроля за всем трафиком пользователя в момент подключения к корпоративной сети и отсутствием возможности параллельного вывода данных через неконтролируемое интернет-соединение. Однако есть и другая чаша весов...

Развертывание ASA VPN Load-Balancing кластера


  1. Задаем атрибут AnyConnect, который будет использовать для исключения трафика:


    ! ASA(config)# webvpn ASA(config-webvpn)# anyconnect-custom-attr dynamic-split-exclude-domains description dynamic-split-exclude-domains !

  2. Настраиваем списки доменов для нужного нам сценария фильтрации, я привел пример нескольких списков опираясь на документацию производителей для сервисов (MS Skype for Business, MS Exchange Online, MS Sharepoint Online, MS O365, Cisco AMP for Endpoints, Cisco Webex) (в одной Group-Policy можно использовать только один список! Один список не может превышать 510 символов):



    ! ASA(config)# anyconnect-custom-data dynamic-split-exclude-domains SKYPE skype.com, lync.com, teams.microsoft.com, skypeforbusiness.com ! ASA(config)# anyconnect-custom-data dynamic-split-exclude-domains EXCHANGE-ONLINE outlook.office.com, outlook.office365.com, smtp.office365.com, outlook.com, office.com ! ASA(config)# anyconnect-custom-data dynamic-split-exclude-domains SHAREPOINT-ONLINE sharepoint.com ! ASA(config)# anyconnect-custom-data dynamic-split-exclude-domains O365 online.office.com, officeapps.live.com, msappproxy.net, msftidentity.com, account.activedirectory.windowsazure.com, windows.net, microsoftonline.com, autologon.microsoftazuread-sso.com, microsoftonline-p.net, graph.microsoft.com, graph.windows.net, login.microsoft.com, login.windows.net, office.com, cloudappsecurity.com, admin.microsoft.com ! ASA(config)# anyconnect-custom-data dynamic-split-exclude-domains CISCO-AMP amp.cisco.com, amp.sourcefire.com, panacea.threatgrid.com, panacea.threatgrid.eu ! ASA(config)# anyconnect-custom-data dynamic-split-exclude-domains CISCO-WEBEX wbx2.com, webex.com, ciscospark.com, webexcontent.com, activate.cisco.com, webapps.cisco.com, accompany.com, huron-dev.com, sparkpostmail1.com, giphy.com, safebrowsing.googleapis.com, walkme.com, s3.walkmeusercontent.com, speech.googleapis.com, texttospeech.googleapis.com, crashlytics.com, eum-appdynamics.com, amplitiude.com, segment.com, segment.io !

    Я для примера буду использовать список для Webex, AMP и Skype


    ! ASA(config)# anyconnect-custom-data dynamic-split-exclude-domains CLOUD-SERVICES webex.com, wbx2.com, webexcontent.com, amp.cisco.com, amp.sourcefire.com, panacea.threatgrid.com, panacea.threatgrid.eu, skype.com, lync.com, teams.microsoft.com, skypeforbusiness.com !

  3. Назначаем настроенный список на интересующую нас Group-Policy:


    ! ASA(config)# group-policy ASHES-VPN attributes ASA(config-group-policy)# anyconnect-custom dynamic-split-exclude-domains value CLOUD-SERVICES !

  4. Соединяемся через VPN, клиент скачивает новую настройку и вуаля, мы аккуратно вывели облачные сервисы из под VPN!


    • Посмотрим как изменится таблица маршрутизации хоста после подключения VPN и попытки обращения к сервису в исключении:
    • Посмотрим как изменится трассировка для исключенного сервиса в сравнении с остальным, идущими в tunelall политику:


Резюмируя хочется отдельно отметить, что за простые четыре (три) шага удаленные сотрудники используют Office365 напрямую из облака, Skype и Webex вызовы идут напрямую без задержек и Вы резко снизили нагрузку на VPN-шлюз исключив из туннеля доверенные облачные приложения. Помимо этого данная технология дает возможность и динамически включать туннелирование по тому же принципу, но об этом можно почитать в более подробной инструкции .


Всем крепкого здоровья!


P.S. На задержки не обращайте внимания, я сижу через спутниковый интернет на "удаленке" =)

Alt text