usb ключ yubikey что это

SSH, PGP, TOTP в Yubikey 5

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что это

Что такое Yubikey

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

Год назад я приобрел Yubikey, чтобы использовать его в качестве второго фактора для аккаунтов Google, Github и других, которые работают с U2F. Однако я для себя выяснил, что Yubikey обладает куда более расширенным функционалом. Большая часть из нижеописанных действий актуальна для работы и без Yubikey, однако преимущество в портативности будет потеряно.

Все действия описаны для Yubikey 5 и Ubuntu 21.04.

SSH-ключи

Многие знакомы с такой простой операцией, как подключение по SSH. У нас в TOT Systems имеется собственный менеджер паролей, и чтобы подключиться к удаленной машине, нужно зайти в него, скопировать логин, адрес и пароль.

Для работы нам понадобятся OpenSSH версии 8.2 и библиотека libfido2. Вместо привычного RSA-файла с приватным ключом давайте создадим ключ прямо на Yubikey с алгоритмом Ed25519.

Вставляем Yubikey в USB-порт и вводим команду с опцией resident, которая означает, что приватный ключ всегда будет храниться на Yubikey, а непосредственно в компьютере находится резидентный ключ, который без аппаратного ключа бесполезен:

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

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

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

К примеру, импортируем ключи с юбикея на новый компьютер. Запускаем терминал в папке

SSH-ключ и U2F на примере Github

С помощью SSH-ключа можно клонировать репозиторий на гитхабе. Для этого добавляем публичный ключ в аккаунт на гитхабе. Теперь попробуем клонировать репозиторий по SSH:

Клонировать репу не получается.

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

Для работы с Yubikey Нужно установить scdaemon:

$ sudo apt install scdaemon

Перед созданием RSA-ключа и сабключей поменяем их размер на 4096 бит.

Для этого перейдём в меню смарт-карты.

и отредактируем длину ключа на 4096:

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

Проверяем, что ключ сгенерировался и отображается на карте:

Выводим содержимое публичного ключа в терминал:

Или экспортируем публичный ключ в файл, а затем добавляем его в свой аккаунт в гитлабе:

Теперь создадим глобальный конфиг файл

/.gitconfig с содержимым:

После этого ваши коммиты будут подписаны:

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что это

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

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

Теперь на новом компьютере вводим команду fetch

Далее повысим уровень доверия к ключу командой trust:

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

Источник

YubiKey: что это такое? Обзор аппаратного ключа безопасности

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что это

Для чего нужен аппаратный ключ Yubi K ey

Из-за лени и небрежности многие пользователи сети часто теряют доступы к своим аккаунтам на различных ресурсах. В основном это происходит по следующим причинам:

Многие современные сервисы предлагают ее использовать своим пользователям. Для этого часто просят «подвязывать» свою почту и телефон — куда сможет прийти дополнительный код для входа в систему, который нужно ввести в дополнительном поле фор м ы входа.

В общем, нельзя пренебрегать дополнительной за щ итой.

Принцип работы Yubi K ey

Большое количество интернет-ресурсов уже поддерживают аппаратные ключи. Это можно уточнить на интересующем сервисе. Если Yubi K ey будет включен, то в форме для входа можно будет заметить дополнительное поле.

Тогда вам нужно будет выполн и ть следующие действия:

После нажатия Юби К ей сгенерирует неопределенную последовательность символов в качестве дополнительного пароля. И что самое интересное, даже если кто-то за вами «следит» и вычислит ваш основной логин и пароль для входа в систему, без Yubi K ey-пароля он не войдет. И даже если он и его как-то вычислит — это не поможет. Потому что любой сгенерированный пароль работает только единожды. И для следующего входа в систему будет сгенерирован другой пароль. При таком раскладе, чтобы зайти вместо вас в ваш аккаунт, нужно будет знать логин/пароль для входа и украсть ваш «ключ».

Выводы

Однозначно, что пренебрегать защитой своих данных не стоит, поэтому старайтесь максимально обезопасить свои аккаунты, почту, сервера и др. Поддержка Yubi K ey осуществляется уже в сотнях крупных ресурсах, таких как:

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Нажималка для YubiKey

Если вы работаете в сфере информационных технологий, то у вас, возможно, есть аппаратный ключ безопасности YubiKey. У меня такой имеется. Это — YubiKey 5C Nano, показанный на следующем снимке.

