Аналитика Контакты Профиль
5151 Бесплатно с мобильного по РК info@kazteleport.kz +7 727 364 5151 Международные звонки
5151 Бесплатно с мобильного по РК
+7 727 364 5151 Международные звонки
Блог

Генерация SSH-ключа для защиты сетевых соединений: удобство или необходимость?

02.08.2023

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

pasted image 0.png

Что такое SSH-ключ

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

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

Для чего используются ключи SSH

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

  1. Создание пары открытых ключей.

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

  3. Подтверждение участниками права собственности на открытый ключ с помощью приватного ключа.

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

  • соответствие современным требованиям и стандартам. Для средних и крупных бизнес-организаций важно, чтобы IT-инфраструктура была построена в соответствии с отраслевыми стандартами, в частности GDPR, HIPAA, PCI DSS;

  • более высокая устойчивость к взлому. Безопасность цифровых корпоративных данных играет одну из ключевых ролей для современного бизнеса. По сравнению с традиционными паролями, использование ключей является максимально устойчивым к взлому за счет сложности комбинаций и невозможности подбора методом брутфорс;

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

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

Генерация ключа SSH в UNIX-подобных операционных системах

pasted image 0 (1).png

Чтобы получить пару ключей в операционных системах UNIX, например, в ОС Linux, необходимо выполнить следующий алгоритм действий:

  1. Воспользовавшись терминалом запустить команду ssh-keygen. Для указания конкретного типа ключа есть возможность воспользоваться дополнительным флагом -t. Кроме того, пользователь может самостоятельно указать разрядность ключа. Для этого в конце команды необходимо добавить флаг -b и требуемую длину через пробел. На изображении ниже показано создание пар ключей типа RSA, разрядностью 2048 битов.

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

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

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

  5. Отображение случайного изображения, состоящего из символов кодировки ASCII, сгенерированное алгоритмом с учетом последовательности байтов fingerprint. Основная функция случайного изображения заключается в демонстрации отпечатков, что позволяет пользователям визуально их идентифицировать и сравнивать.

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

  • закрытый ключ содержится в файле id-rsa;

  • открытый ключ содержится в файле id-rsa.pub

Следующим шагом к установке безопасного соединения является копирование открытого ключа на сервер с использованием следующей команды:pasted image 0 (8).png

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

Установка соединения с SSH-сервером на Linux

pasted image 0 (2).png

Перед тем как приступить к установке безопасного соединения между двумя машинами, необходимо удостовериться, что для этого предварительно были соблюдены основные требования, среди которых:

  • удаленный сервер находится в рабочем состоянии и подключен к физическому каналу связи;

  • известны имя или IP-адрес удаленного компьютера;

  • установлены и включены необходимые приложения на стороне сервера и клиента;

  • правильно настроенный брандмауэр для разрешения удаленного доступа;

  • имеются необходимые права доступа к хосту.

Далее следует выполнить команду ssh, указав при этом имя пользователя и адрес сервера, с которым планируется установить соединение. Команда выглядит следующим образом:pasted image 0 (9).png

После этого программа попытается получить доступ, используя для этого 22-й порт, который является стандартным для Secure Shell. Если в настройках сервера порт был изменен, то при клиентском запросе его необходимо указать явно. Для этого используется флаг –p [port_number].

При первом подключении к удаленному хосту пользователю будет предложено проверить fingerprint серверного ключа. Так как данного отпечатка еще нет в списке известных, необходимо согласиться на его добавление. Система автоматически добавит fingerprint и соединение будет установлено.

После завершения работы необходимо безопасно завершить сеанс, во избежание утечки данных и получения доступа к хосту третьими лицами. Для этого используется команда exit. После ее ввода программа уведомит пользователя о закрытии соединения. На этом сеанс связи завершен и терминал можно закрывать.

Резюме

SSH генерация ключа не просто сокращает время на установление соединения и избавляет пользователей от необходимости ввода паролей, но и позволяет сделать процесс аутентификации более безопасным, минимизируя возможность утечки конфиденциальных данных даже в случае кибератак.
Поделиться статьей
Другие новости
и статьи
Смотреть все
Jelastic на SmartCloud прекращает свою работу
30.01.2024
Jelastic на SmartCloud прекращает свою работу
Прочитать
Как определить скрытый майнинг
29.01.2024
Как определить скрытый майнинг
Прочитать
Ботнеты: что это и как они влияют на кибербезопасность
22.01.2024
Ботнеты: что это и как они влияют на кибербезопасность
Прочитать
Кейлоггер (клавиатурный шпион) и методы защиты данных
15.01.2024
Кейлоггер (клавиатурный шпион) и методы защиты данных
Прочитать
Фишинг и фарминг: сходства и различия
09.01.2024
Фишинг и фарминг: сходства и различия
Прочитать
Что такое троянский вирус и методы удаления?
04.01.2024
Что такое троянский вирус и методы удаления?
Прочитать
Что такое лжеантивирусы?
25.12.2023
Что такое лжеантивирусы?
Прочитать
«Казтелепорт» запустит солнечную электростанцию на территории ЦОД «Сайрам»
21.12.2023
«Казтелепорт» запустит солнечную электростанцию на территории ЦОД «Сайрам»
Прочитать
Программы-вымогатели: как распознать и предотвратить атаку
18.12.2023
Программы-вымогатели: как распознать и предотвратить атаку
Прочитать
Что такое бесфайловые вредоносные программы?
11.12.2023
Что такое бесфайловые вредоносные программы?
Прочитать