Страницы

четверг, 2 ноября 2023 г.

Опознание портов устройств автоматизации Home Assistant в домашней сети

    При появлении какого-либо нового устройства в домашней сети с системой Home Assistant в качестве умного дома, возникает потребность определить открытые ip-порты на устройстве. Часто это бывает какая-либо IP-камера (IPC), устройство с wi-fi и т.п. С определением состояния открытости вполне справляется известный инструмент nmap. Однако, описания портов часто вводят в заблуждение тем, что не соответствуют в понимании домашнего администратора тому, что должно быть. "Unknown " - это не очень информативно.

    Выход есть в создании файла описания открытых портов - nmap-services. Этот файл, при указании опции --datadir подключается утилитой nmap и она берёт оттуда описание обнаруженного порта. 

     Вот к примеру то, что удалось выяснить и собрать по устройствам домашней сети. Тут сразу проявляются порты, про которые мало достоверной информации в сети. Часто грешат этим видеокамеры наблюдения, которые содержат недокументированные открытые порты. 

    Использование такого файла позволяет быстро выявлять открытые порты разнообразных служб и документировать их в этом файле. После этого, утилита nmap становиться очень информативной в домашней сети. Также можно переименовывать уже известные порты (см. например порт 22).

    Отсканировав все домашние устройства по портам, можно выявить непознанное и поступить с ним соответственно.

# Local services
# 2.11.2023
homeassistant                8123/tcp            # Home Assistant web interface
homeassistant-observer       4357/tcp            # Home Assistant observer
mqtt                         1883/tcp            # MQTT broker
mqtt-ssl                     8883/tcp            # MQTT broker ssl port
go2rtc                       1984/tcp            # Home Assistant go2rtc web interface
llmnr                        5355/tcp            # Link-local Multicast Name Resolution
go2rtc-rtsp                  8554/tcp            # Home Assistant go2rtc rtsp protocol
go2rtc-webrtc                8555/tcp            # Home Assistant go2rtc webrtc
ssdp-upnp                    1900/tcp            # Port 1900 is SSDP Discovery and uPNP
mdns                         5353/udp            # mutlicast DNS
mikrotik-winbox              8291/tcp            # Mikrotik Winbox
mikrotik-api                 8728/tcp            # Mikrotik API interface
mikrotik-api-ssl             8729/tcp            # Mikrotik API SSL interface
ws-discovery                 3702/tcp            # Web Services Dynamic Discovery
ws-discovery                 3702/udp            # Web Services Dynamic Discovery
net-ups-tool                 3493/tcp            # Network UPS tool
net-ups-tool                 3493/udp            # Network UPS tool
openssh                        22/tcp            # Secure shell

# Additonal ports from sonoff camera
sonoff1                      7101/tcp            # open  unknown
sonoff2                      7103/tcp            # open  unknown
sonoff3                      8080/tcp            # open  http-alt
sonoff4                     65530/tcp            # open  unknown

# Additional ports from icsee camera
onvif                        8899/tcp            # ONVIF port
icsee-backdoor               9530/tcp            # xmhdipc camera backdoor
icsee2                      12901/tcp            # open  unknown
icsee3                      34567/tcp            # Media port

# Additional ports from esphome firmware
esphome-ota-update           3232/tcp            # EspHome ESP32 Over-The-Air update
esphome-api                  6053/tcp            # EspHome API port
esphome-ota-update           8266/tcp            # EspHome ESP8266  Over-The-Air update
esphome-ota-update           2040/tcp            # EspHome RP2040 Over-The-Air update

# Some other ports
article1                    34599/tcp            # Mobile monitoring port


    Есть возможность сохранить настройки описания портов указанием переменной окружения NMAPDIR для всех пользователей, отредактировав файл /etc/environment и добавив строку: NMAPDIR="/home/username",  либо временно: EXPORT NMAPDIR="/home/username".

    После этого, утилита nmap подхватит файл пользовательского описания и будет сообщать об открытых портах то, что внесено в файл /home/username/nmap-services

    Информация о конкретном устройстве часто теряется и забывается, а тут она сохраняется в удобном для использования виде.

    Разумеется, при обнаружении неопознанного порта, нужно запросить поисковые системы и получить информацию о конкретном устройстве и его открытом порте.

    Перекрытие по портам разных служб (например - порт 8080) остаётся на усмотрение домашнего администратора.

    Собранная информация является удобным подспорьем для настройки межсетевого экрана (firewall).

 P.S. Слова "Unknown" - не должно быть в домашней сети, но оно есть и избавиться от него сложно.





Комментариев нет: