Если вы считаете, что аутентификация на основе пароля и двухфакторная аутентификация ненадежны, рассмотрите возможность настройки аппаратной аутентификации в Linux с помощью YubiKey.
Вы не одиноки, если беспокоитесь о постоянно растущей угрозе взлома. Хотя подсказок аутентификации и двухфакторной аутентификации достаточно, чтобы защититься от большинства потенциальных хакеров, тысячи взломов по-прежнему успешны каждый день.
Одним из наиболее часто рекламируемых решений проблемы аутентификации является YubiKey. Но что такое YubiKey и как работает аппаратная аутентификация? Можете ли вы защитить свой ПК с Linux с помощью YubiKey?
Зачем использовать YubiKey для аппаратной аутентификации?
Существует множество различных типов аутентификации, включая пароли, SMS-аутентификацию и даже приложения для аутентификации, которые вы можете использовать на своем телефоне. Одним из менее распространенных типов является аппаратная аутентификация, которая включает использование небольшого подключаемого устройства для отправки токена аутентификации при появлении запроса.
YubiKeys и другие аппаратные устройства аутентификации имеют несколько преимуществ перед другими аутентификаторами. Их проще использовать, они намного надежнее, и их практически невозможно скомпрометировать без доступа к самому физическому ключу YubiKey.
Начало работы с ЮбиКей
Вы можете начать с YubiKey всего за несколько простых шагов. В качестве первого шага вы должны использовать викторину, сделанную Юбико чтобы купить лучший YubiKey для вашего устройства. Получив YubiKey под рукой, вы можете использовать его в качестве устройства аутентификации для веб-сайтов и приложений.
Вы даже можете использовать его для аутентификации sudo и SSH на вашем компьютере с Linux. Мы объясним все, что вам нужно знать о выборе sudo/SSH-совместимого YubiKey и его настройке для аутентификации.
Выбор правильного YubiKey для вашей системы
Если вы хотите использовать свой YubiKey для аутентификации на вашем компьютере с Linux, есть несколько ключей YubiKey, которые выделяются как превосходные варианты. YubiKey 5 и YubiKey 5 NFC — это классические устройства, которые хорошо работают с системами с USB-A и USB-C соответственно.
Если вы хотите использовать YubiKey с компьютером Linux и телефоном Android, вам следует подумать о YubiKey 5c NFC. Если у вас есть компьютер с Linux и iPhone, вам следует рассмотреть YubiKey 5ci, поскольку он поддерживает USB-C и молнию.
Важно отметить, что серия YubiHSM несовместима с аутентификацией sudo. Устаревшие ключи YubiKey могут быть совместимы или несовместимы с аутентификацией sudo/SSH в зависимости от их конкретных функций.
Прежде чем начать аутентификацию sudo или SSH, вы должны установить YubiKey PPA. Откройте терминал и введите следующие команды, чтобы обновить пакеты и установить YubiKey Authenticator и YubiKey Manager:
sudo add-apt-repository ppa: yubico/стабильный
sudo apt-получить обновление
sudo apt установить yubikey-manager libpam-yubico libpam-u2f
Далее вам нужно убедиться, что ваша система готова к работе с вашим YubiKey. Выполните следующую команду в терминале, чтобы проверить версию udev:
судо udevadm --версия
Терминал вернет число. Если число 244 или выше, ваша система совместима с YubiKey. В этом случае вы можете пропустить следующий шаг.
В противном случае вам потребуется настроить систему. Вы должны использовать следующие команды, чтобы проверить, установлен ли udev на вашем компьютере, и установить его, если это не так:
dpkg -s libu2f-udev
sudo apt установить libu2f-udev
Затем проверьте, разблокирован ли интерфейс U2F вашего YubiKey. Если у вас есть YubiKey NEO или YubiKey NEO-n, вставьте свой YubiKey, откройте YubiKey Manager и перейдите к Интерфейсы. Включить U2F-интерфейс и нажмите Сохранять.
Настройте YubiKey для аутентификации sudo в Linux
sudo — одна из самых опасных команд в среде Linux. В умелых руках он обеспечивает впечатляющий уровень доступа, достаточный для выполнения большинства задач. В чужих руках доступ на уровне root, который предоставляет sudo, может позволить злоумышленникам использовать или уничтожить систему.
YubiKey отлично подходят для аутентификации sudo, потому что их аутентификацию практически невозможно воспроизвести без доступа к самому YubiKey. Большинство ключей YubiKey совместимы с аутентификацией sudo, включая серию 5 FIP, серию ключей, серию 4 FIP, серию Bio, серию 5 и серию 4.
В соответствии с Юбико, первый шаг, который необходимо сделать для настройки проверки подлинности sudo, — создать файл правил. Если ваша версия udev 188 или выше, установите новые правила U2F из Гитхаб и скопируйте 70-u2f.rules файл в /etc/udev/rules.d.
Если ваша версия udev ниже 188, установите устаревшие правила U2F из Гитхаб и скопируйте 70-old-u2f.rules файл в /etc/udev/rules.d.
Если ваша версия udev 244 или выше или вы создали необходимые файлы правил, вы готовы связать свой YubiKey со своей учетной записью.
Вставьте YubiKey в свой компьютер, откройте терминал и введите следующие команды, чтобы связать YubiKey с вашей учетной записью:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Подождите несколько секунд, пока индикатор на вашем YubiKey не начнет мигать. Нажмите кнопку на вашем YubiKey, чтобы подтвердить привязку устройства.
Если у вас есть еще один YubiKey, вы должны добавить его в качестве резервного устройства, введя следующую команду и выполнив тот же процесс:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Наконец, вам нужно настроить команду sudo, чтобы она требовала аутентификации YubiKey. Вы должны начать с ввода следующей команды, чтобы открыть файл конфигурации sudo:
судо ви /etc/pam.d/sudo
Когда файл конфигурации открыт, вставьте следующую строку прямо под @include общая аутентификация строка для настройки sudo на требование аутентификации YubiKey:
требуется авторизация pam_u2f.so
Сохраните и выйдите из файла, нажав Побег, ввод :wq, и нажав Входить, но держите терминал открытым. Вы не сможете отменить изменения, внесенные в аутентификацию sudo, если терминал закроется.
Откройте второй терминал и выполните следующую команду с отключенным YubiKey, затем введите свой пароль:
sudo-эхо-тестирование
Процесс аутентификации завершится ошибкой. Вставьте свой YubiKey и повторно введите команду и пароль. Когда индикатор YubiKey начнет мигать, коснитесь кнопки на вашем YubiKey. Он должен аутентифицировать команду. Если это так, ваш YubiKey полностью настроен для аутентификации sudo.
Как настроить YubiKey для аутентификации SSH
Вы также можете использовать свой YubiKey для аутентификации SSH! Несколько серий YubiKey совместимы с SSH, включая серию 5 FIPS, серию 5, серию 4 FIPS и серию 4. Использование YubiKey для аутентификации ваших подключений позволит вам сделать каждый вход SSH намного более безопасным.
Лучший способ настройки YubiKey был описан опытным пользователем на Гитхаб. Вам понадобится SSH 8.2 или новее и YubiKey с прошивкой 5.2.3 или новее. Вы можете проверить свою версию OpenSSH и при необходимости обновить ее с помощью следующих команд:
ssh -V
обновление sudo apt && обновление sudo apt
Затем вам нужно настроить SSH для приема вашего YubiKey. Введите следующую команду, чтобы откройте редактор vi и отредактируйте файл конфигурации:
судо-ви /etc/ssh/sshd_config
Добавьте следующую строку в файл конфигурации, чтобы ваш YubiKey был принят:
PubkeyAcceptedKeyTypes [email protected], [email protected]
Сохраните и выйдите из файла, нажав Побег, ввод :wq, и удар Входить. Наконец, перезапустите службу SSH с помощью следующей команды, чтобы ваша новая конфигурация стала активной:
перезагрузка службы sudo ssh
Наконец, вы готовы создать пару ключей, которую будете использовать для аутентификации SSH. Перейдите в каталог SSH и создайте новый ключ SSH с помощью следующих команд:
компакт-диск домой/имя пользователя/.ssh
ssh-keygen -t ed25519-ск
В папке будут созданы два файла. ~/.ssh/ каталог. Обратите внимание, что вам может понадобиться использовать ecdsa-sk вместо ed25519-ск если ваша система несовместима и терминал сообщает, что регистрация ключа не удалась.
Затем вам нужно добавить открытый ключ на ваш сервер с помощью следующей команды:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub имя пользователя@сервер
Вы также должны добавить себя в файл sudoers, чтобы сохранить разрешения после отключения входа в систему root. Получите доступ к файлу и откройте его с помощью visudo.
Не открывайте файл sudoers в обычном текстовом редакторе.
Под строкой, которая читает корень ВСЕ=(ВСЕ: ВСЕ) ВСЕ, добавьте следующую строку:
имя пользователя ВСЕ=(ВСЕ: ВСЕ) ВСЕ
Открой /etc/ssh/ssd_config файл и добавьте следующие строки, чтобы отключить вход в систему root и вход на основе пароля:
ChallengeResponseAuthentication noPermitRootLogin no
Наконец, введите следующую команду, чтобы загрузить свой ключ в агент SSH на время сеанса:
ssh-добавить ~/.ssh/id_ed25519_sk
Теперь вы можете использовать свой YubiKey для аутентификации SSH. Вам нужно будет вставить YubiKey в компьютер, когда будет предложено, и нажать кнопку, когда индикатор начнет мигать. С этим новым методом аутентификации доступ SSH к вашему удаленному серверу будет значительно более безопасным.
Другие возможные варианты использования YubiKey
Нет никаких реальных ограничений на то, как вы можете использовать YubiKey в своей системе Linux. Если вы хотите сделать свой компьютер более безопасным, рассмотрите возможность использования YubiKey для шифрования диска или шифрования без пароля. Вы даже можете использовать его для подписи электронных писем и файлов, если хотите.
Защитите свою систему Linux с помощью YubiKey
Вам не нужно останавливаться только на использовании YubiKey для аутентификации SSH и sudo. Вы также можете использовать свой YubiKey для аутентификации доступа ко многим вашим учетным записям в Интернете. Самое приятное то, что начать работу с YubiKey 2FA очень просто.