Лучшие практики для .ssh? Должен ли я отключать весь вход для входа в систему и пароль пользователя, период?

Я новичок в этом, поэтому, пожалуйста, немного потупите это для меня.

Я использую OSX локально, сервер Ubuntu для моего удаленного хоста на Linode. И, к моему пониманию, я могу локально использовать ssh-keygen -b 4096, чтобы сгенерировать два файла:

~/.ssh/id_rsa и ~/.ssh/id_rsa.pub

И затем на моем сервере я запустил mkdir -p ~/.ssh && sudo chmod -R 700 ~/.ssh/, чтобы создайте папку .ssh и дайте ей рекурсивные права на чтение / запись / выполнение для «владельца файла» (что бы это ни было, в соответствии с wiki).

Затем я вызываю

scp ~/.ssh/id_rsa.pub example_user@123.4.567.89:~/.ssh/authorized_keys

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

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

Теперь скажем, я редактирую файл /etc/ssh/sshd_config, где я могу возиться с PermitRootLogin, PasswordAuthentication и ChallengeResponseAuthentication.

Мои вопросы:

Должен ли я отключать регистрацию root? Должен ли я установить PermitRootLogin на no или without-password? Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication? Безопасно ли иметь личные и публичные ключи на моей локальной машине? Должен ли я удалять публичный и удерживать только частный? Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то входит в мою машину и, следовательно, получает доступ к моему ключевому файлу?
0
задан 14 July 2017 в 04:25

6 ответов

«Наилучшая практика» с ssh или любым сервером в этом отношении заключается в следующем:

Оцените ценность вашего актива и данные на вашем сервере, где вы устанавливаете и настраиваете ssh. Это домашний компьютер за LAN? Или публичный IP-адрес на сервере с конфиденциальными данными, личной информацией, финансовой информацией? и т. д. Прочтите ВСЕ опции безопасности. Затем решите, как вы хотите сбалансировать безопасность с легкостью доступа, простотой настройки и стоимостью ваших активов.

Для моих соображений по ssh см. - http://bodhizazen.com/Tutorials/SSH_security

1
ответ дан 22 May 2018 в 20:34
  • 1
    Но я также пытаюсь понять последствия. Например, что мешает кому-то создавать новую пару ключей и делать scp ~/.ssh/id_rsa.pub example_user@123.4.567.89:~/.ssh/authorized_keys для перезаписывания авторизованных ключей? Это больше не работает, если пароли не разрешены? – user712268 14 July 2017 в 05:10
  • 2
    Есть ли другие логины, которые я должен отключить? – user712268 14 July 2017 в 05:34
  • 3
    Пользователь не может скопировать ключ с помощью scp или других методов, если они не могут войти в систему. – Panther 14 July 2017 в 05:59

«Наилучшая практика» с ssh или любым сервером в этом отношении заключается в следующем:

Оцените ценность вашего актива и данные на вашем сервере, где вы устанавливаете и настраиваете ssh. Это домашний компьютер за LAN? Или публичный IP-адрес на сервере с конфиденциальными данными, личной информацией, финансовой информацией? и т. д. Прочтите ВСЕ опции безопасности. Затем решите, как вы хотите сбалансировать безопасность с легкостью доступа, простотой настройки и стоимостью ваших активов.

Для моих соображений по ssh см. - http://bodhizazen.com/Tutorials/SSH_security

1
ответ дан 18 July 2018 в 10:19

«Наилучшая практика» с ssh или любым сервером в этом отношении заключается в следующем:

Оцените ценность вашего актива и данные на вашем сервере, где вы устанавливаете и настраиваете ssh. Это домашний компьютер за LAN? Или публичный IP-адрес на сервере с конфиденциальными данными, личной информацией, финансовой информацией? и т. д. Прочтите ВСЕ опции безопасности. Затем решите, как вы хотите сбалансировать безопасность с легкостью доступа, простотой настройки и стоимостью ваших активов.

