Как использование является открытым ключом для входа в систему SSH немного лучше, чем использование пароля?

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

-bash-4.2$ export FOO=true
-bash-4.2$ echo $FOO
true
-bash-4.2$ unset FOO
-bash-4.2$ echo $FOO

-bash-4.2$
2
21.04.2014, 14:04
2 ответа

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

Один из ответов на эти вопросы и ответы по безопасности, озаглавленный: Лучше ли использование открытого ключа для входа в SSH, чем сохранение пароля? объясняет преимущества использования пароля. пара открытый / закрытый ключ.

выдержка

В случае с открытым ключом ситуация совсем иная. В этом случае на сервере хранится открытый ключ пользователя. Далее происходит то, что сервер создает случайное значение (nonce), шифрует его открытым ключом и отправляет пользователю. Если пользователь является тем, кем должен быть, он может расшифровать запрос и отправить его обратно на сервер, который затем подтвердит личность пользователя. Это классическая модель "вызов-ответ".

Таким образом, учитывая способ, которым пары ключей используются при отправке NONCE, они никогда не подвергаются действительному воздействию человека в середине, и только открытая сторона ключа остается открытой.

Если вы действительно подозрительны, вы можете отказаться от использования этой пары ключей и просто воссоздать новый набор.

Что такое NONCE?

отрывок

В проектировании безопасности одноразовый номер - это произвольное число, используемое только один раз в криптографической связи. По духу оно похоже на одноразовое слово, отсюда и название.Часто это случайное или псевдослучайное число, выдаваемое протоколом аутентификации, чтобы гарантировать, что старые коммуникации не могут быть повторно использованы в атаках воспроизведения. Например, одноразовые номера используются при аутентификации доступа к дайджесту HTTP для вычисления дайджеста пароля MD5. Одноразовые номера различаются каждый раз, когда представляется код ответа на запрос аутентификации 401, что делает атаки повторного воспроизведения практически невозможными.

Ссылки

7
27.01.2020, 21:50

Да, в механизме аутентификации с открытым ключом SSH может быть уязвимость. Но также может быть уязвимость в пароле или механизме аутентификации запрос-ответ. Таким образом, в основном только по этому фактору оба метода аутентификации считаются равными.

Преимущества аутентификации с открытым ключом

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

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

Недостатки аутентификации с открытым ключом

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

Обратные стороны пересылки ключей агента

Для клиентской системы возможно и обычно использовать «ключевой агент» для хранения секретного ключа SSH.Когда клиенту ssh нужно что-то сделать с этим закрытым ключом, он отправляет запрос ключевому агенту.
Также возможно и обычно перенаправлять доступ к этому ключевому агенту через SSH-соединение, чтобы вы могли использовать локальный SSH-ключ в удаленной системе (если вы хотите использовать ssh для другого окна Например).

Обратной стороной этого является то, что если удаленная система взломана или кто-то другой имеет root-доступ, он может использовать ваш ssh-ключ, пока вы подключены к этой системе.

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

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

2
27.01.2020, 21:50

Теги

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