По большей части мало что дает, фактически отключая удаленные учетные записи root. Это незначительно помогает реализовать политику, при которой администраторы входят через свои собственные учетные записи и, su
при необходимости, получают root- права (или, sudo
возможно, используют sudosh
... в зависимости от вашей политики).
Создание чрезвычайно длинных и громоздких корневых паролей (эффективно, если вы до сих пор не используете древний DES + 12-битный хеш-код для ваших паролей) примерно так же эффективно при применении такой политики.
На одном сайте, с которым я знаком, была система, в которой уникальные пароли случайным образом генерировались для каждого хоста, сохранялись в базе данных и передавались в системы. Администраторы должны были использовать ssh
свои обычные учетные записи и sudo
для большинства операций. Однако пароль root был доступен для них через внутреннюю веб-службу на основе SSL (что дополнительно требовало их токен RSA SecurID и PIN-код). Извлечение пароля root привело к вводу обоснования (обычно это ссылка на номер билета Remedy (TM)) и доступу при периодическом аудите. Одна из немногих приемлемых причин для непосредственного использования пароля root была в тех случаях, когда система была остановлена fsck
во время процесса загрузки ... иsulogin
требовал настоящий пароль root для запуска процессов проверки и восстановления файловой системы. (Было несколько обсуждений альтернативных методов для этого - которые относительно просты для Linux, но становятся намного сложнее, когда вы пытаетесь расширить свои процедуры для учета многих устаревших систем HP-UX, AIX и более старых SunOS и Solaris, которые были еще в производстве в этой среде).
В некоторых случаях требуется пароль root - или, по крайней мере, это лучшая из доступных альтернатив. Как правило, наилучшей стратегией для вас является его доступность и достаточная устойчивость к угрозам, которые вы можете предвидеть.
Другой известный мне сайт имеет довольно элегантный подход к децентрализованному управлению учетными записями. У них есть пакеты user- * и sudo- * (например RPM), которые устанавливаются в системы с использованием обычных процедур управления пакетами и инфраструктуры автоматизации. В их случае пакет sudo- * зависит от соответствующего пакета user- *. Это хорошо, потому что позволяет вам иметь кластеры машин с локализованными учетными записями (все учетные записи являются администраторами, разработчиками, службой поддержки или «безголовыми» учетными записями) и устраняет зависимость от LDAP / NIS или других сетевых служб идентификации и аутентификации. (Это уменьшает связь между системами, делает их значительно более устойчивыми).
Мне кажется, что мне нравится такой подход, он дает гибкость. Любой, у кого есть sudo
доступ, может выполнить команду, чтобы добавить обычного пользователя или другую sudo
учетную запись пользователя. Так что, если я работаю над заявкой, любой из людей, которые уже имеют доступ к системе, может легко дать мне доступ. Там нет никаких задержек, пока заявка на добавление меня в некоторый список контроля доступа в некоторой центральной базе данных проходит через некоторый централизованный процесс утверждения и, наконец, распространяет изменения обратно в рассматриваемой системе. Любой из авторизованных sudo
пользователей системы может предоставить мне доступ, а затем удалить меня. (Да, если бы я был злым, и они играли меняsudo
Я мог бы злонамеренно изменить вещи, чтобы сохранить доступ ... на самом деле есть некоторые вещи, которые я мог бы сделать, как обычный пользователь, чтобы сохранить доступ после такого удаления. Однако это не та угроза, о которой они беспокоятся. Мой доступ все еще ограничен относительно меньшим количеством систем в целом; таким образом, влияние взломанного аккаунта все еще более ограничено, чем большинство подобных схем, которые я видел.