Является ли вход в систему как общий пользователь плохой привычкой?

Я работал в организациях, где вместо создания нового пользователя Ubuntu для каждого человека, который хочет войти в систему На машине системные администраторы просто добавляют ssh-ключ каждого пользователя в .ssh / authorized_keys , а все ssh s на машину как ( например ) ubuntu @ host или ec2-user @ host. (Между прочим, я также видел, как это применялось на общих Mac mini в лабораторных условиях.) Это общепринятая практика или анти-шаблон?

Рассматриваемые хосты в основном используются для тестирования, но также предпринимаются действия которые обычно требуют индивидуальной настройки и отслеживаются как выполняемые конкретным пользователем, например создание и отправка коммитов git, которые в настоящее время выполняются с использованием общего пользователя git.

35
задан 12 February 2016 в 19:40
5 ответов

Да, это плохая привычка. Он основан на основном предположении, что никого злонамеренного нет (или не будет) и что никто не совершает ошибок. Наличие общей учетной записи делает тривиальным то, что происходит без подотчетности и без каких-либо ограничений - пользователь, нарушающий что-то, ломает это для всех.

Если причина такой схемы совместного использования uid просто в сокращении административных затрат на создание новых учетных записей и совместное использование конфигурации, тогда, возможно, администраторам следует потратить некоторое время на систему автоматизации, такую ​​как Ansible , Chef , Puppet или Salt , которая делает такие вещи, как создание учетных записей пользователей на нескольких машинах, чрезвычайно просты.

42
ответ дан 28 November 2019 в 19:52

Для начала это меня не шокирует, и я работаю в чрезвычайно защищенной среде. У каждого есть свой пользователь, машина и ssh-ключ, и для работы на сервере мы используем ssh, как root или как другой пользователь, через реле регистрации, если это необходимо. Все, что мы делаем, регистрируется как сделанное владельцем ssh-ключа, поэтому подотчетность в порядке.

Какой была бы альтернатива? Многие вещи нужно делать от имени определенного пользователя, не говоря уже о root. Судо? Это нормально для некоторых очень ограниченных задач, но не для системного администрирования машины.

Однако я не уверен насчет вашего последнего абзаца, вы имеете в виду, что кто-то может подтолкнуть git commit к обычному пользователю? Это нарушит подотчетность, а нарушение подотчетности - плохо. Мы выполняем git с машины, на которой мы вошли в систему, и аутентифицируемся в git с помощью нашего ключа ssh ...

Аутентификация, авторизация и учет (AAA) - это классическое выражение: вы аутентифицированы с помощью вашего ключа ssh, вы уполномочен делать все, что может делать обычный пользователь, потому что ваш ключ находится в authorized_keys, и вам нужен учет, чтобы то, что вы делаете, можно было проверить постфактум.

7
ответ дан 28 November 2019 в 19:52

Это явно зависит от варианта использования системы. Если это система для тестирования время от времени, это меня устраивает. У нас тоже есть такие системы. Если в компании нет какого-либо управления идентификацией (LDAP, IPA), то создание нового пользователя без какого-либо удаленного управления в произвольной системе будет довольно обременительным.

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

3
ответ дан 28 November 2019 в 19:52

Все эти ответы касаются проблемы подотчетности, которая сама по себе является важной и реальной проблемой, но использование общей учетной записи также допускает не очень тонкие атаки на других пользователей:

Рассмотрите злоумышленник создает вредоносный сценарий ssh , который регистрирует введенный пароль и помещает его в ПУТЬ для этого общего пользователя (что легко делается). Теперь следующий человек, который войдет на эту машину с общим пользователем и решит использовать ssh в другом месте (на этот раз со своей личной, закрытой учетной записью), может быть неприятно удивлен.

В основном, использование общая учетная запись на компьютере - все равно что пить воду из ванны для ног в общественном бассейне.

3
ответ дан 28 November 2019 в 19:52

В общем, совместное использование одной учетной записи - плохая идея по следующим причинам:

  1. Каждая настройка, сделанная для этого пользователя, влияет на всех, входящих в систему. (Promt, псевдонимы, ...)
    1. Вы теряете возможность узнать, кто что сделал (подотчетность).
    2. Одна ошибка в конфигурации учетной записи (например, случайное удаление ssh kay) затрагивает всех, кто использует эту учетную запись (в этом примере блокировка).

И, конечно, есть еще больше минусов ... Но я не хочу вдаваться в подробности.

Дело в том, что, возможно, вы столкнулись с необходимостью предоставить общий доступ к учетной записи для управления службой, которая выполняется под определенной учетной записью пользователя, к которой должны иметь доступ все администраторы.

При такой настройке у вас есть возможность совместно использовать эту учетную запись для входа в систему (по указанным выше причинам я бы не стал этого делать) или вы входите индивидуально и затем переключаете пользователя на общую учетную запись (я бы предложил это).

Инструменты аудита по-прежнему позволяют отслеживать, кто что выполнил, но по-прежнему использует одну и ту же учетную запись.

1
ответ дан 28 November 2019 в 19:52

Теги

Похожие вопросы