Настраиваем защиту от IoT атак на предприятии с помощью оборудования Zyxel
Не так давно компания Human Security выявила целую теневую сеть, связанную с заражёнными устройствами и вредоносными приложениями. Заражёнными оказались не только Android-ТВ приставки, но и планшетные ПК, носимые устройства и даже автомобили. В этой связи следует принять за данность, что если в вашей компании используется хоть одно «умное» устройство, будь то розетка, лампочка, робот-пылесос или телевизор с управлением через интернет, имеет смысл максимально ограничить им доступ ко всему, кроме управляющих серверов в интернете.
Типичная атака через IoT выглядит следующим образом: устройство подключается к зловредному интернет-ресурсу напрямую или через собственный VPN, скачивает и устанавливает на себя зловредный код, после чего начинает быть либо частью крупной ботфермы для атак на сторонние ресурсы и использования в качестве резидентного прокси, либо просто шпионит за вашей сетью, пытаясь перехватить какие-то данные, вытащить информацию с открытых ресурсов или наносит вред любым другим способом. Поэтому основа защиты IoT состоит в том, чтобы запретить им доступ к зловредным управляющим серверам и к вашей корпоративной сети.
Это не так сложно как кажется, и основы такой защиты рассмотрены в нашем Бюллетене защиты от IoT устройств. В данной же статье мы покажем, как можно защитить корпоративную сеть на отдельном объекте, где используются сетевые устройства Zyxel от угроз, связанных с IoT-устройствами.
Для тестирования я собрал следующий стенд:
- Шлюз безопасности – Zyxel ATP500
- Точка доступа – Zyxel NWA110AX
- Коммутатор – Zyxel GS1915-8EP
Настройку безопасности производим по пути «снизу вверх», начиная с точки доступа. Для IoT устройств на NWA110AX я создаю отдельный профиль беспроводной сети в диапазоне 2.4 ГГц. Моя основная задача – не пустить умные розетки в другие части корпоративной сети, прежде всего – в управляющую сеть, где открыт Web-интерфейс коммутатора и шлюза, а также в сеть доступа, к которой подключаются смартфоны и ноутбуки. Для этого я создаю отдельный VLAN с номером 32, но попутно есть ещё некоторые особенности, о которых я хотел бы сказать.
-
При подключении IoT устройств часто приходится вводить пароль вручную через приложение, поэтому здесь можно использовать не очень сильный 8-12 значный пароль без спецсимволов. В то же время, для служебной сети я использую 16-значный пароль, а для основной сети - 18-значный.
-
Я использую блокировку трафика между подключенными устройствами, потому что в нормальном режиме эксплуатации им не нужно общаться между собой напрямую.
-
Я ограничиваю пропускную способность каждого IoT устройства величиной 10 Мбит/с – этого достаточно, чтобы девайс мог скачать достаточно большое обновление прошивки из Интернета, не выдавая ошибки по таймауту, и при этом не мешал другим. Это значение может быть ещё ниже, если парк устройств большой, ведь для управления умными устройствами хватит и килобитного канала, а если девайс сойдёт с ума и начнёт загружать сеть паразитным трафиком – точка доступа его остановит.
На каком уровне правильнее ограничивать скорость IoT устройств? Я считаю, что на уровне радио – для каждой подключенной станции, и на уровне шлюза – для IoT сети в целом.
Поднимаемся на уровень выше, и настраиваем VLAN для IoT с ID=32. Точка доступа при установке VLAN на SSID, отправляет тегированный трафик, поэтому на коммутаторе мы разрешаем для VLAN 32 только те порты, которые идут к шлюзу и точке доступа, не забывая отметить TX Tagging, у меня в примере это 1-й порт – к шлюзу и 7-й к точке доступа.
Переходим ещё на ступень выше – к шлюзу ATP500. Это очень навороченная, функциональная модель с поддержкой виртуальных интерфейсов и служб безопасности, поэтому с самого начала нам нужно всё сделать правильно, чтобы этот функционал себя раскрыл в полной мере. Начинаем с создания отдельной зоны для IoT, грубо говоря, мы логически описываем новую группу сетей, для которой будем применять правила.
В Zyxel ATP500 есть ограничение по VLAN – виртуальная сеть жёстко привязывается к порту, то есть если у вас под шлюзом нет аггрегирующего свитча, а например стоят несколько PoE коммутаторов в разных частях здания, и они подключены к разным портам шлюза, то придётся на шлюзе сделать несколько VLAN для IoT, каждый – к своему физическому порту, каждый – со своим диапазоном IP и DHCP, но в общей зоне IoT. Здесь мы можем настроить и ограничение скорости для VLAN, например равной 10% вашего WAN-соединения.
Теперь любой трафик IoT устройств будет проходить только через шлюз, и если IoT устройство вздумает побродить по локальным сетевым дискам, попробовать поатаковать принтеры или рабочие станции – у него ничего не выйдет.
Следующий этап – разрешаем IoT устройствам доступ только на HTTP(s) порты
Не следует разрешать IoT-устройствам использование сторонних DNS, чтобы они могли обойти наши блокировки. Поскольку управление через интернет для интернет-вещей требует подключения к серверу через HTTPs, мы оставим им только этот протокол, ну и HTTP на всякий случай.
В Zyxel ATP500 мы создаем две политики доступа, где указываем источником – зону IoT, назначением – WAN и в качестве сервисов – HTTP и HTTPs.
Ограничиваем доступ только к доверенным адресам (лёгкий способ)
Если Web-адреса, на которые «стучится» IoT устройство, вам уже известны, считайте – вам повезло. Мы создадим алиас разрешённых доменов с помощью сервиса контентной фильтрации, применим его к IoT зоне, а всё остальное запретим. В Zyxel ATP500 реализована фильтрация по доменным именам на уровне DNS запросов и через прозрачный HTTPs прокси с фильтрацией SNI заголовков, то есть девайсам не нужно даже подсовывать сертификат и расшифровывать их трафик.
Фильтрация HTTPs настраивается просто: создаём отдельный профиль для IoT и указываем в нём доверенные адреса, например tuya.com. Выбираем галочку «разрешить доступ только к доверенным сайтам» – и на этом всё, профиль готов. Во многих странах с «суверенным» интернетом зашифрованные HTTP-заголовки режутся самими провайдерами, поэтому все изготовители IoT устройств используют незашифрованные SNI заголовки, так как и скрывать им нечего, и работать будет везде, так что этой защиты может быть достаточно.
DNS-фильтрация в том виде, в каком она реализована в Zyxel ATP500, не даст вам так же легко разрешить только нужные домены, а остальные – запретить. У Zyxel есть политика белых и чёрных списков, и можно например внести в blacklist маску *.*, а в whitelist – tuya.com, но белый и чёрный список одинаковы для всех профилей DNS-фильтрации, поэтому вы не сможете например для IoT ограничить всё и сразу, а для менеджеров – закрыть только example.com. Ну раз уж мы начали блокировать, давайте блокировать всё.
Созданную политику HTTPs фильтрации применяем к политике IoT to WAN, а для DNS фильтра создаем две политики: HTTP/HTTPs от IoT к Any (excluding Zywall) и HTTP/HTTPs от IoT к Zywall.
На этом можно и закончить – поздравляю, вы выбрали хорошего поставщика IoT девайсов, и всё нижеследующее вам не нужно.
Если адреса управляющих серверов неизвестны или нестатичны?
Производитель может использовать различные адреса управляющих серверов или менять их с обновлением прошивки, – процессом, на который вы повлиять не можете. В данном случае вариант с белыми и чёрными списками не сработает, поэтому мы можем использовать фильтрацию злонамеренных адресов, не давая девайсу обратиться к скомпрометированным ресурсам для скачки зловредного кода.
Здесь нам на помощь приходит репутационный фильтр, блокирующий IP-адреса и домены серверов в интернете по постоянно обновляемым базам сигнатур. Этот фильтр настраивается централизованно на шлюзе Zyxel ATP500 и применяется ко всем внутренним подсетям, в том числе к LAN, IoT и любым другим. Здесь есть белый и чёрный списки, заполняемые вручную, а также поддержка отдельных URL, но этот пункт нам не очень полезен. С завода в Zyxel ATP500 уже включена фильтрация по опасным категориям вроде эксплоитов, фишинговых сайтов и т.д., так что делать ничего не надо. Но если вам покажется этого недостаточно – можете подключить внешнюю ленту blacklist-ов.
IDP защита
Защита IDP может сыграть свою роль, когда ваша IoT сеть уже заражена зловредом и нужно минимизировать нежелательную активность, исходящую из вашей сети, чтобы потом не отвечать перед правоохранительными органами за участие во взломе чего-то там. В Zyxel ATP500 она активируется централизованно для всех интерфейсов, поэтому чтобы не нарушить работу нормальных клиентов, пользоваться ею нужно крайне осторожно.
Например, если вы хотите включить защиту от DoS-трафика из вашей сети, вам будет предложено на выбор 266 (на текущий момент) правил, которые нужно активировать вручную. По умолчанию установлено «мягкое» действие – запись в журнал, в расчёте на то, чтобы администратор сам мог отфильтровать в течение тестового срока ложные срабатывания сигнатур, и лишь потом применить правило drop или reject.
Запрет обхода блокировок через VPN
Если с завода в устройстве стоит программная закладка, позволяющая обходить блокировки через VPN на 443 или 80 порту, мы можем ограничить на шлюзе Zyxel ATP500 любую такую активность через патруль приложений. Создаём профиль VPN_block и добавляем в него все сервисы по ключевому слову VPN, либо всю категорию Tunnelling.
После этого применяем созданный профиль патруля приложений к политике IoT-to-WAN, созданной ранее.
На данном этапе мы реализовали защиты, позволяющие обезопасить вашу инфраструктуру как от недоверенных IoT устройств со слабым уровнем безопасности, так и от изначально заражённых зловредом производителем или поставщиком.
Выводы
Ни в коем случае не стоит относиться халатно к угрозе, которую несут в себе чужеродные устройства, интегрированные в вашу сеть, и уж точно не стоит отмахиваться, говоря «ну а что они нам сделают – у нас все ресурсы закрыты». Не важно, одна у вас умная розетка или тысяча датчиков движения, – вам лучше произвести все эти настройки, чтобы не допустить ситуации, когда с ваших IP-адресов осуществляется незаконная деятельность.
При использовании современного оборудования Zyxel, настройка не займёт много времени.
Михаил Дегтярёв (aka LIKE OFF)
04/12.2023