Сейчас 126 заметки.

Блокировка авторизации SSH

Материал из ЗАметки

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

В первую очередь отключите возможность входа на сервер через SSH суперпользователю root. Root-привелегии могут предоставить злоумышленнику полный контроль над вашим сервером, что несомненно является угрозой с высоким приоритетом опасности. Отредактируйте файл /etc/ssh/sshd_config изменив параметр PermitRootLogin:

PermitRootLogin no

Root SSH2.png

Если Вам необходимы привелегии root-пользователя используйте su или sudo перед выполняемой в терминале командой.

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

Для отключения авторизации по паролю, измените в файле /etc/ssh/sshd_config параметр PasswordAuthentication:

PasswordAuthentication no

Если у Вас еще нет SSH-ключа, не забудьте создать его перед отключением авторизации по паролю

Для генерации SSH-ключа введите в терминале вашего домашнего компьютера (под управлением Mac OS X или Linux) следующую команду:

ssh-keygen

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

ssh-keygen -t dsa<pre>

После генерации вы получите два ключа: private key находится тут ~/.ssh/id_rsa и public key, тут ~/.ssh/id_rsa.pub. Вам необходимо скопировать public key на удаленный сервер к которому Вы будете подключаться с помощью SSH-ключа. Копирование надо выполнить в директорию на удаленном сервере в файл authorized_keys ~/.ssh/authorized_keys. Используйте следующие команды для выполнения этих операций (замените пользователя SSH и хост значения Вашего виртуального сервера):

<pre>scp ~/.ssh/id_rsa.pub user@188.127.241.217:/home/user/.ssh/uploaded_key.pub
ssh user@188.127.241.217 "echo `cat ~/.ssh/uploaded_key.pub` >> ~/.ssh/authorized_keys"

Если Вы работаете в операционной системе Microsoft Windows, для генерации ключей Вы можете воспользоваться утилитой puttygen входящей в состав Putty для Windows.