Назад | Перейти на главную страницу

Grokking изощренная атака по словарю

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

Вот что необычно в этом:

Вы можете помочь мне понять как это можно сделать с разных IP-адресов, можно ли эффективно заблокировать? и означает ли медленное продолжение атаки (вероятно, потребуется несколько месяцев, чтобы пройти по алфавиту) что-нибудь конкретное?

Мне также было бы интересно узнать, наблюдает ли кто-нибудь еще в настоящее время на своих общедоступных ssh-серверах (т.е. являемся ли мы конкретной целью или злоумышленник закрывает тысячи ssh-серверов этой атакой?)

Кроме того, могу ли я раскрыть какие пароли (или даже хэши) проверяются? Я заметил, что каждое имя используется только один или два раза. я предполагать они пробуют "пароль" или имя пользователя, но могу я это проверить?

Легкий ответ на это не используйте пароли !!!

Ты можешь:

  • использовать ssh ключи. Зашифруйте их для дополнительной безопасности
  • используйте генератор одноразовых паролей, например Mobile-OTP
  • использовать Kerberos

Если вам необходимо использовать пароли, разрешайте их только из подсетей, которым вы доверяете, а не для всего Интернета. Кроме того, это помогает запустить демон ssh на каком-либо порту, отличном от 22. Обычно я не предлагаю такие вещи, но если это уменьшит количество наблюдаемых атак, тем лучше.


В ответах на ваши конкретные вопросы:

  • Я видел подобные атаки на любом используемом мной хосте, имеющем общедоступный ssh-сервер.
  • Я подозреваю, что они используют словарь имен пользователей / паролей, разработанный на основе прошлого опыта работы с тем, что работает. Например, в моих журналах
    • 18 попыток против пользователя ftp
    • 23 попытки против пользователя "forum"
    • 3 для пользователя "bernard"
    • 1 для пользователя "bret"
  • Я также видел подобную атаку, при которой использовались фактические учетные записи для конкретного сайта, но они, вероятно, были взяты с широко открытого сервера ldap этого сайта (университеты, должны любить их!)
  • Эти атаки, вероятно, исходят от зомби компьютеры с впечатляющим централизованным управлением.
  • эти приступы происходят с частотой одна каждые 1-5 минут, весь день, каждый день
  • Я только что попытался связать sshd, чтобы убедиться, что собрать пароль, который пытается злоумышленник, тривиально, и похоже, что вам придется исправить код.
    • эти люди сделали именно это и обнаружили, что пароли часто были перестановками имени пользователя или известного пароля, такого как sql или admin.

Лучший ответ - ничего с этим не делать. Пока у ваших пользователей есть надежные пароли из 8 или более символов, при такой скорости, скорее всего, потребуется около 3000 миллионов лет, чтобы подобрать его!

Вот некоторые обсуждения и анализ атаки ботнета "медленными переборами", которая началась в 2008 году: Финальный обзор медленных скотов

Другое обсуждение того же периода в этот сайт предлагает

Fail2ban - всего лишь один из инструментов повышения безопасности сервера. Конечно, первым делом следует избегать использования паролей и вместо этого использовать аутентификацию по ключу сервера. Кроме того, ограничьте разрешенный трафик для определенных IP-адресов, запретите диапазоны IP-адресов, используйте IP-таблицы, используйте черные списки, такие как rsync-mirrors.uceprotect.net, для обновления ваших iptables для известных источников хакеров SSH и исходных сетей. Подробную информацию о трех уровнях черных списков см. На uceprotect.net.

Другие элементы, которые я видел, связанные с такого рода попытками, рекомендуют отслеживать неудачные попытки и блокировать исходные IP-адреса - в конечном итоге тот же IP-адрес будет использоваться для другого зонда, поэтому путем обнаружения и внесения в черный список после попыток входа в систему с несуществующей учетной записью вы постепенно уменьшаете угрозу за счет увеличения обработки правил брандмауэра. Кроме того, может быть лучше не блокировать после только одной попытки подключения - опечатки случаются.

Я не уверен в вашей реальной реализации, но вот несколько общих советов:

Проверьте свои пароли (с помощью John the ripper или аналогичного) и посмотрите, можете ли вы увеличить тайм-аут для входа в систему.

Установите denyhosts или fail2ban - после определенного количества атак он будет блокироваться по IP. denyhosts работает с /etc/hosts.deny, и я считаю, что fail2ban работает по правилам iptables.