
В SLES 11 SP 2 я обнаружил с помощью Webmin, что у многих пользователей по умолчанию есть настройка, /bin/bash
которая в принципе позволяет им работать в оболочке SSH.
Я считаю это возможной угрозой безопасности.
Мой вопрос:
Могу ли я безопасно изменить для всех пользователей в списке ниже настройку Shell, чтобы bin/false
отключить все SSH-подключения?
решение1
Помните, что установка оболочки входа пользователя на /bin/false
(или /bin/true
или/sbin/nologin
что имеет очень незначительное преимущество в виде отображения пользовательского сообщения) прерывается su
для этого пользователя. Некоторые системные скрипты могут использовать su
.
Установка оболочки пользователя для программы, которая ничего не делает, является преимуществом безопасности, но только если пользователь в противном случае не смог бы войти в систему из-за неправильной конфигурации. Пользователь системыдолженнет способа аутентификации, в этом случае настройка оболочки не имеет значения. Так что это хорошая идея, но только если это ничего не сломает.
Вы можете отключить доступ SSH для некоторых пользователей другим способом: добавив директиву DenyUsers
в /etc/sshd_config
. Это не позволит этим пользователям входить в систему через SSH, но не помешает им входить в систему через другую службу, есличтослужба неправильно настроена.
Другой способ заблокировать вход в учетную запись — черезПАМ. Преимущество этого метода в том, что вы можете иметь разные настройки для каждой службы, например разрешить su
(что будет работать только для root, если у учетной записи нет пароля) и отключить все остальное. Вы можете использоватьpam_access
модульдля запрета определенным пользователям.
решение2
Вместо того, чтобы менять эти оболочки учетных записей на /bin/false
, я бы рекомендовал вам изменить их на /sbin/nologin
или любой другой путь nologin
в SLES 11.