почему для ssh должен быть отключен root-доступ? Я всегда слышу, что это из соображений безопасности. Но я этого не понимаю. Чем отличается вход в систему как не-root, а затем sudo su -
? Каков предпочтительный способ обработки задач, требующих привилегированных разрешений?
Спасибо
Томас
Sudo - это предпочтительный способ, когда вам нужно делегировать административные задачи из-за его возможности аудита и высокой степени детализации. Sudo позволяет регистрировать все команды и позволяет администратору настраивать различные профили sudo для отдельных лиц или групп.
su или root-доступ - это все или ничего
Root - это единственная учетная запись, которая гарантированно будет включена и включена на каждой машине unix, поэтому нетрудно выбрать ее, чтобы попытаться подобрать пароль. Без внешних инструментов (обертки, убивающие очевидные сканеры, устройства предотвращения вторжений и тому подобное) выяснение пароля - лишь вопрос времени. Даже с внешними инструментами, предотвращающими такое поведение, по-прежнему рекомендуется заставлять входящих пользователей входить в систему как обычный пользователь, а затем su / sudo / pfexec до расширенных привилегий. Да, это дополнительный шаг, и это означает, что вам придется создавать учетные записи пользователей на машинах, которые используются совместно пользователями root, но это еще один барьер между злоумышленником и неограниченным контролем над устройством.
Основное отличие состоит в том, что злоумышленник также должен угадать имя пользователя. Если вы позволите root войти в систему, то ему останется только угадать пароль.
Также он может подделать логин пользователя, получающего ключ ssh или повторно отправить данные, используя подход «человек посередине», и он может войти в систему без необходимости вводить пароль. Но если он входит в систему как пользователь, ему приходится выполнять команды sudo-ize, и поэтому он вынужден вводить пароль вручную. Если он был зарегистрирован как root, ему не нужно выполнять sudo-ize, поэтому на один шаг безопасности меньше.
Сотни тысяч машин сканирование sshd и грубое принуждение их. "root" - это хорошая учетная запись, которую стоит попробовать в первую очередь, потому что, если она сломается, вы полностью станете владельцем машины. Это также общая учетная запись для всех систем * nix, если вы не отключить root-логины. Это очень хорошая практика безопасности.
Основным преимуществом этого является то, что он обеспечивает более гибкий контроль доступа: если у пользователя есть права root через sudo, легко предоставить права root или забрать их по мере необходимости. И наоборот, если вы действительно передадите людям корневой pw, вы не сможете его забрать (если только вы не Люди в черном ;-)), вы можете изменить только корневой pw, что повлияет на всех.
В этом контексте прямые входы в систему с правами root не нужны, т.к. ни у кого нет root pw.
(Вам по-прежнему понадобится root pw для экстренного доступа к консоли в однопользовательском режиме, но для этого должны быть специальные условия).
Но HP-UX никогда не форсирует недоступность root через ssh, почему?