Обеспечение Безопасности Ssh-Сессий: Простой Способ

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

Опции SSH

Есть несколько полезных опций, которые вы можете передать в OpenSSH, чтобы увеличить детализацию, сжать и ускорить соединение ssh, а также изменить шифр SSH на что-то более быстрое и безопасное;

Переключатель '-v'. Эта опция позволит вам увидеть выходные данные отладки для исходящих SSH-соединений. Указание «-v» несколько раз увеличивает уровень детализации (максимальный уровень 3).

Переключатель «-C». Эта опция сжимает все ваши данные SSH. Передача этой опции в OpenSSH может значительно ускорить работу в медленных сетях, но в высокоскоростных сетях она только замедлит работу.

Переключатель '-c'. Эта опция позволит вам изменить метод шифрования. По умолчанию используется 3des, метод трехстороннего шифрования, который считается безопасным. Однако также доступен Blowfish, быстрый блочный шифр, который также считается очень безопасным и работает намного быстрее, чем 3des.

Например, предположим, что я хочу войти в систему как пользователь «foo» в демоне ssh на хосте «example.com». Мне нужен максимальный уровень детализации, я хочу сжать все свои данные и хочу изменить свой шифр SSH на Blowfish. Команда будет выглядеть так:

ssh -vvv -C -c Blowfish -l foo example.com

Примечание: чем выше ваш уровень детализации, тем больше текста вы получите на свой терминал, пока OpenSSH выполняет процесс входа в удаленный демон SSH. Даже указание только одного -v может дать вам настоящий поток информации. Поиграйтесь с -v, пока не найдете уровень отладки, который вам удобен.)

SSH-ключи

OpenSSH поддерживает метод аутентификации, гораздо более безопасный, чем аутентификация по паролю с помощью клавиатуры, используя комбинацию шифрования с открытым/закрытым ключом. Генерируется пара ключей: один на удаленном компьютере для вашей аутентификации и входа. Другой — это закрытый ключ, соответствующий ключу на удаленном компьютере.

Чтобы сгенерировать пару криптографических ключей, вам следует использовать утилиту ssh-keygen(1) как на машине, на которой вы собираетесь войти, так и на машине, с которой вы собираетесь войти. Например;

ssh-keygen -t rsa

Опция -t указывает тип генерируемого ключа. Доступные варианты: dsa и rsa.

Ввод этой команды на любом из ваших компьютеров UNIX должен дать вам такой результат:

ssh-keygen -t rsa

Генерация пары открытых/закрытых ключей RSA.

Введите файл, в котором следует сохранить ключ (/home/example/.ssh/id_rsa):

Введите парольную фразу (пусто, если парольная фраза отсутствует):

Введите ту же парольную фразу еще раз:

Ваши идентификационные данные сохранены в файле /home/example/.ssh/id_rsa.

Ваш открытый ключ сохранен в /home/example/.ssh/id_rsa.pub.

Для обеспечения максимальной безопасности настоятельно рекомендуется установить парольную фразу. Хорошие парольные фразы имеют длину от 10 до 30 символов, и их нелегко угадать. Если вы не введете парольную фразу, вы сможете войти в удаленную систему без ввода пароля при входе в систему.

Следующим шагом будет авторизация ваших ключей на удаленном компьютере, на котором вы собираетесь войти. Вы можете сделать это, используя файл с именем авторизованные_ключи на вашем целевом компьютере. Скопируйте файл ~/.ssh/id_rsa.pub на удаленный компьютер с помощью scp(1).

scp ~/.ssh/id_rsa.pub example.com:.ssh/authorized_keys

Теперь войдите на целевую машину, используя ssh(1) с уровнем отладки 1.

как было показано ранее;

ssh -v -C -c Blowfish -l foo example.com

Вы увидите такие сообщения отладки;

debug1: Аутентификация, которую можно продолжать: открытый ключ, интерактивная клавиатура

debug1: Следующий метод аутентификации: открытый ключ

debug1: Предлагает открытый ключ: /home/example/.ssh/id_rsa

debug1: Сервер принимает ключ: pkalg ssh-dss blen 435

debug1: чтение закрытого ключа PEM выполнено: введите rsa

Затем вам будет предложено ввести ключевую фразу-пароль (если вы ее ввели), а затем войти в систему. Если вы не ввели парольную фразу при создании открытого/закрытого ключей, вас пропустят без необходимости ввода. Если вы столкнулись с ошибками, вам следует проверить разрешения ваших каталогов ~/.ssh на обоих компьютерах.

Если вы хотите изменить ключевую фразу-пароль в любое время, вы можете сделать это, передав флаг -p утилите ssh-keygen;

ssh-keygen -p




SSH (Secure Shell) — это приложение, которое обеспечивает безопасный удаленный вход в систему через сетевое соединение. Первоначально он был разработан Стивом Белловином и Винодхалли Сомаяджи в 1995 году для решения проблем с Telnet, который в то время широко использовался в клиентском сообществе. Они хотели разработать еще более безопасный и простой интерфейс командной строки, чтобы облегчить доступ к системам, которые не входили в авторитетный домен.

В течение следующих 8 лет популярность SSH росла, его подхватили некоторые из первых поставщиков облачных услуг, таких как Amazon EC2, Rackspace, а также некоторые поставщики облачных игр, такие как Xbox Game Pass (теперь Microsoft xCloud).

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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2011-07-23 05:15:35
Баллов опыта: 552966
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.