Я знаю, что разрешать root-доступ к серверу через SSH - плохая идея (т.е. разрешать вход как root через SSH). Но как насчет другой стороны уравнения? Есть ли какие-либо недостатки инициации SSH-соединения с клиентского компьютера, на котором я вошел в систему как root? Итак, что-то вроде:
root@localhost$ ssh unprivileged-user@remoteserver.tld
Будет ли это иметь какие-либо последствия для безопасности клиентской машины (в данном примере - localhost)?
Дополнительная информация: на локальной машине в моей домашней сети (недоступной через Интернет) у меня есть небольшая служба, которая собирает информацию с самой машины, а также некоторую ограниченную информацию с удаленных серверов по SSH. Сама служба запускается от имени пользователя root из-за информации, которую она собирает на локальном компьютере. На удаленных серверах он использует логины без полномочий root с доступом только к той информации, которую он настроил для сбора. Теперь мне интересно, есть ли какая-то выгода, если служба сбрасывает привилегии root при установке SSH-соединений с удаленными серверами (например, через runuser) или если это вообще не имеет значения, и локальный сервер может также инициировать соединения SSH с правами root на локальном компьютере.
Спасибо!
В root
Процесс (ы) сбора информации может записывать файлы в какой-либо каталог, который неroot
сервисный аккаунт можно затем скопировать в другое место. Это может потребовать rename(2)
или эквивалент, чтобы учетная запись службы не копировала наполовину записанный файл (или, может быть, желательно передать частично собранные данные?). Преимущества:
root
./etc/passwd
или все /var
или что-то еще, если в коде, связанном с передачей файлов учетной записи службы, есть крик. Конечно, это может убить его собственный домашний каталог, но это гораздо меньшая проблема, чем то, что root
имеет доступ к. (Или то, что неуклюжий администратор делает в качестве учетной записи службы по сравнению с полным корневым доступом ... это была производственная база данных, которую я просто ...)