Ошеломление задержки аутентификации при неудачных `su` или` sudo`

Я собираюсь начать новую работу в качестве системного администратора, и я думал о реализации функции восстановления для su или sudo . Кулдаун не позволяет пользователю использовать эти команды в течение нескольких секунд после первой неудачной попытки, а время ожидания увеличивается с каждой неудачной попыткой с некоторым коэффициентом.

Идея концепции заключается в том, что авторизованный пользователь может ошибаться в первый раз, но все будет правильно на втором. Кулдаун будет там, чтобы препятствовать и задерживать противника от использования грубой силы.

Есть ли недостаток в моем подходе? Будет ли замена команды sudo модифицированным скриптом мудрой? Или я должен исправить сам исполняемый файл?


Изменить: я уже искал это в Google, ничего не найдено. То же самое касается SO, SuperUser.SE и Security.SE. Если вы считаете, что этот вопрос не подходит для ServerFault, отметьте это так.

2 Solutions collect form web for “Ошеломление задержки аутентификации при неудачных `su` или` sudo`”

Есть ли недостаток в моем подходе? Будет ли замена команды sudo модифицированным скриптом мудрой? Или я должен исправить сам исполняемый файл?

Да, есть недостаток в вашем подходе: как было указано в комментариях, первое правило безопасности – это не создание собственного . У вас нет шансов проверить свой собственный код так же тщательно, как был проверен su или sudo код, и даже если вам удастся получить его в основном вправо, вы практически наверняка пропустите какой-нибудь крайний случай. (Достаточно сложно получить код, не защищенный от критического состояния, даже если вам платят за это.) Просто не делайте этого.

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

Кроме того, как отметил Lingfeng Xiong , существует много других способов получить привилегии root.

sudo и su – не единственный способ получить разрешение root. Попробуйте PAM. Я считаю, что вам лучше, чем исправлять двоичные файлы.

  • Как я могу переключиться с одного пользователя на другого пользователя внутри сценария?
  • Пользовательские настройки для monit? Должна ли она выполняться как root или ее собственный пользователь?
  • SSH + Sudo + Ожидайте в сценарии Bash: Запустите команду с sudo на удаленной машине
  • Система Crontab или Root Crontab
  • Не использовать sudo после использования опции visudo -x
  • Выполнение как sudo, так и nohup по команде
  • Могу ли я запустить команду, загруженную из .bashrc с помощью sudo?
  • Выполнение функции скрипта Bash с помощью Sudo
  • SUDO_USER undefined в руководстве sudo - разъяснение будет прекрасным
  • Установка курсора с помощью мыши с помощью шпатлевки не работает, если sudo
  • Где регистрируются события sudo?
  • Linux и Unix - лучшая ОС в мире.