Мы постоянно тестируем новые решения для наших проектов и недавно решили разобраться, что под капотом у Cisco Umbrella. Сам вендор заявляет, что это облачное решение для защиты угроз со стороны интернета из пяти компонентов:
защищенный рекурсивный DNS;
веб-прокси с возможностью отправки подозрительных файлов на анализ в песочницу;
L3/L4/L7 межсетевой экран (Cloud Delivery Firewall);
Cloud Access Security Broker (CASB);
инструмент для проведения расследований.
![](https://habrastorage.org/getpro/habr/upload_files/c76/598/1d9/c765981d9f8890992627ce5b04e0c039.png)
Желающих узнать, что же находится под капотом каждого из этих компонентов, приглашаю под кат.
Защищенный рекурсивный DNS
Когда мы пытаемся попасть на какой-то ресурс по доменному имени, вне зависимости от протокола, мы резолвим доменное имя, то есть преобразуем его в IP-адрес.
Можно ограничивать доступ к ресурсам на основе URL (фактически уже HTTP-трафик), а можно делать это на шаг раньше — исходя из DNS-запроса.
Cisco Umbrella в данном случае выступает как облачный рекурсивный DNS.
Решение может детектировать и блокировать DNS-обращения по таким категориям:
скомпрометированные системы;
связь с серверами управления (C2C);
Malware и Phishing;
автосгенерированные домены;
новые домены;
построение DNS-туннелей (DNS Exfiltration).
С точки зрения архитектуры, это выглядит так:
![](https://habrastorage.org/getpro/habr/upload_files/29d/d3b/f03/29dd3bf03564c890d4597e8baae4bdbd.png)
Нам нужно защитить пользователей на площадках и, что более важно в условиях массового перехода на удаленку, удаленных пользователей.
Пользователей как-то нужно перенаправить в облако для анализа их DNS-запросов, и здесь есть два способа.
1) У пользователей на площадках прописан локальный DNS (обычно адрес домен-контроллера). Нам достаточно просто прописать адреса Cisco Umbrella в настройках DNS Forwarders:
![](https://habrastorage.org/getpro/habr/upload_files/c1c/3f1/59f/c1c3f159f6e9fdad4b5a8751001f7702.png)
2) Удаленным пользователям достаточно установить AnyConnect (модуль Roaming Client) или Umbrella Lightweight Client, в котором будут прописаны адреса DNS и подцеплен профиль организации.
Доступность указанных адресов 208.67.222.222 и 208.67.220.220 обеспечивается с помощью BGP Anycast (когда одни и те же маршруты анонсируются из разных географических точек).
Таким образом, при обращении на эти адреса для уменьшения задержек вы будете направлены в ближайший ЦОД в зависимости от своего географического расположения.
Если провести небольшой тест измерения задержки утилитой dig при обращениях через Cisco Umbrella и публичный Google DNS (8.8.8.8), то получим следующие результаты.
Таблица 1. Результаты измерения задержки через Umbrella
Имя сайта | Замер 1 | Замер 2 | Замер 3 | Замер 4 | Замер 5 | Среднее | |
1 | mos.ru | 89 | 39 | 41 | 94 | 86 | 69,8 |
2 | admomsk.ru | 46 | 96 | 90 | 39 | 95 | 73,2 |
3 | state.gov | 53 | 59 | 39 | 47 | 44 | 48,4 |
4 | gov.cn | 43 | 127 | 45 | 135 | 62 | 82,4 |
5 | gov.uk | 62 | 55 | 63 | 67 | 52 | 59,8 |
6 | governo.it | 59 | 64 | 66 | 58 | 39 | 57,2 |
Таблица 2. Результаты измерения задержки через Google
Имя сайта | Замер 1 | Замер 2 | Замер 3 | Замер 4 | Замер 5 | Среднее | |
1 | mos.ru | 24 | 35 | 34 | 32 | 29 | 30,8 |
2 | admomsk.ru | 50 | 28 | 50 | 52 | 28 | 41,6 |
3 | state.gov | 29 | 51 | 289 | 56 | 39 | 92,8 |
4 | gov.cn | 375 | 30 | 30 | 557 | 359 | 270,2 |
5 | gov.uk | 74 | 68 | 32 | 75 | 89 | 67,6 |
6 | governo.it | 102 | 26 | 93 | 27 | 91 | 67,8 |
Как видно, Cisco Umbrella не вносит каких-то значительных дополнительных задержек по сравнению с публичными DNS.
Дашборд управления настройками располагается по адресу https://dashboard.umbrella.com/o/<OrgID>/#/overview, где <OrgID> — это персональный номер вашей организации, выданный Cisco.
Со стороны Cisco Umbrella достаточно добавить ваш белый IP (адрес или несколько адресов, с которых площадка выходит в интернет) в список Networks, для roaming clients (удаленных пользователей) ничего дополнительно добавлять не надо.
![](https://habrastorage.org/getpro/habr/upload_files/aa6/c64/ea7/aa6c64ea73bbc1ac8a012ac4108082e0.png)
Если у вас несколько домен-контроллеров, то скрипт автоконфигурирования (регистрации в Cisco Umbrella) и настройки DNS Forwarders необходимо будет настроить на них всех, а OpenDNS AD Connector (о нем позже) поставить только на отдельных VM.
Когда на домен-контроллере настроены DNS-forwarders, а у удаленных пользователей установлен Roaming Client, можно проверить, что вы находитесь под защитой Umbrella, перейдя по адресу https://welcome.umbrella.com.
![](https://habrastorage.org/getpro/habr/upload_files/e0b/e4c/c9e/e0be4cc9e8e9dfcbe42b56f2ef5b0630.png)
Всё, вы под защитой!
Что же идет по умолчанию в этой защите? Посмотрим Default Policy.
Политика по умолчанию и её основные компоненты
Вот так выглядит основное меню настройки политики по умолчанию:
![](https://habrastorage.org/getpro/habr/upload_files/08b/234/54a/08b23454a6bbd50aca165edc666b4a48.png)
Applied to All Identities значит, что политика применяется ко всем, кто посылает запросы через Umbrella (в пределах вашей организации). Если делать свою политику, то можно указать много разных типов, к чему ее применять: AD группы пользователей, Roaming Computers, IP-адреса и др.
![](https://habrastorage.org/getpro/habr/upload_files/af0/060/60c/af006060cd5318aab9e7b4672d571145.png)
Security Setting Applied означает блокируемые категории:
![](https://habrastorage.org/getpro/habr/upload_files/c82/909/17c/c8290917c294218608243a4c7187c050.png)
Следует отметить, что DNS-политика по умолчанию не строится по принципу implicit deny (все запрещено), блокируются только категории Malware, C2C, Phishing Attacks.
Content Setting Applied подразумевает, какие DNS-запросы блокируются на основе содержащегося контента.
![](https://habrastorage.org/getpro/habr/upload_files/c3f/8bf/225/c3f8bf225ca07fbaa1ff88a55d4c9a90.png)
Если домен категоризирован как содержащий Drugs, он будет целиком попадать в эту категорию, даже если по ссылке www.example.com/Sports будет располагаться спортивный вестник о последних достижениях местной команды. А вот если блокировка на основе контента будет применяться в Web Policy, а не DNS Policy, то здесь как раз будет разграничение в зависимости от конкретного URL.
Application Settings Applied означает блокировку в зависимости от используемого приложения.
![](https://habrastorage.org/getpro/habr/upload_files/f94/d45/e01/f94d45e0164f5bbcfa326437d225f1cc.png)
Destination list — блокировка по конкретному FQDN, IP-адресу, URL (для Web-Policy).
![](https://habrastorage.org/getpro/habr/upload_files/1fc/788/db9/1fc788db9bd4e386e38e6adef1717df7.png)
Если вы добавили что-то в Global Allow List в виде IP-адреса или, например, FQDN, то это этот ресурс по категории или контенту уже не будет блокироваться (если он подпадает под эту категорию/контент).
Настройка File Analysis доступна, если вы включили в Advanced Settings функцию Intelligent Proxy. По умолчанию она отключена.
![](https://habrastorage.org/getpro/habr/upload_files/594/2a3/539/5942a35391bbcca9ad683a2820a4285b.png)
Intelligent Proxy предназначен для работы с так называемыми grey доменами, когда на них может быть размещен нежелательный контент или вредоносные файлы, но целиком блокировать домен нельзя или нет необходимости. В обычном режиме работы Umbrella либо возвращает в DNS-ответе адрес целевого ресурса, либо вот такую блокирующую страницу:
![](https://habrastorage.org/getpro/habr/upload_files/6e1/f40/3ce/6e1f403cea4b5de5e5eae548da45ed04.png)
При включенной же опции Intelligent Proxy Umbrella будет возвращать вам адрес облачной прокси, через который будет проксироваться трафик с сертификатом Cisco (нужно установить сертификат Cisco в доверенные и включить опцию SSL Decryption). Большое количество очень популярных доменов, например, Google или Facebook, не проксируются из-за низкой вероятности размещения там вредоносного контента.
Grey домены
Grey домены включают в себя домены одновременно с нормальным и вредоносным контентом, поэтому Cisco категоризирует их как risky domains.
Самостоятельно категоризировать какой-то домен как «серый» нельзя, можно только исключить определенный домен из раскрытия трафика и проксирования.
![](https://habrastorage.org/getpro/habr/upload_files/de1/3d4/f74/de13d4f74991f4a66ccb2124634361ec.png)
При включенной настройке файлы будут отправляться на анализ в облачную песочницу Threat Grid Malware Analysis (для веб-политик) либо анализироваться статически в случае применения в DNS-политиках.
Например, при попытке скачать eicar файл у меня появилась надпись «Этот сайт был заблокирован прокси Сisco Umbrella»:
![](https://habrastorage.org/getpro/habr/upload_files/5ca/277/f3b/5ca277f3b7385b6e52786b41966e4114.png)
Block Page — веб-страница, которая будет отображаться у пользователя при блокировке запроса. Настроить отображаемую страницу можно в разделе «Block Page Appearance».
![](https://habrastorage.org/getpro/habr/upload_files/dc3/7d5/260/dc37d5260f475834f96d49d3a6b0ad61.png)
Можно модифицировать страницу блокировки, например, отразить, что запрос заблокирован из-за отнесения к конкретной категории или содержащегося контента, указать e-mail админа для контакта.
![](https://habrastorage.org/getpro/habr/upload_files/a6b/d4c/8ac/a6bd4c8acce48057869fcd3088f450b5.png)
Создание политики на основе пользователей Active Directory
В большинстве организаций политики как на межсетевых экранах, так и на прокси, сейчас пишутся на основе пользователей групп Active Directory.
Cisco Umbrella тоже пошла по этому пути: интеграция с AD возможна путем установки OpenDNS коннектора на виртуальную машину для отправки LDAP-запросов к домен-контроллеру, либо на сам домен-контроллер.
Домен-контроллер регистрируется в дашборде Cisco Umbrella автоматически (путем запуска wsf-скрипта на домен-контроллере):
![](https://habrastorage.org/getpro/habr/upload_files/b62/9eb/a28/b629eba287f44905ee50fcbe8b1055c4.png)
Я установил OpenDNS-коннектор на домен-контроллер. После этого в политиках, в разделе Identity, можно указать конкретного пользователя или группу, для которых будет применяться политика:
![](https://habrastorage.org/getpro/habr/upload_files/cd4/5b0/9c8/cd45b09c8437bcce1f1f5452e6e647b2.png)
Попробую разрешить пользователю категорию Malware, а на уровне всей сети запрещу её.
![](https://habrastorage.org/getpro/habr/upload_files/fb6/d1a/fe0/fb6d1afe0093f330729c40556145c4b8.png)
Политики выполняются, как обычно, сверху вниз. Есть удобный инструмент для проверки уже созданных политик — Policy Tester.
Для пользователя Barney получаю результат «Разрешено»:
![](https://habrastorage.org/getpro/habr/upload_files/1a9/b69/909/1a9b69909e831228da21890aeb97c144.png)
Для обращения с домен-контроллера или любого другого пользователя получаю результат «Запрещено»:
![](https://habrastorage.org/getpro/habr/upload_files/e11/18c/250/e1118c250e74b1cc9f4630ea7bd7283e.png)
Обращения к внутренним доменам обычно не нужно подвергать дополнительной проверке, поэтому их можно исключить из проверки средствами Umbrella двумя способами:
1) Через управление доменом в дашборде Umbrella.
![](https://habrastorage.org/getpro/habr/upload_files/c41/e52/7d6/c41e527d6e9f773145b6adce3c52a443.png)
2) Через установку отдельной VM — Umbrella Virtual Appliance:
![](https://habrastorage.org/getpro/habr/upload_files/299/658/84e/29965884eb0263409b60ba0491a625e2.png)
Umbrella Virtual Appliance выступает в роли DNS-forwarder, локальные DNS-запросы отправляет на локальный DNS, внешние DNS запросы — в Cisco Umbrella.
VA внедряет уникальные идентификаторы для каждого пользователя, которые Umbrella в свою очередь использует для контроля и детальной видимости:
![](https://habrastorage.org/getpro/habr/upload_files/128/4d8/b70/1284d8b7073e3c0ef9a6f92c2ae5f3d5.png)
А так выглядит лог без VA (локальные IP-адреса не видны):
![](https://habrastorage.org/getpro/habr/upload_files/740/3f1/52c/7403f152c43850f6acac10bb708d4688.png)
Защита удаленных пользователей (Roaming Users) обеспечивается либо включением модуля Umbrella Roaming в Cisco AnyConnect, либо установкой Lightweight Umbrella roaming-клиента.
![](https://habrastorage.org/getpro/habr/upload_files/065/12b/3de/06512b3de5be33449b750561264f429d.png)
Интересный факт: Сisco Umbrella можно обойти, если прописать на рабочей станции нужные записи до закрытых ресурсов в hosts.
Лучшие практики при работе с DNS-политиками
1) Политики надо делать неперекрывающимися. Например, если вы сделаете явно allow destination list, а по категории у вас он вредоносный, трафик будет разрешен.
2) Последняя политика должна быть наиболее запрещающей. В ней нужно запретить как можно больше категорий, контента и приложений. В более специфичных политиках (выше по списку) нужно наоборот что-то разрешать.
3) Политики нужно строить снизу верх от широких к узким. То есть в целом для одной группы пользователей запрещена категория «облачные хранилища», но для отдельных пользователей вверху списка она разрешена.
4) Используйте в политиках группы «All Networks», «All Roaming Computers». Когда появится новый Roaming Computer, он просто автоматически подпадет под эту политику. Также желательно сделать разные политики для локальной сети и для Roaming Computers. Когда пользователь будет уходить из офиса, он будет подпадать под другую политику безопасности (возможно, более строгую).
Эти рекомендации применимы также и к работе с веб-политиками, которые я разберу ниже.
Работа в режиме веб-прокси
Решение может работать не только как рекурсивный DNS, но и как облачный веб-прокси.
Трафик в облачный веб-прокси от пользователей направляется точно так же, как и в земной — с помощью PAC-файлов (proxy auto-config). Сам PAC-файл можно разместить в Umbrella. Проксируется только HTTP/HTTPS-трафик (TCP 80/443).
![](https://habrastorage.org/getpro/habr/upload_files/5e4/4d3/865/5e44d386514c9b7a09f375ba580ce9b8.png)
Вы можете задаться вопросом: «А как аутентифицировать пользователей в облачном прокси? Ведь мы не можем здесь применить Kerberos/NTLM».
Ответ на него кроется как раз на картинке выше — SAML.
![](https://habrastorage.org/getpro/habr/upload_files/b6c/591/d70/b6c591d702e338bfc7e431a163cedd24.png)
В качестве IDP (Identity Provider) можно использовать как раз земной AD (ADFS) с установленным AD-коннектором, который я рассматривал в разделе защиты DNS.
В веб-политиках можно использовать все то же самое, что и в DNS-политиках, а также:
1) Антивирусная защита файлов с помощью движка Cisco AMP (Advanced Malware Protection) и отправка их в песочницу Threat Grid Malware Analysis. Ограничения здесь — максимум 200 файлов в день с размером файла не более 50 Мб.
2) Контроль по типам файлов (File Type Control). Позволяет блокировать скачивание в зависимости от категории (исполняемые файлы, изображения, аудио и т.п.) и конкретного расширения (js, jpeg, exe и т. п.).
![](https://habrastorage.org/getpro/habr/upload_files/561/1e4/d14/5611e4d14768aef6713e136ce1277010.png)
Вот так будет выглядеть попытка скачать файл из заблокированной категории Executables:
![](https://habrastorage.org/getpro/habr/upload_files/5fe/096/984/5fe096984983b50728fb97be16d39d67.jpg)
3) Tenant Control (CASB) позволяет явно разрешить использование корпоративного тенанта и запретить использование личного доступа для облачных сервисов Office 365, Google G Suit, Slack. То есть, например, пользователям надо ходить в облачный офис 365 по корпоративным нуждам, но по личным нам надо его прикрыть. Классический Application Control здесь не сработает, поэтому:
![](https://habrastorage.org/getpro/habr/upload_files/8fd/825/777/8fd8257771c066cadf6a8d9f00658bb5.jpeg)
Tenant Control работает просто: Umbrella смотрит в authentication request, и если видит там корпоративный домен, явно разрешенный в политике, то пропускает трафик.
Вот так выглядит меню настройки:
![](https://habrastorage.org/getpro/habr/upload_files/83a/0a4/476/83a0a4476e8a2fd34c1512434201cff9.png)
Я добавил в список разрешенных доменов свой тестовый домен в Office 365 mx365x986845.onmicrosoft.com. Все остальные домены по умолчанию запрещены.
Попробую зайти в Office 365.
![](https://habrastorage.org/getpro/habr/upload_files/8e2/7d1/413/8e27d14134ba2c01390d3ded3f4ef28f.png)
После корректного ввода пароля я успешно попадаю на главную страницу Office 365:
![](https://habrastorage.org/getpro/habr/upload_files/990/2e2/2ca/9902e22cacfea4a3f271089a0b7c9a70.png)
А теперь я попробую зайти в свою корпоративную учетную запись:
![](https://habrastorage.org/getpro/habr/upload_files/248/f3c/0ce/248f3c0ce66e9f1f5b5265d145511716.png)
После ввода пароля я получил обескураживающее сообщение: «Невозможно добраться отсюда туда»:
![](https://habrastorage.org/getpro/habr/upload_files/042/249/25c/04224925cdb2a1d4bcd45d05d9e6d640.png)
Причем сообщение от Microsoft, а не от Cisco Umbrella. Немного погуглив это сообщение на английском языке, я нашел следующее в документации Microsoft: «You can't get there from here. This message means your organization has put a policy in place that's preventing your device from accessing your organization's resources». Прелести русификации я оценил :)
Из недостатков данного облачного веб-прокси можно отметить отсутствие IPS-профилей.
Cloud Delivery Firewall
Решение может также дополнительно выступать в роли L3/L4/L7 межсетевого экрана в облаке, для этого потребуется завернуть трафик с площадки через IPSec-туннель.
![](https://habrastorage.org/getpro/habr/upload_files/e37/6aa/37c/e376aa37c42cfd1727ae6d5206bfeb33.png)
Важное ограничение: в политиках МСЭ можно писать только приватные IP-адреса в поле Source и публичные адреса в поле Destination и никак иначе. То есть применение здесь вполне конкретное — только ограничение доступа для внутренних ресурсов наружу.
Еще один нюанс: максимально допустимая полоса на каждый туннель 250 Mбит/с. Если потребуется передавать больше трафика, нужно будет строить дополнительные туннели и балансировать между ними нагрузку (например, ECMP).
В политиках можно добавлять Applications, но добавлять группы пользователей AD нельзя.
Пример настроенного правила:
![](https://habrastorage.org/getpro/habr/upload_files/7d3/5d0/849/7d35d0849b990a5a957f893d1b898ccc.png)
Такой МСЭ может в принципе подойти организациям, на площадках которых нет своего МСЭ и есть только каналы в интернет (т.е. нет выделенных каналов до ЦОД, где можно централизованно выпускать пользователей в интернет).
Работа с отчетностью и расследованиями
В Umbrella представлен довольно хороший функционал для проведения расследований и анализа отчетности.
Можно смотреть как общее состояние по компании:
![](https://habrastorage.org/getpro/habr/upload_files/39b/dc6/183/39bdc6183a7b4bb27a77156f6ccf9a6e.png)
Так и детальное (кто-куда-когда-почему):
![](https://habrastorage.org/getpro/habr/upload_files/fae/000/b77/fae000b778be80ca166d7f450594f0e8.png)
Имеется много разных типов отчетов (App Discovery, Threats, Top Destinations и другие). Отчеты можно выгружать в форматах csv и pdf, выгрузку отчетов можно делать автоматически, например, еженедельно, с отправкой на почту.
Пример выдержки из отчета App Discovery:
![](https://habrastorage.org/getpro/habr/upload_files/9ee/a98/ae1/9eea98ae18280c15253a074ca8f1ec05.png)
Функционал для помощи в расследованиях располагается на отдельном ресурсе https://investigate.umbrella.com/.
Работает это очень просто: вводите FQDN, ASN, IP, hash и получаете риск-скоринг и другую полезную информацию:
данные записей WHOIS;
атрибуция ASN;
геолокация;
репутация доменов и IP;
анализ вредоносных файлов;
связи между доменами;
обнаружение аномалий (DGA, FFN);
шаблоны запросов DNS.
Вот так выглядит риск-скоринг домена по версии Cisco:
![](https://habrastorage.org/getpro/habr/upload_files/f0f/242/fba/f0f242fba11645340408d701ee6ba136.png)
WHOIS-информация и геолокация:
![](https://habrastorage.org/getpro/habr/upload_files/07e/f62/2de/07ef622de674e5ee6219636ef4f2e1a1.png)
Семплы, собранные Cisco AMP Threat Grid и ассоциированные с данным хостом, приведены ниже и кликабельны внутри дашборда:
![](https://habrastorage.org/getpro/habr/upload_files/a8f/3d0/fcb/a8f3d0fcb4985eefd89abc79bcc45a2d.png)
Можно сразу провести анализ по хешу:
![](https://habrastorage.org/getpro/habr/upload_files/45d/33d/e31/45d33de31f2cba0b26bfba92b11b4c86.png)
В части работы с логами в SIEM вас ждет разочарование: выгрузка логов возможна с задержкой в 10 мин только в Amazon S3 bucket, а уже оттуда в SIEM.
Итоги
С момента покупки OpenDNS Cisco неплохо прокачала функционал этого решения и добавила много новых фич: веб-прокси, CASB, отправка файлов на анализ в песочницу. Решение занимает нишу защиты от угроз со стороны интернета и ограничения доступа к внешним ресурсам. Архитектура позволяет использовать решение как для удаленных, так и для on-site пользователей.