Для моих соображений по ssh см. - http://bodhizazen.com/Tutorials/SSH_security

1
ответ дан 24 July 2018 в 19:32
Безопасно ли иметь личные и общедоступные ключи на моей локальной машине? Должен ли я удалять публичный и удерживать только частный?

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

Безопасно ли иметь частных и открытых ключей на моей локальной машине? Должен ли я удалять публичный и удерживать только личное?

Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то попасть в мою машину и, следовательно, получить доступ к моему ключевому файлу?

Должен ли я отключать регистрацию root?

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

Должен ли я отключать вход в корневой каталог?

По умолчанию он отключен по умолчанию, поскольку по умолчанию разрешено только для входа на ключ и root не имеет authorized_keys по умолчанию.

[d14 ] Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication?

Должен ли я установить PermitRootLogin на no или without-password?

0
ответ дан 22 May 2018 в 20:34
  • 1
    Когда вы указываете значения по умолчанию, они не соответствуют мне (по крайней мере, при использовании linode). Я не знаю, как применять ключевой логин или что я должен устанавливать эти поля. – user712268 14 July 2017 в 04:53
  • 2
    Тогда вы должны пожаловаться на Linode. PermitRooLogin without-password является значением по умолчанию в Ubuntu (на основе ключа). Также прочитайте man sshd_config. – muru 14 July 2017 в 04:56
  • 3
    Если я установил это без пароля, то я бы тогда установил PasswordAuthentication и ChallengeResponseAuthentication для обеспечения безопасности? И к no? – user712268 14 July 2017 в 04:57
Безопасно ли иметь личные и общедоступные ключи на моей локальной машине? Должен ли я удалять публичный и удерживать только частный?

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

Безопасно ли иметь частных и открытых ключей на моей локальной машине? Должен ли я удалять публичный и удерживать только личное?

Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то попасть в мою машину и, следовательно, получить доступ к моему ключевому файлу?

Должен ли я отключать регистрацию root?

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

Должен ли я отключать вход в корневой каталог?

По умолчанию он отключен по умолчанию, поскольку по умолчанию разрешено только для входа на ключ и root не имеет authorized_keys по умолчанию.

Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication?

Должен ли я установить PermitRootLogin на no или without-password?

0
ответ дан 18 July 2018 в 10:19
Безопасно ли иметь личные и общедоступные ключи на моей локальной машине? Должен ли я удалять публичный и удерживать только частный?

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

Безопасно ли иметь частных и открытых ключей на моей локальной машине? Должен ли я удалять публичный и удерживать только личное?

Если я полагаюсь только на ключ, разве это не значит, что теперь я подвергаюсь новой слабости: кто-то попасть в мою машину и, следовательно, получить доступ к моему ключевому файлу?

Должен ли я отключать регистрацию root?

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

Должен ли я отключать вход в корневой каталог?

По умолчанию он отключен по умолчанию, поскольку по умолчанию разрешено только для входа на ключ и root не имеет authorized_keys по умолчанию.

Должен ли я отключать все пароли и использовать только ключи, период? Как насчет PasswordAuthentication и ChallengeResponseAuthentication?

Должен ли я установить PermitRootLogin на no или without-password?

0
ответ дан 24 July 2018 в 19:32
  • 1
    Когда вы указываете значения по умолчанию, они не соответствуют мне (по крайней мере, при использовании linode). Я не знаю, как применять ключевой логин или что я должен устанавливать эти поля. – user712268 14 July 2017 в 04:53
  • 2
    Тогда вы должны пожаловаться на Linode. PermitRooLogin without-password является значением по умолчанию в Ubuntu (на основе ключа). Также прочитайте man sshd_config. – muru 14 July 2017 в 04:56
  • 3
    Если я установил это без пароля, то я бы тогда установил PasswordAuthentication и ChallengeResponseAuthentication для обеспечения безопасности? И к no? – user712268 14 July 2017 в 04:57

Другие вопросы по тегам:

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