Если вы работаете в области, не связанной с компьютерами, но при этом, в основном, пользуетесь ноутбуком, то вам, возможно, стоило бы обзавестись YubiKey. А если вы участвуете в политической кампании, или работаете журналистом, то вам, определённо, нужен YubiKey (или нечто подобное). Обсудите это с вашим отделом безопасности. Правда, этот материал будет кое о чём таком, о чём специалистам вашего отдела безопасности лучше не знать. Поэтому не говорите им об этой статье.

Ключ YubiKey используется в механизмах двухфакторной аутентификации. Это означает, что после того, как вы вошли в некую систему с помощью имени пользователя и пароля, система предложит вам авторизоваться с помощью ещё одного механизма. В результате, если ваши имя пользователя и пароль украдут, злоумышленнику придётся украсть ещё и второе средство аутентификации, что усложняет его задачу.

Существуют разные способы двухфакторной аутентификации. Например, часто встречается такая схема работы: веб-сайт предлагает вам отсканировать QR-код с помощью приложения вроде Google Authenticator, установленного на телефоне, генерирующего 6-значные коды. Работа этого механизма основана на том, что у сервера и у приложения имеется один и тот же секретный ключ. Телефон генерирует коды, основываясь на этом ключе и на текущей отметке времени. Такие же коды генерирует и сервер. Когда серверу предоставляют код, созданный в приложении, он проверяет, совпадает ли он с кодом, который сгенерировал он.

Шестизначный код, сгенерированный приложением

Ещё один способ двухфакторной аутентификации основан на SMS-сообщениях. Он, правда, считается небезопасным. В данном случае сервер генерирует код и отправляет его на телефон в SMS-сообщении. Причина, по которой этот механизм считается небезопасным, заключается в том, что существует атака, известная как «SIM-джекинг», в ходе проведения которой некто обманом переносит интересующий его номер на новую SIM-карту, что приводит к тому, что он начинает получать SMS-сообщения, адресованные первоначальному владельцу номера.

SMS-сообщение с кодом

Ключи YubiKey — это маленькие устройства, подключаемые к USB-портам компьютеров и эмулирующие клавиатуру. Когда нажимают кнопку YubiKey (или, скорее, касаются её), устройство генерирует одноразовый пароль (One-Time password, OTP), который может быть проверен специальным сервером. На устройстве имеется секретный ключ, используемый для подписывания информации, но этот ключ никогда не выходит за пределы устройства, так как он сохранён в особом окружении, защищённом от несанкционированного доступа.

Мой YubiKey рассчитан на постоянное подключение к USB-порту. Поэтому я, когда, например, беру ноутбук с рабочего стола и переношу его в конференц-зал, забираю с собой и YubiKey. Но теперь мой ноутбук, как и ноутбуки многих «новообращённых» удалённых работников, никогда не покидает мой рабочий стол. Я подключил его к внешнему монитору, а чтобы сэкономить на столе немного места, я установил его вертикально, в сложенном состоянии, на специальной стойке.

Это усложнило задачу активации YubiKey. Особенно — если ноутбук находится далеко от внешней клавиатуры и мыши. Я решил эту проблему, купив USB-C-удлинитель, благодаря которому смог разместить YubiKey поближе к клавиатуре.

Да, я ещё не рассказал об одной особенности YubiKey 5C Nano. Дело в том, что кнопку устройства довольно тяжело «нажимать», и это — даже если не учитывать проблему большого расстояния до ключа. Область устройства, которой надо коснуться для активации ключа, очень мала.

На то, чтобы ключ нельзя было бы активировать программно, было потрачено много сил и времени.

Прежде чем мы пойдём дальше, мне хотелось бы остановиться на причинах подобного состояния дел. Если хакер сможет взломать компьютер и сумеет программно активировать YubiKey, это полностью лишит смысла использование данного ключа. Но я полагаю, что мы всегда идём на компромиссы между безопасностью и удобством. Например, часто бывает так, что YubiKey-пароль не нужно вводить каждый раз, подключаясь к некоей системе. Некоторые системы, после ввода такого пароля, позволяют, при следующих входах в них, некоторое время не вводить его снова. Или, например, когда система с двухфакторной аутентификацией выдаёт вам резервные коды доступа — часто ли вы их распечатываете на принтере и убираете в надёжное место? Каждый сам для себя находит устраивающий его баланс безопасности и удобства.

