LINUX.ORG.RU

Безопасность при использовании ssh

 , ,


0

1

Безопасно ли использовать ssh на сервере, на котором рут права имеет каждый проходящий мимо? Интересует выгрузка файлов с сервера через scp и проброс портов на свою машину. Возможно ли извлечь пароль из памяти / другого места, где он хранится при наличии рутовых прав?


Безопасно ли для чего конкретно?
«Каждый проходящий мимо», например, может подсунуть тебе вместо ожидаемого файла что-то другое и даже убедить тебя, будто ты сам сделал какие-нибудь изменения. И это может быть, а может и не быть связано с SSH и его конфигурацией и методами шифрования на данном сервере.

blexey ★★★★★
()

Безопасно ли использовать ssh на сервере, на котором рут права имеет каждый проходящий мимо?

Будет безопасно, если:

  1. Переписать ssh на Rust’е

Разорванный Флакон

anonymous
()
Ответ на: комментарий от blexey

Занимаюсь в лаборатории с тачками ctf, помимо меня их ломает куча других людей. Все они имеют такой же доступ от имени сервисной учетной записи / обычной учетной записи / рута. Иногда возникает потребность выгрузить файл на свою машину, не на всех тачках лаборатории есть nc / ncat / socat. Возможно ли перехваить ввод клавиш с pts или извлечь пароли ssh из памяти? Не хотелось чтобы кто-то ко мне подключился и начал творить на машине что хочет, хоть это и виртуалка всего лишь.

P.S. Пока писал сообщение подумал о комбинации base64 и clipcopy / clippaste для выгрузки файлов, но все же вопрос актуальный.

NordeN
() автор топика
Последнее исправление: NordeN (всего исправлений: 2)

Грамотный проброс портов на свою машину(читай только определённых и только на приём потока) безопасен почти абсолютно. Можно разрешить слушать какой-то порт только ncat\ssh, а его прикрыть с помощью mac(selinux\apparmor), hidepid, noexec и т.д., если совсем параноить. Но на машине, в которой рутом рулит кто угодно, секретность нулевая по определению. Безопасность уже под вопросом - шифрованные файлы подменить весьма сложно, особенно при наличии контрольных сумм.

Если есть gpg и tar(должны быть вообще-то) - задача упрощается. Нужные файлы в архив и зашифровать, снять КС и потом можно скачивать без опасений. Ключ шифрования архива не хранится в памяти, если не используется.

Что касается непосредственно пароля ssh - можно взять рута самому да добавить свой одноразовый ключ в список доверенных. Тогда утечка такого ключа ни на что не повлияет(уничтожаем вручную после окончания сеанса).

Ну и чисто технический ответ: при наличии включенного lockdown в ядре linux(в режиме confidentiality) root вообще не имеет прямого доступа к /dev/mem.

А использовать свои персональные пароли за пределами собственной машины - дурость по определению. Не надо так делать.

SM5T001
()
Ответ на: комментарий от NordeN

P.S. Пока писал сообщение подумал о комбинации base64 и clipcopy / clippaste для выгрузки файлов, но все же вопрос актуальный.

Лучше загрузить на сервер ключ файлом, скормить его gpg+tar(и\или ssh) и затем сразу же уничтожить с помощью shred. Ввод в pts перехватывается совсем элементарно, даже совершенно незаметно для пользователя.

SM5T001
()

Если на сервере рута имеет каждый мимокрокодил, то ssh будет твоей наименьше проблемой.

CaveRat ★★
()
Ответ на: комментарий от NordeN

ЯННП, ты хочешь сделать так, что бы рут на удаленном сервере не мог поиметь твою учетку на данном сервере?

CaveRat ★★
()
Ответ на: комментарий от NordeN

Мою учетку на моей тачке, пароль то при пробросе портов и scp я свой ввожу

Твою учетку на твоей удаленной тачке, к которой ты подключаешься через этот несчастный сервак, где рут у каждого первого?

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

@SM5T001 тебе уже рассказал выше, что и как можно сделать.

CaveRat ★★
()

Пролезть к тебе через установленное ssh соединение с удаленной машины на твою, с которой у тебя установлено это соединение-вполне возможно.Причем если пролезут-всякие там изменения паролей/ключей/адресов вам уже врядли поможет. Только полный снос машины и залив системы с «нуля».

Проброс портов-аналогично и тем более.

Используйте как минимум рамотно настроенные selinux и iptables в linux. Не поленитесь их хорошенько освоить. Также используйте разделы с luks и pgp/gpg для шифрования данных на носителях. Используйте одноразовые ключи шифрования. Снимайте контрольные суммы с ФС. Это программа «минимум».

ChAnton ★★
()
Последнее исправление: ChAnton (всего исправлений: 3)
24 июня 2021 г.
Ответ на: комментарий от ChAnton

Пролезть к тебе через установленное ssh соединение с удаленной машины на твою, с которой у тебя установлено это соединение-вполне возможно.Причем если пролезут-всякие там изменения паролей/ключей/адресов вам уже врядли поможет. Только полный снос машины и залив системы с «нуля».

Это как?

Даже без -R x:y:z ?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.