Как увеличить задержку доступа по ssh root каждый раз, когда не удается войти в систему

1231
Wulfire

Есть ли способ в Linux задержать, например удвоить время задержки, доступа к корневому каталогу ssh каждый раз, когда вход по корневому каталогу ssh не удается выполнить с данного IP-адреса, и они позволяют задержке истечь через X минут без попыток входа в систему или успеха?

Цель состоит в том, чтобы смягчить атаки с использованием грубой силы SSH / root на мои серверы.

Я использую Debian и Ubuntu.

Спасибо.

1
Поскольку это конкретный вопрос о конфигурации Linux, я голосую за переход на SuperUser. schroeder 9 лет назад 2
Просто чтобы быть уверенным - вы можете использовать fail2ban? http://www.fail2ban.org/wiki/index.php/Main_Page нет экспоненциального отката, а просто блокирует IP после N-попыток. ninjajesus 9 лет назад 0
@schroeder Я не согласен, так как любой вопрос безопасности, применимый к Linux, будет включать какую-то конфигурацию Linux, если только это не чисто теоретический вопрос (пример http://security.stackexchange.com/questions/21027/invalid-users-tring-to-log -в-на-мой-сервер? RQ = 1) Wulfire 9 лет назад 3
Именно так. Ваш вопрос имеет значение для безопасности, но в основе его лежит конкретный вопрос о конфигурации / инструменте, который здесь не по теме и лучше подходит для SuperUser. schroeder 9 лет назад 0
Я перенес его в Unix SE. Но также я думаю, что этот вопрос имеет достаточную направленность безопасности, чтобы остаться здесь, может быть, Unix SE лучше для него (в конце концов, я проголосовал за Schroeder, только потому, что я думаю, что миграция - это хорошо, но пути миграции Unix SE не существует) , peterh 9 лет назад 0
То, что я упомянул Linux, не означает, что ответ не может быть релевантным для других операционных систем, или что концепции могут быть перенесены в другие контексты - я упомянул «Linux», «Debian» и «Ubuntu» для обеспечения контекста, но в конечном итоге ответ может иметь актуальность за это. Кроме того, http://security.stackexchange.com/questions/21027/invalid-users-tring-to-log-in-to-my-server?rq=1 получил 25 голосов, даже если это очевидно для Unix (пользователь root) , использование failtoban и т. д.), как получилось? Я хотел бы знать. Wulfire 9 лет назад 0
@ Wulfire Вопрос «как мне защитить себя», это общий вопрос. Ответ является общим с конкретными упоминаниями инструмента. Вопросу также 2,5 года, и с тех пор сообщество немного изменилось. Ваш вопрос "как мне это сделать в Linux?" schroeder 9 лет назад 0
@schroeder Если вы посмотрите вокруг, есть много других недавних вопросов, которые «специфичны для Linux», включая первый здесь: http://security.stackexchange.com/questions?sort=featured - Звучит так, будто мы идем кругами, поэтому я постараюсь не повторяться. Wulfire 9 лет назад 0
@ Wulfire вы абсолютно правы, но это не может быть перенесено из-за щедрости. Вы также увидите, что подробный ответ ссылается на ServerFault. schroeder 9 лет назад 0
Просто пытаюсь понять это: похоже, что вы хотите постепенно запретить IP-адресу пытаться войти в систему как root, если только и до тех пор, пока он не угадает пароль root успешно. Он может отменить этот запрет, правильно угадав, что означает, что он может продолжить хотя бы грубую систему аутентификации. Есть ли аутентификация и запрет реализации на разных устройствах? ǝɲǝɲbρɯͽ 9 лет назад 0
@vidar Хорошее постепенное отступление здесь: http://blog.shanock.com/fail2ban-increased-ban-times-for-repeat-offenders/ и основывается на некоторых концепциях в связанной статье здесь: http: // serverfault.com/a/640380/246220 ǝɲǝɲbρɯͽ 9 лет назад 0
Вы используете вебмин? Какой SSH-доступ вы используете, если есть? Вы можете установить доступ только к определенному IP, настроить выделенный маршрутизатор с указанным фиксированным IPA ... Есть несколько обходных путей, кроме команды bash, но вы можете попробовать "set -m -t --T" без кавычек ... или какое-то происхождение этого ... возможно 9 лет назад 0
@ ǝɲǝɲbρɯͽ в соответствии с вопросом «цель состоит в том, чтобы смягчить атаки на мои серверы с помощью ssh / root-доступа методом подбора», поэтому я открыт для всего, что может помочь в этом отношении - поскольку я не являюсь экспертом в области безопасности, первое, что мне пришло в голову, это чтобы как-то постепенно замедлять попытки грубого принудительного доступа с правами root, но, как я уже сказал, я открыт для любой другой методологии «контратаки» таких попыток. Wulfire 9 лет назад 0
@ Я не использую webmin (просто старый ssh ​​/ sshd), хотя полезно знать об этом, может быть полезно @ ǝɲǝɲbρɯͽ @ vidar, спасибо за различные ссылки fail2ban (на что все, похоже, указывают мне), я действительно хотел бы, чтобы такие функции безопасности были встроены. в самом sshd в виде пары переменных конфигурации ... Опять же, любой другой подход (помимо неинформированного, который я придумал для отсрочки неудачных входов в систему), который, по вашему мнению, приближает меня к основной цели "смягчения последствий". brute force ssh / root-доступ к моим серверам "приветствуется. Спасибо всем за отзывы. Wulfire 9 лет назад 0
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он относится к Unix & Linux SE. Mark 9 лет назад 0

1 ответ на вопрос

0
ǝɲǝɲbρɯͽ

Мой ответ в первую очередь о конфигурации Linux, а не о безопасности. Он отвечает вашей цели, но не предусматривает сброса тайм-аута на правильный пароль или увеличения его, пока он уже забанен. Это, вероятно, должно быть вне группы, используя какое-то другое событие в качестве ключа.

Этот ответ ссылка на статью, показывая, как бороться с рецидивистами один раз, и это показывает, как выполнить запрет Инкрементирования. Так как ссылки просто плохи, я попытаюсь перефразировать то, что они делают.

По сути, вы хотите создать несколько блоков конфигурации, которые используют почти одинаковые имена; автор использует "f2b-loop2", "f2b-loop3" и так далее. Блок DEFAULT является драйвером.

Каждый шаг цикла использует один и тот же фильтр. Этот фильтр игнорирует все запреты с петлевыми именами, но продолжает подсчитывать запреты DEFAULT в течение времени сканирования, эффективно определяя уровень, определяющий «Сколько раз DEFAULT запрещал этот IP-адрес в период сканирования / время поиска?». Таким образом, суммарные попытки, которые запускают последовательно более высокие значения времени запрета, являются умножением максимальных значений DEFAULT и максимальных значений уровня цикла.

Вы можете продолжить этот шаблон, чтобы закончить отрицательным временем запрета, чтобы навсегда заблокировать.

* Я также проголосовал за перенос этого вопроса, потому что он кажется очень административным. ǝɲǝɲbρɯͽ 9 лет назад 0

Похожие вопросы