Учитывая вышесказанное, давайте поговорим о том, как можно программно активировать YubiKey.

Я называю этот механизм The Finger

Аппаратная часть системы

Для начала нам нужен какой-то способ для организации взаимодействия компьютера и The Finger. У меня есть куча макетных плат IZOKEE D1 Mini, которые представляют собой уменьшенную версию плат, использующих знаменитый чип ESP8266, применяемый во многих IoT-устройствах.

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что это

Плата с чипом ESP8266

Этот модуль можно подключить к ноутбуку по USB, но так как он поддерживает WiFi, на нём можно просто запустить веб-сервер и отправлять ему команды по беспроводной сети.

Далее, нам нужно нечто, способное перемещать The Finger в направлении YubiKey. После непродолжительных поисков в интернете я узнал о том, что с платой D1 Mini хорошо стыкуется шаговый двигатель 28BYJ-48.

Шаговый двигатель преобразует электрические импульсы во вращательные движения, у D1 Mini есть пины, способные выдавать подобные импульсы.

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что это

Схема работы двигателя

Но шаговый двигатель имеет вращающийся якорь, а нам нужно перемещать движущуюся часть The Finger по прямой. Я поискал по слову 28BYJ-48 на Thingiverse и обнаружил соответствующий механизм.

Механизм для преобразования вращательного движения в прямолинейное

Тут к двигателю крепится шестерня, которая перемещает вперёд-назад длинный стержень с зубцами. А если мы собираемся перемещать в направлении YubiKey длинную пластиковую штуковину, то она вполне может выглядеть как обычный палец. Я опять пошёл на Thingiverse, поискал там по слову «finger» и нашёл модель пальца, которую кто-то сделал для Хэллоуина.

Я открыл файлы моделей в Fusion 360, и, пользуясь продвинутыми CAD-инструментами, сделал то, модель чего показана ниже.

Результат объединения моделей пальца и стержня

Потом я экспортировал модель в формат STL и напечатал её на 3D-принтере. В тот момент в принтер был заряжен пластик Prusament PLA Lipstick Red. Он и пошёл в дело. Когда пластиковый палец был готов, я взял его и коснулся им сенсора YubiKey. Ничего не произошло. Тогда я нашёл у себя на столе металлический винт и коснулся YubiKey на этот раз им. Ключ мгновенно выдал одноразовый пароль. Я прикрепил пластиковый палец к столу струбциной, просверлил в нём небольшое отверстие и вкрутил туда винт. Потом я коснулся сенсора винтом, вкрученным в пластиковый палец, но на этот раз устройство снова не отреагировало на прикосновение.

Обработка пластиковой модели

Именно тогда я понял, что я — идиот, и что когда я касался YubiKey металлическим винтом, металл просто передавал электрический заряд с моего тела на ёмкостный датчик касания YubiKey. Как же мне обмануть датчик и заставить его поверить в то, что пластиковая модель — это настоящий палец?

Я предположил, что принцип работы ёмкостных датчиков заключается в том, что они измеряют ёмкость человеческого тела по отношению к «земле». Поэтому, если подключить датчик прямо к «земле», то он решит, что тело коснувшегося его человека просто является очень хорошим проводником. Поэтому я взял изолированный провод, немного открутил винт, обмотал концом провода винт и опять его закрутил. Потом я подключил другой конец провода к выходу GND платы D1 Mini и снова коснулся YubiKey. На этот раз всё заработало!

К плате управления двигателем уже были подключены выходы 5V и GND платы D1 Mini. Поэтому я подумал, что мне может понадобиться подключить к GND и плату управления двигателем, и винт. Но неожиданно для себя я понял, что могу просто воткнуть другой конец провода, идущего от винта, между и металлическим корпусом двигателя (по-видимому — заземлённым) и пластиковой стенкой отсека для двигателя. И так всё тоже работало!

Провод, соединяющий корпус двигателя и винт, вкрученный в пластиковый палец

После того, как я убедился в том, что The Finger способен активировать YubiKey, я начал думать о том, как закрепить YubiKey рядом с пластиковым пальцем. Этот вопрос я решил, измерив цифровым штангенциркулем размеры USB-C-удлинителя и создав держатель для двигателя, пальца и удлинителя с YubiKey в Fusion 360.

