5

У меня есть серверная среда, для которой единственным способом входа в систему будет SSH или локальный терминал в центре обработки данных. Я настроил это, чтобы позволить конкретному пользователю войти в систему только с ключом, а не паролем (явно отключен). Этот пользователь также не имеет установленного пароля.

Из-за того, что этот пользователь должен делать на сервере, я предоставил доступ к sudo без пароля, используя (в файле sudoers):

username ALL=(ALL) NOPASSWD: ALL

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

Как предотвратить эти попытки несанкционированного доступа?

2 ответа2

2

Я всегда находил лучшее решение - установить хэш пароля (в /etc /shadow) на недопустимое значение. Я обычно использую строку %% NP %%. Это эффективно отключает аутентификацию по паролю для этого пользователя и запрещает взлом пароля любым способом. Учитывая, что никакие входные данные в алгоритм хеширования паролей никогда не будут совпадать с хешем в теневом файле, это чрезвычайно безопасно.

Для Linux вы можете вместо (или в дополнение к вышеупомянутому) установить параметры контроля доступа в /etc/security/access.conf. В этом файле есть несколько примеров, которые должны дать вам то, что вам нужно. Одним из предостережений при таком подходе является то, что вы можете очень легко заблокировать root от возможности входа в систему с консоли, что является очень плохой идеей в чрезвычайной ситуации.

1

Вы можете установить пароль для пользователя, который состоит из 30+ случайных символов (некоторые из них почти невозможно ввести), чтобы предотвратить вход без SSH.

Однако это не помешает пользователю изменить пароль через SSH, а затем использовать терминал центра обработки данных для прямого доступа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .