В Fedora предложили перевести протокол SCP в разряд устаревших
6 ноября 2020 года
Якуб Елень (Jakub Jelen), инженер по обеспечению безопасности из компании Red Hat, предложил перевести протокол SCP в разряд устаревших. SCP концептуально близок к протоколу RCP и наследует фундаментальные архитектурные проблемы, которые являются источником потенциальных уязвимостей.
В частности, в SCP и RCP решение о том, какие файлы и каталоги отправить клиенту принимает сервер, а клиент следует предписанию сервера и лишь проверяет корректность возвращённых имён объектов. При подключении к серверу, подконтрольному злоумышленнику, сервер может выдать другие файлы, что уже ни раз приводило к выявлению уязвимостей. Например, до недавних пор клиент лишь проверял соблюдение текущего каталога, не не учитывал, что сервер мог выдать файл с другим именем и перезаписать файлы, которые не были запрошены (например, вместо запрошенного "test.txt" сервер может передать файл с именем ".bashrc" и он будет записан клиентом).
Другой проблемой протокола SCP является особенность обработки аргументов. При копировании файлов на внешний сервер путь к файлу добавляется в конец локальной команды scp, например при выполнении команды "scp /sourcefile remoteserver:'`touch /tmp/exploit.sh`/targetfile'" на сервере будет создан файл /tmp/exploit.sh, поэтому важно использовать корректное экранирование символов в scp. При рекурсивной передаче содержимого каталогов (опция "-r") в файловых системах, допускающих использование символа '`' в именах файлов, атакующий может создать создать файл с апострофами и организовать выполнение своего кода. В OpenSSH указанная проблема остаётся неисправленной, так как её проблематично устранить без нарушения обратной совместимости и некоторые пользователи используют запуск команд для проверки наличия каталога перед копированием.
Прошлые обсуждения показали, что scp в большинстве случаев применяется для копирования файлов с одной системы на другую. При этом многие используют scp вместо sftp из-за более простого и очевидного интерфейса для копирования файлов или просто в силу привычки. Якуб предлагает задействовать по умолчанию переделанную реализацию утилиты scp, переведённую на использование протокола SFTP (для каких-то особых случаев в утилите предусмотрена опция "-M scp" для отката на протокол SCP), или добавить в утилиту sftp режим совместимости, позволяющий использовать sftp в качестве прозрачной замены scp.
Из ограничений предложенного подхода упоминается невозможность обмена данными с серверами, не запускающими подсистему sftp, и отсутствие режима передачи между двумя внешними хостами с транзитом через локальный хост (режим "-3"). Некоторые пользователи также отмечают небольшое отставание SFTP от SCP по пропускной способности, которое становится более заметным на плохих соединениях с большими задержками.
Для тестирования в репозиторий copr уже помещён альтернативный пакет c openssh, в котором применён патч с реализацией утилиты scp поверх протокола SFTP.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.