42

Это не столько технический вопрос, сколько концептуальный. Я понимаю, что криптография, используемая в ключе SSH, намного сильнее обычного пароля, но я не понимаю, почему он считается более безопасным.

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

Например, если я настрою на своем телефоне ключ SSH для подключения к домашней машине, если я потеряю свой телефон и кому-то удастся разблокировать его, они смогут подключиться к моей домашней машине. Я знаю, что могу затем удалить ключ для своего телефона с домашнего компьютера, но я уязвим, пока не пойму, что клиентское устройство было потеряно / взломано.

Я что-то не так понял, или это действительные проблемы?

3 ответа3

37

Если ваша служба SSH разрешает аутентификацию на основе паролей, то ваш SSH-сервер, подключенный к Интернету, будет работать круглосуточно ботнетами, пытающимися угадать имена пользователей и пароли. Бот-сеть не нуждается в информации, она может просто использовать популярные имена и пароли. Там очень много людей по имени Джон с паролем qwerty123. Помимо всего прочего это забивает ваши журналы.

Если ваша служба SSH разрешает только аутентификацию с открытым ключом, злоумышленнику требуется копия закрытого ключа, соответствующего открытому ключу, хранящемуся на сервере. Они не могут просто совершать случайные атаки, они должны заранее знать ваших пользователей и иметь возможность украсть закрытый ключ с ПК авторизованного пользователя вашего SSH-сервера.

Тот факт, что закрытые ключи часто защищены длинной парольной фразой, имеет второстепенное значение.

Обновить:

Как отмечают комментарии, и, как я уже понял, перемещение вашей службы SSH с порта 22 на порт с большим номером существенно меняет количество неавторизованных попыток входа в систему, которые появляются в ваших журналах. Это стоит делать, но я рассматриваю это как форму безопасности от неясности (ложное чувство безопасности) - рано или поздно бот-сети будут осуществлять медленное скрытое сканирование портов, или вы будете намеренно нацелены. Лучше быть готовым.

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

Также http://xkcd.com/538/

Безопасность

7

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

Что касается физической безопасности, то нет разницы между сохранением пароля и наличием незашифрованного ключа SSH на вашем устройстве, если оно потеряно или украдено. Единственное преимущество, которое у вас есть, это то, что ни у кого нет вашего пароля, и вы можете теоретически убедиться, что все устройства имеют разные сертификаты SSH, поэтому вы можете просто отключить один для своего телефона.

Я верю, что также возможно защитить паролем ключи SSH.

1

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

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

Если ваш компьютер скомпрометирован вредоносным ПО, вы все равно напичканы ... - кто-то может получить зашифрованный ключ и сохранить ваш пароль.

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