Рейтинг:0

Как заставить пользователей Linux соблюдать максимальную скорость входа в систему

флаг mu

Как установить ограничение и/или квоту на количество входов в систему SSH для каждого пользователя в общей системе? Например: ограничьте вход по SSH до одного раза в 10 секунд.

Вещи, на которые я смотрел:

  • pam дроссель и дроссель2, но они ищут неудачные входы в систему, а затем дросселируют. Вместо этого я хочу искать успешные входы в систему, а затем регулировать.
  • fail2ban, но это блокирует IPS/диапазоны, а не пользователей, что мне здесь не поможет. (ОТРЕДАКТИРОВАНО, чтобы отметить IP против пользовательских блоков)
John Hanley avatar
флаг cn
Вход по SSH каждые две секунды не уничтожит сервер, если он уже не перегружен. Другими словами, сосредоточьтесь на проблемах, которые лучше всего решить. Убедитесь, что вы действительно приносите пользу всем, пытаясь заблокировать сценарий. Я предлагаю вам встретиться с человеком, ответственным за сценарий, чтобы выбрать более управляемое решение. Блокирование скрипта, который предоставляет ценную услугу, может быть неправильным направлением. Независимо от того, какое направление вы выберете, каждый метод будет иметь затраты ЦП (стоимость входа в систему, стоимость мониторинга трафика для блокировки входа в систему).
флаг mu
@JohnHanley спасибо за ваш комментарий. Вы правы, разговор с проблемным пользователем — это хороший первый курс действий. Тем не менее, мне было очень интересно заметить, что я не смог найти общую информацию о регулировании для SSH, за исключением ситуаций типа неудачных входов в систему/fail2ban. Мне интересно, как это делается для крупных провайдеров виртуального хостинга. Есть ли такие гайды? Я отредактировал вопрос, чтобы соответствующим образом обобщить и уменьшить внимание к моим конкретным текущим симптомам.
John Hanley avatar
флаг cn
В процессе разработки я часто делаю такие вещи, как вход по SSH, снова и снова. Я никогда не был дросселирован или ограничен по скорости для действительных подключений ни у одного поставщика. Как я уже упоминал, успешные входы в систему каждые две секунды потребляют небольшое количество общего времени процессора — около 10 мс на современных процессорах типа i7. IHMO, вас беспокоит проблема, которую, возможно, не нужно решать путем ограничения скорости. Неудачные соединения - другое дело.
Рейтинг:2
флаг jp

фейл2бан позволяет использовать настраиваемые фильтры и настраиваемые действия. Вы можете создать собственный фильтр для анализа соответствующих журналов для успешного входа в систему ssh с соответствующим действием.

Вы можете найти много примеров различных фильтров в /etc/fail2ban/filter.d/ и множество примеров различных действий в /etc/fail2ban/action.d/

Если вы не хотите использовать блокировку IP, вы можете заблокировать учетную запись пользователя с помощью пароль -l имя пользователя. Или вы можете создать сценарий /bin/sshratelimit который выводит какое-то сильно сформулированное предупреждение и устанавливает этот скрипт в качестве оболочки пользователя.

флаг mu
Спасибо за Ваш ответ! У меня сложилось впечатление, что fail2ban блокирует/контролирует брандмауэр только по IP-адресу. Не могу найти информацию о блокировке/разблокировке аккаунтов. Я что-то пропустил? Я также уточню вопрос, чтобы отметить, что блокировка IP не будет работать в моем случае.
флаг jp
@EdwardTeach Я обновил ответ.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.