Как включить двухфакторный вход в систему по SSH – CloudSavvy IT Shutterstock / TATSIANAMAЕсли вы действительно хотите заблокировать свой облачный сервер, вы можете включить двухфакторную аутентификацию для SSH таким же образом, как вы добавили бы ее в свою учетную запись Gmail, не позволяя никому получить доступ, если они украли ваш закрытый ключ SSH.Это действительно необходимо?По сравнению с наличием двух факторов для электронной почты или учетной записи в Интернете, два фактора для SSH не так полезны. Для чего-то вроде электронной почты причиной сбоя обычно являются схемы сброса пароля, легко взломанные пароли или утечка данных. Действительно, все, что связано с плохими паролями или плохим управлением паролями. Для SSH это не большая проблема. SSH использует очень хорошее шифрование для открытых и закрытых ключей, которые он использует для установления соединений. Если ваш SSH-сервер заблокирован и не разрешает доступ с паролем, никто не сможет войти, если у него нет физического устройства, на котором расположен ключ, и маловероятно, что кто-то будет взламывать ваш SSH-ключ в любое время в этом столетии. Таким образом, в некотором смысле, у вас уже есть два фактора, потому что ваш ключ останется на вашем ноутбуке.Но в некоторых случаях два фактора могут быть хорошим выбором. Если какой-то сумасшедший хакер решит украсть ваш ноутбук с намерением получить вместе с ним ваши SSH-ключи (а не просто продать его в Craigslist, когда они не смогут взломать пароль вашего устройства), наличие двух факторов сделает вас на шаг впереди.Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)Однако более реальная проблема связана с переадресацией агента SSH; При включенной переадресации агентов запросы на ключ для входа на дополнительные серверы перенаправляются обратно на ваше устройство. Это позволяет вам подключаться по SSH к общедоступному серверу и – с этого общедоступного сервера – снова SSH к другому частному серверу в той же сети, предоставляя вам доступ аналогично тому, как будет работать VPN.Проблема, однако, заключается в том, что если общедоступный сервер скомпрометирован, если у вас включена переадресация агента, злоумышленник может действовать как вы, пока вы подключены к общему серверу. Это потенциальное повышение привилегий в зависимости от того, как вы настроили свою сеть. Двухфакторный SSH решил бы эту проблему.Опять же, это очень краевое решение, и оно, вероятно, вызовет больше проблем, чем предотвращает, но если вы серьезно относитесь к блокировке всего, мы покажем вам, как это сделать.Как включить два фактора для SSHДля обработки двухфакторных запросов мы будем использовать подключаемый модуль аутентификации Google (PAM), который работает с Authy и Google Authenticator. Установите его из диспетчера пакетов вашего дистрибутива:sudo apt-get install libpam-google-authenticatorЗатем выполните команду инициализации: google-authenticatorОтветьте да на первый вопрос о том, чтобы токены аутентификации были основаны на времени. Это более безопасно. Ваш терминал будет затем заполнен гигантским QR-кодом, и вам, вероятно, придется немного уменьшить масштаб.Откройте приложение-аутентификатор и отсканируйте код (не снимок экрана). Ваше приложение должно синхронизироваться и начать выводить шестизначные коды, которые меняются каждые 30 секунд.Вы также захотите записать все дополнительные данные, включая секретный ключ и аварийные коды. Они используются для повторного получения доступа к вашему серверу, если вы по какой-либо причине заблокированы, однако следует предупредить, что любые проблемы, связанные с неправильной настройкой, могут по-прежнему оставлять вас заблокированным навсегда. Мы включим два фактора для тестирования, прежде чем сделать его обязательным. На следующие вопросы ответьте на следующие вопросы:Ответьте да, чтобы обновить ваш конфиг, иначе ничего не будет работать.Ответьте да, чтобы запретить многократное использование каждого токена. Они должны истечь, как только они используются.Ответьте нет расширению действительного окна кода, поскольку в этом нет никакого смысла.Ответьте да, чтобы разрешить ограничение скорости, которое блокирует атакующих после трех попыток. Ваши последние три кода будут действительны в течение полутора минут, так что вам не придется беспокоиться о том, чтобы заблокировать себя, будучи слишком медленным.Все ваши настройки сохранены в ~/.google-authenticator, Вы можете скопировать этот файл на дополнительный сервер, чтобы применить ту же конфигурацию; больше не запускайте инструмент инициализации, иначе вам придется связать два отдельных устройства.Настройте SSH для работы с Google PAMОткройте файл конфигурации PAM по адресу /etc/pam.d/sshd в вашем любимом текстовом редакторе и добавьте следующую строку в самом низу:auth required pam_google_authenticator.so nullok nullok Директива означает, что это временно, поэтому два фактора будут необязательными, пока вы не измените это. Оставьте это таким образом для тестирования. Вы также хотите найти строку, которая содержит @include common-authи закомментируйте это с #:# Standard Un*x authentication. #@include common-authЭто отключает аутентификацию на основе пароля, которую вы не хотите.Затем откройте настройки SSH на /etc/ssh/sshd_config, Найти ChallengeResponseAuthentication вариант, и включите его:# Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication yesЭто позволяет использовать 2FA, однако SSH-ключи переопределяют 2FA по умолчанию, поэтому вам придется это исправить, добавив следующую строку в конец sshd_config:AuthenticationMethods publickey,keyboard-interactiveДля этого требуется открытый ключ и «клавиатура-интерактив», которая запрашивает у вас ваш двухфакторный код.SSH теперь настроен, поэтому вы можете перезагрузить sshd чтобы включить эти новые настройки:sudo systemctl restart sshd.serviceЭто не закроет ваше открытое соединение, поэтому вы должны выполнить любое тестирование соединения на отдельной вкладке терминала. Откройте новую вкладку и попробуйте подключиться к вашему серверу. Вы должны увидеть подсказку с запросом кода подтверждения. Введите один с вашего телефона, и если все связано правильно, он должен работать. Если это не так, вы все равно сможете получить доступ к учетной записи, оставив ее пустой.Если все работает правильно, и вы дважды проверили, что нет проблем со входом, вы можете удалить «nullokДиректива в /etc/pam.d/sshd сделать 2FA обязательным. Если вы потеряете доступ, вы все равно сможете войти в систему с помощью кодов чрезвычайной ситуации, которые вы получили при настройке PAM, и секретный ключ должен позволить вам повторно связать приложение TOTP, если по какой-либо причине ваше приложение перестало подключаться.Добавить доступ к учетным записям службЕсли у вас есть учетная запись службы, которая должна получить доступ к вашему серверу (например, rsync), вы должны отключить 2FA для этой учетной записи. Это довольно легко сделать; Во-первых, мы хотим создать новую группу для добавления учетных записей служб:sudo groupadd serviceЗатем добавьте пользователя в эту группу:sudo useradd sudo usermod -a -G service Затем откройте конфигурацию PAM в /etc/pam.d/sshdи добавьте следующую строку:auth [success=done default=ignore] pam_succeed_if.so user ingroup serviceОбратите внимание, что это разрешает доступ к вашему серверу без 2FA, но если пользователь не является пользователем root, это может не иметь большого значения. Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)Навигация по записямНазад Назад9 приложений для чтения книг, которые стоит попробовать – Geek ReviewДалееПродолжить Автоматически перемещать слабые сообщения на другие каналы с помощью ReacjiПохожие записи Что такое наушники с открытой спиной и лучше ли они, чем обычные наушники? – Обзор Geek Как автоматически перевести веб-страницу в Microsoft Edge Что такое LinkedIn Premium и стоит ли это того? Как удаленно играть в настольные ролевые игры, используя Slack Как отключить и удалить iCloud Backup на iPhone и iPad Как вручную переключать AirPods между Mac, iPhone и iPadДобавить комментарий Отменить ответВаш адрес email не будет опубликован. Обязательные поля помечены *Комментарий *Имя *Email * Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев. Δ