Удлинитель входит в отверстие держателя, расположенное слева, а двигатель монтируется справа.

На этом этапе работы мне понадобилось подключить плату управления двигателем к D1 Mini. Это можно сделать, припаяв несколько выводов к D1 Mini и подключив к ним соединительные провода Dupont, идущие к плате двигателя.

Подключение платы управления двигателем к плате D1 Mini

В следующей таблице показана схема подключения платы управления двигателем к плате D1 Mini.

D1 MiniПлата управления 28BYJ-48
5V5V
GNDGND
D1IN1
D2IN2
D3IN3
D4IN4

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

Программная часть системы

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

Потом я обнаружил этот скетч, демонстрирующий пример управления шаговым двигателем 28BYJ-48 по WiFi.

Вот та часть кода, которая отвечает за управление двигателем:

Вот как всё это устроено. Веб-сервер выдаёт страницу с двумя кнопками. Одна из них, CCW, включает вращение вала двигателя против часовой стрелки, другая, CW — включает вращение по часовой стрелке. Если нажимают кнопку CCW, значение переменной dirStatus меняется на 1, если нажимают кнопку CW — значение этой переменной меняется на 2. Повторные нажатия на уже нажатые кнопки переводит переменную dirStatus в значение 3 и двигатель выключается.

Нам нужна единственная HTTP-конечная точка, которая позволит запустить вращение вала двигателя против часовой стрелки, выполняемое до тех пор, пока пластиковый палец не коснётся YubiKey. После этого двигатель должен вращаться в обратном направлении до тех пор, пока палец не примет исходную позицию. Потом двигатель выключается.

Она включит вращение вала двигателя против часовой стрелки при обращении к конечной точке.

Запуск The Finger

Нажимать на сенсорную кнопку YubiKey не так уж и удобно, а вот нажатие на клавишу механической клавиатуры — это уже совсем другое дело. Я полагал, что будет очень здорово, если я смогу активировать YubiKey с клавиатуры.

Настроить клавиатуру мне помогла программа Karabiner-Elements. Эта программа, как и аппаратная часть моего проекта, немного напоминает машину Голдберга.

Потом я перешёл на её вкладку Misc и щёлкнул по кнопке Open config folder (

/bin/yubikey.scpt можно написать Applescript-код, вызывающий shell-скрипт:

/bin/yubikey.sh имеется следующий код:

А вот как выглядит работа готовой системы.

Нажатие на клавишу клавиатуры активирует YubiKey

Я, чтобы проверить работу системы, выполнил тестовый запрос на получение данных с YubiKey, но я могу гарантировать вам то, что The Finger делает своё дело и в ситуации, когда YubiKey нужен в реальных условиях. Вот код, позволяющий самостоятельно выполнить запрос ключа с YubiKey. Может, вам он зачем-то понадобится:

Мы, имея этот shell-скрипт, можем запустить процесс активации YubiKey вообще не нажимая ни на какие кнопки. А именно, в терминале iTerm2 есть возможность, называемая Triggers (триггеры). Она позволяет выполнять какие-то действия, основываясь на анализе текстов в терминале. Можно создать регулярное выражение, которое ожидает появления текста «Yubikey for» и запускает скрипт активации YubiKey. В результате для запуска The Finger не нужно нажимать на особую кнопку.

Итоги

Я показал The Finger одному человеку, а он говорит: «Итак… ты, по сути, сделал кнопку, которую ты нажимаешь для того чтобы нажать другую кнопку? Почему бы просто не нажать нужную кнопку?». Меня этот вопрос немного разозлил. Получается, что тот, кому я показывал проект, ничего не понял. «Неужели не ясно? Это — плохая кнопка. А это — кнопка хорошая. Я хочу нажимать на хорошую кнопку».

Работайте над тем, что для вас важно.

Были ли у вас проекты, которые казались кому-то из окружающих бессмысленными?

Источник

Безопасность Linux с помощью USB-ключа YubiKey

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что это

Сегодня речь пойдет об одном из способов улучшить безопасность в Linux с помощью USB-ключа YubiKey и двухфакторной аутентификации.

Последнее время многое говорится о безопасности системы и эффективном управлении системой. Реализация на практике устройств с двухфакторной аутентификацией (2FA) помогает повысить эту безопасность.

YubiKey

YubiKey — это устройство аутентификации оборудования, которое поддерживает разовые пароли, шифрование и аутентификацию с открытым ключом и протокол Universal 2nd Factor (U2F), являющийся международным стандартом для обеспечения беспроблемной аутентификации. Он позволяет безопасно входить в учетные записи пользователей, предоставляя одноразовые пароли или используя основанную на FIDO пару открытого / частного ключей, созданную устройством.

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

YubiKey реализует основанный на HMAC алгоритм одноразовых паролей (HOTP) и алгоритм одноразовых паролей с временным критерием (TOTP) и определяет себя как клавиатуру, которая предоставляет одноразовые пароли через протокол USB HID. YubiKey NEO и YubiKey 4 включают протоколы вроде OpenPGP card, использующего 2048-битный алгоритм RSA. Он позволяет подписывать, шифровать и дешифровать сообщения, не выдавая частных ключей. Четвертое поколение YubiKey поддерживает OpenPGP с 4096-битными RSA-ключами и поддержкой PKCS#11 смарт-карт PIV — эта функция позволяет подписывать код образов Docker.

Yubico заменили в YubiKey 4 закрытым кодом все компоненты с открытым кодом. Yubico утверждает, что их код подвергся внутреннему и внешнему пересмотру, и их руководитель разместил обоснование этого шага.

Защита USB ключом YubiKey

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

YubiKey можно использовать как отдельное устройство или зарегистрировать его с сервисом пароля YubiKey и компании для обеспечения безопасности управления паролями и автоматического управления сетевыми паролями. YubiKey также можно использовать с Facebook, Google и рядом других провайдеров для обеспечения надежных логинов 2FA ради предотвращения взлома учетной записи. На разных сайтах это реализуется по-разному, но есть масса руководств, объясняющих, как это делается.

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что этоЗащита USB ключом

Более того, если нажать на емкостное устройство, оно сгенерирует исключительно длинный и надежный пароль, именуемый OTP (one time password — разовый пароль) вместо запоминаемого пароля, что значительно затруднит возможность для кого бы то ни было похитить вашу информацию.

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

Для нашего урока мне придется сделать ряд допущений:

Эти действия, если они выполнены неправильно, могут привести к тому, что пользователь временно лишится доступа к своим зашифрованным данным.

Установка YubiKey

Для корректной работы в Linux YubiKey требует дополнительных пакетов. В моем примере будет использоваться Ubuntu 16.04.

Итак, из командного терминала установите эти пакеты:

sudo su ­
apt­get update ­y
apt­get install ­y YubiKey­luks YubiKey­personalization scdaemon
exit

После установки пользователь сможет настроить аппаратный ключ. Важно понять, как работает YubiKey. На устройстве YubiKey есть несколько разъемов-слотов. Каждый слот может содержать определенный ключ/пароль шифрования. Технически слотов несколько, но только два первых официально поддерживают использование паролей. Это отдельно от местоположения хранения SSH.

YubiKey надо настроить для работы с шифрованием LUKS. Сначала подключите YubiKey. Чтобы инициировать использование второго слота с LUKS, запустите следующую команду:

Примите изменения, нажав Y. Прежде чем запускать нижеприведенную команду для настройки YubiKey и LUKS, стоит проверить, что используется должный шифрованный раздел. Это делается обычным просмотром файла /etc/crypttab. Используйте следующую команду для подтверждения диска:

Шифрованный раздел находится в начале первой строки. В моем случае им является /dev/sda5. Если во время установки были выбраны настройки Ubuntu по умолчанию, то раздел sda5 — это всегда шифрованный диск. Последнее, что осталось — обновить систему LUKS для использования слота 7 устройства YubiKey. Добавится второй ключ LUKS, который не будет работать без аппаратного ключа и пароля:

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

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

После перезагрузки пользователь должен вставить YubiKey и ввести вновь созданный пароль LUKS. Если всё нормально, он должен нормально загрузиться.

Если по каким-то причинам это не сработало, можно использовать исходный пароль LUKS. Исходный пароль позднее можно усилить (в противном случае он сводит на нет безопасность, обеспечиваемую YubiKey).

Безопасность ключей с помощью YubiKey

Пора рассмотреть использование YubiKey для обеспечения безопасности частных ключей пользователей. Если у пользователя несколько компьютеров с Linux, на которые он заходит по паролю, то он неправ. А вот вход с помощью ключей SSH затрудняет незаконный доступ к процессу входа в систему, который становится более сложным.

Вход в систему через ключи SSH осуществляется посредством создания двух ключей: частного (закрытого, приватного) ключа и открытого(публичного)ключа.Открытый ключ загружается на компьютеры для администрирования, а частный ключ надежно хранится на YubiKey и защищается паролем.

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

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

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

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

Создание мастер-ключа

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

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

Мастер-ключ создается командой:

Вместе с ним создадутся файлы и папки связки ключей, если их не существовало. Поскольку наша статья использует это исключительно ради примера настройки, мы можем использовать то, что предложено по умолчанию. Но в среде live, по очевидным причинам, такого делать не рекомендуется. Для данного ключа подойдет опция 4: Только подпись RSA.

Когда будут приняты первые вопросы о длине ключа и сроке его действия (по умолчанию), приложение спросит у вас имя и адрес электронной почты для уникальной идентификации ключа. Для целей нашего урока введите свое имя и адрес электронной почты. Комментарии опциональны. Когда вы подтвердите правильность информации, нажмите O для создания ключа. Система также попросит вас ввести пароль — он предотвратит применение ключа, если ключ похитят.

Система выдаст немало текста, но нас интересует открытый ключ. ID ключа находится справа от rsa2046/.

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что этоЗащита USB ключом. Готовая настройка ключа, где показан вывод от ключа

Как вы можете видеть, у созданного ключа имеется надпись rsa2046/xxxxxx, где x — длинное число. Это идентификатор ключа. Поскольку наш урок будет использовать этот ключ несколько раз, ваша жизнь упростится, если вы дадите ему имя. Это уменьшит операции по копированию и вставке и количество потенциальных опечаток в цифрах. В терминале введите

export KEYID=ID вашего ключа

Создание ключа отмены

Следующий важный шаг — создание ключа отмены [revocation key]. С ним можно отозвать любой ключ, который был потерян, украден или скомпрометирован. Экспортированный ключ не стоит хранить на локальном устройстве, лучше на флэшке в надежном месте. Чтобы создать файл отмены, сделайте следующее, изменяя местоположения для пользователей USB-флэшки:

Как и при создании оригинала ключа, процесс задаст вам несколько вопросов. На вопрос о причине отмены можно указать “0”. Помимо всего прочего, вас спросят пароль для мастер-ключа и новый пароль для ключа отмены.

Следующий шаг — экспортировать “secretkeys [секретные ключи]”. Пусть вас не вводит в заблуждение терминология. «Секретные ключи» означает «частный ключ». Это у него название такое! Чтобы экспортировать свой ключ на USB-брелок, используйте приведенную ниже команду, при необходимости заменив местоположение:

После настройки основных ключей надо создать подключи. Здесь мы создаем подключ для подписания. Обратите внимание на параметр —expert. Он включает несколько нужных нам опций:

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что этоЗащита USB ключом. Создание подключей, с расширенными опциями

Для добавления ключа используйте команду addkey. Выберите опцию 4 (RSA Sign only). Опять примите настройки по умолчанию и новый пароль. Обратите внимание, что внизу появилась новая запись, и ее использование помечено “S”. Это означает, что ключ служит только для подписания.

Процесс повторяется для создания ключа шифрования. Предполагая, что пользователь всё еще находится в приложении gpg2, введите addkey. Выберите опцию для RSA Encrypt only [Только шифрование]. Примените настройки по умолчанию, как в предыдущих итерациях. В конечном итоге у вас должен быть новый ключ, отмеченный E (от Encryption).

Последний ключ, который нужно создать — ключ авторизации. Это ключ, который используется для входа в систему, а не для подписания, отмены и т. д. Снова запустите команду addkey. Однако на сей раз нам надо выбрать RSA (Set your own capabilities) [задайте свои полномочия]. Причина в том, что нам надо изменить способ использования, чтобы это был ключ авторизации. Если это не появилось, значит, вы не включили режим эксперта!

В ключе авторизации полномочия ключа нужно установить на Authorize [Авторизацию]. Разрешенные действия можно включать/отключать клавишами S, E или A. Переключайтесь по необходимости, пока не появится Authenticate. Нажмите G, чтобы завершить настройку. Примите настройки по умолчанию. Будем надеяться, что появятся четыре ключа: SC, S, E и A. Сохраните всю работу, введя save [сохранить]. Пользователь будет переведен в командную строку. После завершения должен появиться еще один подключ с пометкой “usage A”. Теперь надо сохранить всю эту настройку. Сохраните ее на диске, введя save. Пользователь снова окажется в командной строке Linux.

Теперь экспортируйте ключи и подключите частные ключи:

Далее надо экспортировать ключи SSH. В gpg2 есть инструмент для экспорта частного и открытого ключей SSH из ключей OpenGPG:

В этот момент можно установить YubiKey. Чтобы проверить, распознается ли карта, используйте команду

Если всё прошло нормально, выведется информация, относящаяся к рассматриваемому YubiKey. В нашем контексте мы можем проигнорировать большую часть записей. Единственные пункты, которые я бы предложил вам изменить — это вывод пользователя и администратора. Для этого надо перевести ключ в режим администратора. С этой целью введите admin и затем passwd. Вывод для пользователя по умолчанию ‘123456′, а для администратора — ‘12345678′. Переделайте их, выбрав какое-нибудь подходящее число и изменив контакты. Не забудьте сохранить информацию, прежде чем выйдете.

Загрузка на YubiKey

Следующая задача — загрузить ранее созданные ключи авторизации, шифрования и подписания на YubiKey. Это делается командой keytocard. Этот шаг придется повторить несколько раз, для каждого ключа, пока не будут загружены ключ подписания, ключ шифрования и ключ аутентификации:

В этот момент пользователю надо выбрать соответствующий ключ. Введите key 1. Будет выбран ключ 1 в YubiKey. Для перемещения частного ключа на карту ключей введите keytocard, чтобы активировать перенос локальных ключей на YubiKey. У вас спросят, куда сохранять ключ на слотах YubiKeys для частных ключей. Выберите Signature key [Ключ подписания]. Снова введите key 1, и это отменит выбор ключа. Выбранный ключ обозначается знаком ‘*’ около подключа.

Повторите keytocard, используя key 2, и в ответ на keytocard выберите 2. Снова повторите с key 3 и выбором 3 (он должен быть единственным доступным). Теперь все ключи скопированы на карту. Но они по-прежнему имеются на компьютере! Лучше всего удалить ключи подписания root (здесь позвольте мне еще раз повторить, что удалить эти ключи можно только по завершении резервного копирования, когда у вас будет надежная копия):

Программа gpg2 несколько раз попросит вас подтвердить, что вы на самом деле, действительно хотите удалить мастер-ключ. По завершении проверьте статус ключей YubiKey:

Теперь рядом с ключом безопасности должен быть знак ‘#’. Он дает пользователю знать, что этого ключа не существует на устройстве. А ‘>’ на подключах означает, что ключ находится на карте. Теперь, поскольку мы удалили мастер-ключ, можно импортировать оставшиеся части ключей. На отдельном компьютере, чтобы настроить устройство, запустите команду gpg2, и следом Ctrl + C. Это делается для создания некоторых важных файлов и папок.

По завершении импортируйте открытые ключи:

Дважды проверьте доступность этих ключей с помощью gpg2 —list-secret-keys. Теперь надо выдать доверие новому ключу, поскольку мы лишили его родителя и, следовательно, цепь доверия разорвалась. Чтобы облегчить себе жизнь, используйте export KEYID=the sec# key. Для задания опция доверия [trust] отредактируйте ключ:

Когда вам предложат выбрать уровень доверия, выберите 5 (Доверяю в высшей степени — I trust ultimately). Согласитесь на доверие, нажав Y. Затем выйдите с помощью quit.

Теперь вся настройка для вашего устройства YubiKey выполнена. Последнее, что нам следует сделать —при необходимости включить автоматическую функцию “pass-through [сквозной доступ]” частного ключа. Это делается с помощью двух команд:

Войдите со своим обычным паролем. Ваш открытый ключ скопируется на сервер. На это уйдет буквально секунда.

Будем надеяться, что она вам покажет: открытый ключ в настоящий момент используется. Если вы попробуете еще раз без YubiKey, ничего не выйдет.

usb ключ yubikey что это. Смотреть фото usb ключ yubikey что это. Смотреть картинку usb ключ yubikey что это. Картинка про usb ключ yubikey что это. Фото usb ключ yubikey что этоЗащита USB ключом. LUKS, настроенный на использование YubiKey

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *