👥 Как ограничить количество входов по SSH по пользователю / группе / на систему — Information Security Squad
👥 Как ограничить количество входов по SSH по пользователю / группе / на систему

Как вы, наверное, знаете, мы можем использовать SSH в удаленной системе Linux с одним и тем же пользователем несколько раз.

Там же нет предела!

Вы можете просто открыть несколько окон Терминала (или несколько вкладок в Терминале) и инициировать несколько сеансов SSH из каждой вкладки под одной и той же учетной записью пользователя.

Что если вы хотите изменить или упорядочить это поведение пользователй?

Например, вы можете захотеть разрешить только один активный сеанс SSH для пользователя.

В этом кратком руководстве объясняется, как ограничить количество входов SSH на пользователя, группу или систему в Linux.

В большинстве дистрибутивов Linux существует файл под названием limit.conf, в котором вы можете определить максимальное количество одновременных сеансов SSH для пользователя или группы пользователей.

Если конкретный пользователь пытается использовать сессий SSH в системе больше, чем разрешено для входа по SSH, ему будет отказано в доступе.

Ограничение количества SSH сессий пользователя или группы на Linux

Файл limit.conf обычно находится в каталоге /etc/security/ в системах на основе RPM и DEB.

Перейдите в удаленную систему и отредактируйте файл /etc/security/limits.conf с помощью sudo или root-пользователя:

$ sudo nano /etc/security/limits.conf

Чтобы ограничить количество одновременных сеансов SSH для конкретного пользователя, например, itsecforu, добавьте в конце следующую строку:

itsecforu 	hard	maxlogins	1

Где:

  • itsecforu — Имя пользователя на моем сервере CentOS 8.
  • maxlogins 1 — Максимальное количество сессий для этого пользователя. В моем случае это 1. Вы можете увеличить это значение, чтобы разрешить больше.
  • hard — соблюдение жестких ограничений.
Если вы хотите ограничить количество SSH-соединений для группы пользователей, добавьте это:
@mygroup	hard    maxlogins	1

Замените @mygroup на имя вашей группы.

В этом случае все пользователи mygroup не cмогут войти в систему через SSH более одного раза.

Если вы хотите ограничить сеансы SSH для всех пользователей (глобальных) в системе, добавьте следующую строку:

*	hard    maxlogins	1

Здесь звездочка означает глобальный параметр (то есть всех пользователей в системе).

После того, как вы определили максимальное количество сеансов SSH для пользователя / группы или всей системы, сохраните и закройте файл.

Теперь попробуйте подключить по SSH к системе  одним и тем же пользователем более одного раза.

Вы увидите сообщение об ошибке, как показано ниже.

Too many logins for 'itsecforu'.
Last login: Tue Feb 18 17:12:09 2020 from 192.168.225.37
Connection to 192.168.225.52 closed.

Как вы видите в приведенном выше выводе;

  • Сначала я по SSH подключился к удаленному серверу CentOS 8 как пользователь root через SSH, и соединение было успешно установлено.
  • Затем я открыл новую вкладку и SSH на том же сервере, что и обычный пользователь «itsecforu», и соединение прошло успешно.
  • Наконец, я попытался подключиться по SSH к тому же серверу под тем же пользователем (т.е. itsecforu), и на этот раз соединение было отклонено. Пользователь «itsecforu» не может войти в систему SSH более одного раза. Поскольку его максимальное количество разрешенных сеансов SSH для этого пользователя составляет только один раз. Следовательно, SSH-соединение запрещено для этого пользователя.
В этом примере мы ограничили общее количество активных сессий SSH для пользователя или группы или всех пользователей в системе.
Также возможно ограничить количество сеансов SSH для каждой системы.
Например — мы можем разрешить только один вход по SSH из системы, но не для пользователя или группы.

Как ограничить общее количество сеансов SSH на систему

Чтобы ограничить общее количество активных соединений SSH на систему, добавьте следующую строку в файл /etc/security/limits.conf:

*       hard    maxsyslogins    1

Здесь maxsyslogins относится к максимальному количеству входов в систему, а не для пользователя или группы.

Попробуйте войти в систему через SSH, и вы не сможете получить доступ к системе больше, чем максимально допустимое число входов.

Обратите внимание, что это ограничение распространяется только на обычных пользователей.

Пользователь root может войти в систему через SSH любое количество раз.

Посмотрите также наши свежие статьи про ssh:

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40