Установка UNMS (Ubiquiti Network Management System)

UNMS (Ubiquiti Network Management System) — система управления устройствами EdgeMAX®, EdgeSwitch®, airMAX®, UFiber, включающая обновление программного обеспечения, создание резервных копий конфигурации, графики производительности в реальном времени, уведомления, карты расположения устройств и т.д.

На примере выполню установку UNMS в Ubuntu Server 18.04 64bit.

Сначала установим необходимые компоненты:

sudo apt-get update
sudo apt-get install curl sudo bash netcat

Скачаем во временную директорию скрипт установки с официального сайта:

curl -fsSL https://unms.com/install > /tmp/unms_inst.sh

Запустим скачанный скрипт:

sudo bash /tmp/unms_inst.sh

Если необходимо во время установки изменить web порты:

sudo bash /tmp/unms_inst.sh --http-port 8080 --https-port 8443

По умолчанию UNMS использует Let’s Encrypt при создания SSL сертификатов для вашего домена и сохраняет их в /home/unms/data/cert/live.
Если вы хотите использовать свои SSL сертификаты, то при установке например укажем (UNMS должен иметь права чтения в ssl-cert-dir):

sudo bash /tmp/unms_inst.sh --http-port 8080 --https-port 8443 --ssl-cert-dir /etc/certificates --ssl-cert fullchain.pem --ssl-cert-key privkey.pem

UBNT с прошивкой 6.0 перестают работать

Когда-то лечил Ubiquiti Networks airMAX® M Series устройства с прошивками 5+ от эксплоита и обновлял прошивку на последнюю, на тот момент это была версия XM 6.0 и XW 6.0.
Смотрите мою статью — Удаление эксплоита с Ubiquiti устройств

В прошивке 6.0 была устранена уязвимость через которую эксплоит получал доступ, НО появились другие баги.

Буквально через пару недель я заметил что на некоторых мостах в режиме Access Point (AP) нет подключенных станций, со стороны станции пропадало электропитание, станция загрузилась и подключилась к AP, но в интерфейсе AP не отображалось подключенных станций и трафик не проходил, это как раз и есть баг.

Решить проблему помогала перезагрузка AP, в дальнейшем если на станции вновь пропадало электропитание или её перезагружали, то была большая вероятность повторения этой проблемы.

К счастью эту проблему позже устранили в новых прошивках, точно не смотрел в какой версии, но на устройствах с прошивкой 6.1+ её уже не наблюдалось.

Мониторинг количества клиентов секторной Ubiquiti по SSH из Zabbix

На тесте приведу пример получения количества клиентов подключенных к обычной секторной антенне Ubiquiti AirMax Rocket M5.
Получать данные будем через SSH.

Для проверки один раз подключимся к устройству (первый раз при подключении наберем yes и нажмем enter):

sudo -u zabbix ssh -p 22 admin@192.168.0.55

Теперь в Zabbix добавим элемент данных к шаблону или хосту, например с именем «Template Ubiquiti Rocket M5 Sector»:

Имя: любое
Тип: SSH агент
Ключ: ssh.run[clients,,22,utf8]
Метод аутентификации: Пароль
Имя пользователя: ИМЯ
Пароль: ПАРОЛЬ
Выполняемый скрипт: команда выполняемая на устройстве (смотрите ниже)

Пример команды отображаемой количество подключенных клиентов:

wstalist |grep "mac" |wc -l

Соответственно создадим график элементу данных, а также триггер:

Имя: На секторной антенне  {HOST.NAME} > 40 клиентов
Выражение: {Template Ubiquiti Rocket M5 Sector:ssh.run[clients,,22,utff8].last(#1)}>40

Смотрите также:
Настройка SSH проверок в Zabbix

Удаление эксплоита с Ubiquiti устройств

Заметил однажды распространение вируса/эксплоита в сети с устройствами Ubiquiti. Эксплоит используя уязвимость в старых версиях прошивок копировал себя на другие устройства и с них же атаковал следующие.

Под атаку в моем случае попались устройства airMAX M с прошивками ниже 5.6.2 XM/XW и включенным http/https смотрящим наружу.

Эксплоит сохраняется в /etc/persistant, создает поддиректорию .mf и файл mf.tar, а также использует rc.poststart
Пароль пользователя изменялся на случайно генерированный, но также можно было войти используя логин эксплоита moth3r и пароль fuck.3r либо fucker.

Посмотреть сгенерированный пароль можно командой ниже, однако позже он все равно менялся:

grep -E "users|sshd.auth.key" /tmp/system.cfg

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

rm -fr /etc/persistent/rc.* /etc/persistent/profile
cfgmtd -w; reboot -f

После этих команд, логин и пароль вернется на прежний, а также необходимо сразу обновить прошивку устройства иначе возможно повторное заражение.

Также есть официальная лечащая утилита написанная на JAVA, скачать её можно тут http://www.ubnt.com/downloads/XN-fw-internal/tools/ubnt-CureMalware.zip
Она умеет сканировать указанную подсеть, удалять эксплоит и обновлять прошивку.

Смотрите также:
Ограничение доступа к Ubiquiti по IP используя Firewall

Ограничение доступа к Ubiquiti по IP используя Firewall

Для теста возьму секторную антенну airMAX Rocket M5 в режиме бриджа и клиентскую airMAX NanoBeam M5 в режиме роутера.

Ограничим доступ сначала на клиентской.
Предположим что она подключена к секторной и имеет IP адрес 192.168.110.40 который смотрит в интернет (получила по DHCP).
IP администратора который должен иметь доступ к ней дистанционно — 10.10.10.5, остальным его необходимо заблокировать.

И так, зайдем в web интерфейс airMAX NanoBeam M5, откроем вкладку «NETWORK«, напротив «Configuration Mode:» выберем «Advanced«, после этого появится больше настроек.
Внизу где «Firewall» поставим галочку на «Enable«.

Чуть ниже добавим правило, указав:
Target: DROP
Interface: WLAN0
IP Type: TCP
Source: 10.10.10.5 (IP с какого разрешено подключаться, а также обязательно поставим галочку перед ним под знаком восклицания)
Port: оставим пустым
Destination: 192.168.110.40 (IP антенны который смотрит наружу)
Port: 22 (это порт SSH, аналогично создаются другие правила для ограничения доступа к HTTP порт — TCP 80, HTTPS — TCP 443, Telnet — TCP 23, SNMP — UDP 161, Discovery — UDP 10001)

Как видим это правило блокирует все TCP соединения к порту 22 интерфейса WLAN0 на IP 192.168.110.40, а поставленная галочка на ! перед Source: 10.10.10.5 означает что блокируется все кроме этого IP.

Жмем «Add«, потом «Change» внизу и вверху «Apply» чтобы применить изменения, после этого антенна перезапустится.

Чтобы ограничить доступ на секторной антенне которая настроена бриджом, добавим эти же правила, только где Interface: укажем ANY (ВСЕ).

Все.

После добавления правил и подключения к устройству по SSH в конфигурации можно увидеть следующее:

ebtables.status=enabled
ebtables.1.status=enabled
ebtables.1.cmd=-A FIREWALL -p 0x0800 --ip-protocol 6 --ip-src ! 10.10.10.5/32 --ip-dst 192.168.110.40/32 --ip-dport 22 -j DROP
ebtables.1.comment=
ebtables.2.status=enabled
ebtables.2.cmd=-A FIREWALL -p 0x0800 --ip-protocol 6 --ip-src ! 10.10.10.5/32 --ip-dst 192.168.110.40/32 --ip-dport 80 -j DROP
ebtables.2.comment=
ebtables.3.status=enabled
ebtables.3.cmd=-A FIREWALL -p 0x0800 --ip-protocol 6 --ip-src ! 10.10.10.5/32 --ip-dst 192.168.110.40/32 --ip-dport 443 -j DROP
ebtables.3.comment=
ebtables.4.status=enabled
ebtables.4.cmd=-A FIREWALL -p 0x0800 --ip-protocol 17 --ip-src ! 10.10.10.5/32 --ip-dst 192.168.110.40/32 --ip-dport 161 -j DROP
ebtables.4.comment=

Смотрите также:
Управление оборудованием Ubiquiti по SSH

Настройка ACL на Ubiquiti устройствах

Допустим мы хотим настроить ACL (список контроля доступа) на точке доступа Ubiquiti.

В веб-интерфейсе устройства откроем вкладку «Wireless«.

В самом низу напротив «MAC ACL:» поставим галочку на «Enable«.

И выберем «Policy:«, на «Allow» (означает что в списке будут устройства которым разрешено подключаться, всем кто не прописан — нельзя) либо «Deny» (в списке устройства которым нельзя подключаться, а всем остальным можно).

Нажав на кнопку «ACL…«, в открывшемся окне чтобы добавить устройство, в первом поле укажем его MAC, во втором любое желаемое описание и нажмем «Add«, потом «Save«.
И последний этап — в самом верху жмем кнопку «Apply«, после чего изменения сохранятся и применяться без потери связи с устройством (без перезагрузки).

Ограничение скорости на Ubiquiti устройствах

Допустим нам необходимо ограничить скорость на клиентской антенне.
Соответственно она в режиме station и подключается к точке доступа.

Для ограничения зайдем в веб-интерфейс управления антенной, откроем вкладку Network, изменим Configuration Mode: на Advanced, поле чего появится больше параметров которые можно настроить.

В самом низу нажмем на Traffic Shaping, поставим галочку на Enable и укажем для WLAN0 или LAN0 желаемый лимит скорости.
Например нужно ограничить скорость на прием до 5Мб/с и отправку до 512Кб/с, для надежности укажем лимит для обеих сетевых интерфейсов, где Ingress укажем для WLAN0 5120, а для LAN0 512, соответственно для Egress наоборот, WLAN0 — 512, а LAN0 — 5120, Burst оставим везде без изменений, то есть 0.

Чтобы применить изменения жмем внизу Change и потом вверху Apply, после чего конфигурация антенны перезагрузится.

На точке доступа увы нельзя ограничивать скорость для каждого клиента, если проделать указанные выше настройки (в обратном порядке), то ограничится общая скорость для всех клиентов. В этом случае можно резать скорость например биллингом, включив во вкладке Advanced функцию Client Isolation чтобы клиенты не видели друг друга по сети и не обменивались трафиком.

Все.

Как изменить MAC-адрес на Ubiquiti (UBNT) устройстве

На тесте изменю MAC-адрес на Ubiquiti Rocket M5.

Для этого нужно отредактировать файл конфигурации.
Можно скачать файл конфигурации через веб-интерфейс, отредактировать и потом закачать обратно, а можно редактировать его онлайн подключившись к устройству по SSH или telnet.
Как редактировать по SSH я писал в этой статье — Управление оборудованием Ubiquiti по SSH
Сделаем резервную копию конфигурации на всякий случай через веб-интерфейс или как я описывал в этой статье — Резервное копирование конфигурации Ubiquiti (UBNT) устройств.

По сути нужно найти стройки:

netconf.1.devname=eth0
netconf.1.hwaddr.mac=
netconf.1.hwaddr.status=disabled
и
netconf.2.devname=ath0
netconf.2.hwaddr.mac=
netconf.2.hwaddr.status=disabled

eth0 — это LAN, ath0 — WLAN.
При редактировании в редакторе vi, клавишей x удалим слово disable, а потом нажав клавишу a пропишем вместо него enable. после mac= укажем нужный mac-адрес. Необходиом чтобы mac LAN отличался от mac WLAN. После редактирования нажмем Esc для возврата в командный режим, наберем :x и нажмем Enter для сохранения изменений в файле и выхода из редактора.

Должно быть прописано что-то вроде этого:

netconf.1.devname=eth0
netconf.1.hwaddr.mac=00:11:11:22:22:33
netconf.1.hwaddr.status=enable
и
netconf.2.devname=ath0
netconf.2.hwaddr.mac=00:11:11:22:22:34
netconf.2.hwaddr.status=enable

После изменения применим изменения командами:

cfgmtd -f /tmp/system.cfg -w
/usr/etc/rc.d/rc.softrestart save

Все.

Можно изменить MAC до перезагрузки устройства, для этого посмотрим имена сетевых интерфейсов:

ifconfig

И изменим, например для wifi0:

ifconfig wifi0 down
ifconfig wifi0 hw ether 11:22:33:44:55:66
ifconfig wifi0 up

Можно попробовать добавить команды выше в скрипт чтобы они выполнились при включении устройства:

vi /etc/persistent/rc.poststart
нажать клавишу i
ifconfig wifi0 down
ifconfig wifi0 hw ether 11:22:33:44:55:66
ifconfig wifi0 up
нажать клавишу ESC
набрать :wq и нажать Enter

Сохраним и перезагрузим устройство:

cfgmtd -w -p /etc/
reboot

Проброс портов на Ubiquiti (UBNT) устройствах

Так как настройки почти одинаковы на airMAX® M Series Ubiquiti устройствах, то эта инструкция подойдет к Rocket, NanoBridge, LiteBeam, NanoBeam, airGrid и т.д.

Желательно обновить прошивку на новую, так как на старых некоторых функций может не быть.

Допустим что мы настроили устройство как router или SOHO Router.

Зайдем в его web-интерфейс, откроем вкладку «Network«, где «Configuration Mode:» выберем «Advanced«, отобразится больше настроек.

Допустим также что мы подключили IP камеру и она получает IP адрес по DHCP или прописали ей например вручную адрес 192.168.250.30

Теперь в пункте «DHCP Address Reservation» зарезервируем 192.168.250.30 чтобы Ubiquiti устройство не выдало кому-то его еще и не получился конфликт IP. Для этого в «Interface» выберем «LAN0», в «MAC Address» — MAC камеры (если она получает IP-адрес по DHCP, если вручную прописан, то тут можно написать наугад если не знаете его), в «IP Address» — собственно сам 192.168.250.30.

Приступим к пробросу портов. В пункте «Port Forward» укажем «Interface» — WLAN0, «Private IP» — адрес камеры 192.168.250.30, «Port» — 80 (для доступа к web-интерфейсу камеры), «Type» — TCP (80 порт использует TCP), «Source IP/Mask» — оставим 0.0.0.0/0, «Public IP/Mask» — тоже оставим 0.0.0.0/0, «Port» — укажем порт который будет виден из вне (на который будет идти проброс), например 8080 или 81 и т.д.
Жмем «Add«, потом внизу «Change» и в самом верху «Apply» чтобы применить настройки.

Все, теперь набрав из вне IP адрес антенны и через двоеточие порт 8080 (например 192.168.10.210:8080) откроется web-интерфейс камеры.

Обновление прошивки NanoStation M2

Сегодня обновлял Nano Station M2 с прошивкой 5.5.6 на 5.6.5.
Версия 5.6.5 сразу не стала, так как не хватало памяти в устройстве для её закачки, по этому сначала пришлось обновить на 5.6.2, а потом уже 5.6.5.

Опишу по пунктам процедуру обновления:

1) Скачаем новую прошивку с официального сайта https://www.ubnt.com/download/airmax-m/nanostationm/nsm2 или для NanoStation Loco M2 тут https://www.ubnt.com/download/airmax-m/nanostationm/locom2

2) Откроем web-интерфейс устройства набрав в браузере его IP-адрес (стандартный 192.168.1.20, стандартный логин ubnt, пароль тоже ubnt).

3) В web-интерфейсе слева нажмем «System«, напротив «Upload Firmware:» нажмем «BROWSE» и выберем ранее скачанную прошивку, появится окно в котором нажмем «Upload«, в следующем сообщении нажмем «Upgrade» и подождем завершения обновления. Питание в момент обновления отключать нельзя, иначе может повредится прошивка и её придется восстанавливать.
Как восстанавливать я писал в этой статье — Восстановление Ubiquiti (UBNT) устройств
Смотрите также — Как включить Compliance Test на новых прошивках UBNT устройств

На этом процедура обновления завершена.
После прошивки настройки не сбросились.