Я подумываю о запуске общедоступных веб-серверов и серверов приложений с пустыми паролями root / администратора, и мне интересно, может ли это быть плохой политикой.
Я вижу несколько преимуществ отсутствия пароля. «Без пароля» нельзя взломать, потерять, забыть или попасть в чужие руки. Администраторам необходимо будет войти в систему со своими личными учетными записями, чтобы было легче увидеть, у кого есть доступ и что делает, вместо того, чтобы отслеживать, кто знает пароль root. Если вам удастся заблокировать себя, можно легко повторно активировать любую учетную запись с физическим доступом к машине.
Я использую в основном серверы Ubuntu 14 и Windows Server 2008, оба из которых по умолчанию отказываются от удаленного входа для учетных записей без паролей. Доступ к машинам Linux осуществляется через SSH, к машинам Windows - через RDP, а также через SSH через Copssh. Сервер физически защищен достаточно для практических целей, любой, кому удастся получить доступ, в любом случае сможет нанести ущерб, независимо от паролей.
Вопрос в том, может ли это быть хорошей политикой безопасности, или есть здесь практические соображения, о которых я не подумал? В частности, существуют ли какие-либо определенные службы в Windows или Linux, которые могут разрешать удаленный доступ к машине через учетные записи с пустыми паролями?
Говоря с точки зрения Windows: пустые пароли могут быть абсолютно взломаны. Тестеры пера делай это все время. Мне кажется, что в этот момент пользователь с достаточным доступом для сопоставления диска может заменить исполняемый файл службы, а затем, например, удаленно перезапустить службу.
С точки зрения Linux, любой, кто имеет действующий логин, сможет получить root-права с помощью su.
Другими словами, нет, я бы не стал использовать это как политику безопасности.
Вы правы, что ваши администраторы должны использовать индивидуальные учетные записи пользователей. Общие учетные записи - плохая идея.
На стороне Windows идея пустого пароля кажется довольно плохой. Любой, кому удастся выполнить непривилегированный локальный код на машине, получит много На мой взгляд, более удобное время для повышения привилегий с пустым паролем администратора RID 500. Даже с настройкой политики, ограничивающей входы в консоль с пустым паролем, вы рискуете, что Microsoft упустила способ удаленного использования пустого пароля.
Никому не нужен пароль администратора Windows RID 500, поэтому нет необходимости «отслеживать» людей, которые его знают. Установите для него длинную случайную строку с высокой энтропией во время установки, физически задокументируйте ее и заблокируйте эту физическую документацию.
Уравнение риска и вознаграждения в этой стратегии пустого пароля кажется мне несбалансированным.
Даже не думайте о том, чтобы дать пользователю root пустой пароль. Если вы сделаете это, то превратить некорневой компромисс в корневой компромисс будет просто.
Рассмотрим один из множества возможных сценариев:
Злоумышленник использует незащищенную уязвимость, чтобы скомпрометировать веб-сервер или приложение, которое веб-сервер обслуживает. Он запускает оболочку как пользователь веб-сервера. С пустым паролем root ему просто нужно выполнить su
и теперь у него есть root.
Я думаю, что текущие ответы не дают полного ответа на вопрос. Исходный вопрос гласит: «Я вижу несколько преимуществ отсутствия пароля». и все же все ответы говорят о пустых паролях.
Итак, вопрос: пусто то же самое, что нет?
В настоящее время хостинг-провайдеры предлагают возможность настройки серверов с загруженными общедоступными ключами SSH. Это довольно удобно, так как при установке новых серверов остается на одну вещь меньше.
поскольку DigitalOcean было упомянуто, уместно отметить, что в этой ситуации
При использовании SSH-ключей пароль root не устанавливается.
Это, конечно, не то же самое, что сказать, что пользователь root имеет пустой пароль (я думаю, что пустой - это не то же самое, что и неопределенные вещи)
Итак, вопрос теперь в том, можно ли вообще устанавливать учетные записи root без пароля. Я полагаю, что в идеальном мире это было бы даже более безопасно, чем наличие любого вообразимого пароля, поскольку нет ни одного подходящего. Но я бы не сказал, что уверен в этом на 100%. Может кто-нибудь это подтвердить?
РЕДАКТИРОВАТЬ: Оказывается, мое предположение еще какое-то время останется в идеальном мире. Я создал заявку в службу поддержки DigitalOcean, и в ответ я получил следующее:
Это правильно, что при использовании ssh-ключей пароль root не устанавливается. После входа в систему рекомендуется использовать "passwd", чтобы установить его.
Вот так. При первоначальной настройке безопасно использовать закрытые ключи SSH, но passwd все равно необходимо выполнить.