У моего клиента есть сервер, который подвергается попыткам грубой силы из ботнета. Из-за капризов сервера и клиента клиента мы не можем легко заблокировать попытки с помощью брандмауэра, изменения порта или изменения имени учетной записи.
Было принято решение оставить его открытым для атак, но найти способ сохранить пароль в безопасности. Руководство и некоторые другие консультанты определили, что лучше всего установить программное обеспечение для смены паролей, которое меняет пароль каждые десять минут и предоставляет новый пароль пользователям, которым необходимо войти в систему.
Попытки перебора происходят дважды в секунду.
Мне нужно продемонстрировать, что создание надежного пароля из 12-15 символов - более простое и бесплатное решение. Я знаю, как доказать это математически, но я бы просто написал что-то вроде «существует x много возможных перестановок нашего пароля, и злоумышленник может делать только n попыток в день, поэтому мы ожидаем, что они сделают x / В среднем 2n дней, прежде чем они угадают наш пароль ". Есть ли более стандартное «доказательство» этого?
Использование fail2ban с iptables - отличный способ.
Вот математика для вас:
Смешанный алфавит в верхнем и нижнем регистре и общие символы длиной 8 символов дают вам 2,9 квадриллиона соучастий, а с 10 000 попыток в секунду потребуется 9 488 лет. Это, конечно, максимум - ожидайте, что ваш пароль будет взломан через 4000 лет. 1000 лет, если тебе не повезет.
Как видите, у вас не должно возникнуть проблем, если вы введете 15-значный пароль, например:
dJ&3${bs2ujc"qX
Помимо fail2ban,
Если вы используете любую современную UNIX, вы можете изменить время ожидания ввода неверного пароля до 5 секунд, что снизит скорость атаки на 2000%. [В Solaris 10 он находится в / etc / default / login, ищите SLEEPTIME]. Использование тех же допусков означает, что вы можете менять пароль каждые 3 часа 20 минут.
Кроме того, попытка пароля перед блокировкой была бы приемлемым вариантом, но я подозреваю, что это не для вас, потому что у вас есть несколько пользователей, использующих одну учетную запись, и вы не хотите, чтобы она постоянно блокировалась.
Требование пароля из 12-15 символов помогает, но если вас постоянно атакуют, возможно, лучше другое решение. Я не знаю, какова допустимость бюджета вашей компании по этому поводу, но ключевые карты RSA для всех, кому необходимо войти в эту учетную запись, также решат эту проблему. Двухфакторная аутентификация вытесняет вероятность во время квантовых вычислений.
Подход грубой силы, продолжающийся достаточно долго, чтобы вы могли публиковать сообщения на этой доске, довольно удивительно. Вообще говоря, он довольно скромный и в лучшем случае является заполнителем журнала, пока идет настоящая атака.
Как насчет обращения к власти? Вы можете сослаться на Техническое руководство по реализации безопасности Министерства обороны США (iase.disa.mil/stigs/stig) и сказать: «Если это достаточно хорошо для Министерства обороны, это достаточно хорошо для нас».
Что следует учитывать: если у вас есть пароль, который не меняется, и атаки грубой силы проверяют вселенную паролей, включая ваш, атака грубой силы гарантированно ударит в конечном итоге, и после этого вы останетесь уязвимыми.
«Шанс» того, что случайный выбор совпадет с вашим паролем, можно рассчитать, как вы и предлагали, но это не может сказать всей истории.
Если вы посмотрите, например, на попытки грубой силы и увидите, что самый длинный пароль, который они пробуют, составляет 10 символов, выбор чего-либо из числа 12 гарантирует, что вы никогда не попадете под удар.
Будьте очень осторожны, пытаясь применить статистику к конкретному случаю; они предсказывают только общее поведение с большим количеством образцов.
Кроме того, если математика не может (или не может) убедить кого-то, попробуйте найти что-то, что имеет примерно такую же вероятность, но знакомо, например, лотереи, автомобильные аварии или удары молнии. Если вы можете сказать "шанс, что кто-то ударит этот пароль примерно такой же, как выигрыш в лотерею шесть недель подряд, "он может помочь им почувствовать себя лучше.
Одна вещь, которая не была учтена, - это то, какое имя пользователя ботнет использует для Bruteforce. Во всех случаях, которые я видел, грубая сила применялась к вариантам администратора и root, а в одном редком случае имена пользователей были извлечены с веб-сайта корпорации.
Я бы также изменил ограничения интерактивного входа, чтобы ваша учетная запись root была либо отключена (предпочтительно), либо ограничена вашей локальной подсетью или аналогичным диапазоном адресов.
Дважды в секунду - это неплохо. Раньше мы видели тысячи попыток в минуту, прежде чем реализовывать fail2ban, который заблокирует определенный IP-адрес из сети на установленный период времени после такого количества неудачных попыток (все настраиваемые).
Это отлично сработало для нас.
На самом деле, вы можете выборочно сканировать против атак грубой силы ssh с помощью iptables, если это вам подходит.
Эти две строки:
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name sshscans
iptables -A INPUT -m recent --rcheck --seconds 60 --hitcount 5 --name sshscans --rsource -j DROP
заблокирует доступ для всех, кто пытается подключиться к SSH более 5 раз за 60 секунд. Вы можете изменить число "--hitcount", если хотите, чтобы разрешалось число больше 5 в секунду.
Я согласен с тем, что менять пароль каждые 10 минут кажется чрезмерным. На этом этапе проблема заключается в том, как безопасно передать новый пароль и поддерживать синхронизацию систем друг с другом.
В этой статье есть интересная статистика о скорости взлома:
Удивительно, сколько людей не понимают экспоненциальные кривые, но все знают разницу между 10, 100 и 1000, так что это может быть хорошим местом для начала сравнения.
Другая тактика может заключаться в том, чтобы шоу народ, сколько времени нужно, чтобы подобрать пароль из 6 символов. Если у вас есть какие-либо знания в области программирования, вы можете быстро собрать инструмент, который сделает это.
Вы также можете показать им, насколько легко доступны радужные таблицы:
Это может быть немного оффтопом, но я использую запретить и это значительно снизило количество попыток грубой силы на моих Linux-компьютерах.