2

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

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

4 ответа4

12

Грубая сила SSH для корневых паролей, которые на самом деле не очень просты (например, "бог";)), вероятно, никогда не удастся. Однако, так много людей пробуют это, я думаю, что достаточно людей, использующих достаточно слабый пароль, что имеет смысл попробовать злоумышленникам.

Так что да, если вы используете надежные пароли, вы, вероятно, в безопасности, однако есть несколько вещей, которые вы можете сделать, чтобы улучшить свою безопасность еще больше (и сделать возможным смеяться над попытками входа в систему в ваших лог-файлах по 50 тыс. Каждый день):

  • используйте fail2ban для автоматической блокировки злоумышленников (я думаю, это создает правила iptables на основе ваших лог-файлов).
  • полностью отключите учетную запись root с помощью «passwd -l» и используйте вместо этого sudo (убедитесь, что включили и протестировали sudo перед выполнением этой команды!)
  • и даже лучше: отключите логин паролей через SSH в sshd_config (PasswordAuthentication no) и используйте вместо этого файлы ключей.
4

Я устанавливаю DenyHosts на любые машины с ssh-серверами, выходящими в Интернет. Он автоматически добавляет исходные IP-адреса неоднократно неудачных входов в систему в hosts.deny.

3

Предложения в других ответах по дальнейшей защите себя при использовании SSH очень разумны.

Но, в частности, к вашему вопросу, атаки методом «грубой силы» от одного пользователя вряд ли будут эффективны, за исключением общих комбинаций имени пользователя / пароля или словарных слов. Надежность буквенно-цифрового пароля из 9 букв займет около 6 миллионов лет.

Однако можно также атаковать, скажем, большой скоординированный ботнет, который позволяет минимизировать влияние двухсекундной задержки на сервер для каждого пользователя. Один миллион ботов (очевидно, не совсем вероятно) сократит ваше время взлома до гораздо более страшных 6,4 года

2

Есть еще кое-что, что вы можете сделать с BlockSSHd.

BlockSSHD - это сценарий Perl, основанный на BruteForceBlocker v1.2.3, который динамически добавляет правила IPTables для Linux и правила брандмауэра pf для BSD, которые блокируют атаки с использованием перебора SSH. Он также может обнаружить сбои входа ProFTPd.

Это довольно аккуратно и гибко.

Сценарий BlockSSHD может разблокировать IP-адрес после определенного периода. Это включено в файле конфигурации blocksshd.conf с помощью опции unblock и с периодом, установленным с помощью опции unblock_timeout.

Сценарий BlockSSHD также может регистрировать заблокированные в файле IP-адреса и повторно применять эти заблокированные IP-адреса при повторном запуске сценария. Это позволяет восстановить ранее заблокированные IP-адреса после перезапуска или после сброса правил брандмауэра.

Недавний digg - 6 способов сделать ваши логины SSH более безопасными.

  1. Выберите надежные пароли
    • Отключить прямой root-вход
    • Отключить логин на основе пароля
    • Запустите SSH на нестандартном порту
    • Запрет постоянных преступников (способ iptables)
    • Основанный на Perl BlockSSHd
    • Основанный на Python Fail2Ban
    • Ограничьте скорость соединений (снова iptables)

Все еще параноик? Двухфакторная аутентификация пользователя,
Защитите свое развертывание SSH с помощью двухфакторной аутентификации WiKID

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .