Прямой ответ
Предпочитайте отдельные поля имени пользователя и пароля. Если клиенту требуются учетные данные внутри RTSP URI, закодируйте зарезервированные символы в процентах в компоненте пользовательской информации и выполните тестирование с учетной записью, не являющейся администратором.
Почему это происходит
Такие символы, как @, :, #, %, ? и / имеют структурное значение в URI. Таким образом, незашифрованный пароль может изменить начало хоста или пути.
Рассматривайте URL, учетные данные, семейство адресов и транспорт RTP как отдельные переменные, которые могут привести к сбою независимо друг от друга.
Контролируемый тест
Сначала подтвердите конечную точку с помощью временной тестовой учетной записи, в которой используются незарезервированные символы, затем восстановите надежный пароль и проверьте документированное поведение клиента при кодировании.
Изменяйте одну переменную за раз. Сохраняйте модель камеры, прошивку, конечную точку и учетную запись; затем протестируйте доступность сети, реакцию протокола, транспортировку мультимедиа и декодирование как отдельные уровни.
Используйте выделенную учетную запись только для просмотра и надежный локальный инструмент диагностики. Редактируйте учетные данные, частные адреса и идентификационные данные, прежде чем делиться результатами.
Диагностическая последовательность
| Проверять | Действие | Свидетельства прогресса |
|---|---|---|
| Поля | Используйте специальные поля учетных данных, если они доступны. | URL не содержит секрета и анализируется последовательно. |
| Кодирование | Кодируйте только компонент учетных данных, а не весь URL. | Хост, порт и путь остаются читаемыми. |
| Журналы | Просмотрите снимки экрана и отладьте выходные данные на предмет раскрытых секретов. | Учетные данные редактируются перед отправкой. |
| Счет | Используйте уникальную учетную запись камеры только для просмотра. | Компромисс не дает прав администратора. |
Доказательства, которые нужно сохранить
Документируйте необработанный класс символов и закодированную форму без записи реального пароля. Синтетического примера достаточно, чтобы воспроизвести поведение синтаксического анализа.
Граница и примечание по безопасности
Никогда не вставляйте настоящие учетные данные RTSP URL в общедоступный онлайн-плеер, окно поиска, средство отслеживания проблем или инструмент аналитики.
Для удаленного просмотра используйте управляемый VPN вместо того, чтобы предоставлять RTSP или порты администрирования камеры непосредственно общедоступному Интернету.
SmartRTSP
SmartRTSP — это программа просмотра RTSP и ONVIF, ориентированная на камеру, для устройств Apple, Windows и Android. Он подходит для прямого просмотра, обнаружения и проверки с помощью нескольких камер; сохраняйте выделенный NVR или VMS, когда требуется непрерывная запись, экспорт доказательств или централизованный контроль предприятия.
Часто задаваемые вопросы
Что делать, если мой пароль содержит @?
Используйте отдельное поле пароля или закодируйте @ в компоненте учетных данных в процентах как %40.
Должен ли я закодировать весь RTSP URL?
Нет. Кодирование всего URL также может скрыть необходимые разделители; кодируйте только тот компонент, который в этом нуждается.
Помещаются ли учетные данные в сейф URL?
Это увеличивает вероятность утечек через логи, историю и снимки экрана, поэтому предпочтительнее использовать отдельное хранилище учетных данных.
Основные ссылки
- IETF RFC 3986 — общий синтаксис URI
- IETF RFC 7826 — протокол потоковой передачи в реальном времени 2.0
- Федеральная торговая комиссия США — Как обезопасить домашние камеры видеонаблюдения
Связанное руководство по SmartRTSP
Открыть соответствующее руководствоПредотвратите ошибочное прочтение зарезервированных символов пароля как разделителей RTSP URI, избегая при этом утечки учетных данных.