Пряма відповідь
Віддавайте перевагу окремим полям імені користувача та пароля. Якщо клієнту потрібні облікові дані всередині 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
- FTC США — Як захистити домашні камери безпеки
Пов’язаний посібник SmartRTSP
Відкрити відповідний посібникЗапобігайте неправильному читанню зарезервованих символів пароля як роздільників RTSP URI, уникаючи витоку облікових даних.