Рейтинг:0

Linux: можно ли использовать пару ключей ssh ​​вместо или в дополнение к привилегиям root?

флаг id

Я столкнулся с проблемой защиты встроенной платформы. Все средства защиты ssh были настроены, включая двухфакторную аутентификацию и вход в систему с помощью пар ключей ssh.

Теперь пароли root и пользователя смехотворно легко взломать, все, что вам нужно, это физический доступ к устройству, оставляя все меры и меры предосторожности излишними. Моя идея состоит в том, чтобы усилить корневой доступ с помощью тех же методов, что и ssh (усилить команду sudo и корневой доступ). Однако, хотя это общая проблема для всех встроенных платформ, я не могу найти много информации об этом.

Как мне справиться с этим?

John Mahowald avatar
флаг cn
Ваш вопрос, кажется, имеет небольшую проблему XY. Заголовок посвящен тому, как использовать ключ ssh, связанный с тем, как вы знаете, как защитить ssh, когда вам действительно кажется, что вам нужна защита от физического доступа или, по крайней мере, входа в систему не по ssh.
Whois_me avatar
флаг id
Нет, не совсем. Вопрос остается в силе. Я знаю, что пароль sudo можно легко взломать, я сам сделал это на днях. Поэтому я думаю о некоторой аутентификации на основе пары открытых ключей ssh ​​в дополнение к паролю sudo и root после успешного входа в безопасную оболочку.Большинство администраторов хотят вообще не вводить пароль sudo при входе в систему, но я думаю, что исходная схема аутентификации root немного устарела.
Рейтинг:1
флаг fr

Я не уверен, что именно вы просите, поэтому я предположу, что вы хотите усилить аутентификацию sudo.

Если это так и sudo в вашей системе поддерживает PAM, взгляните на pam_ssh_agent_auth для аутентификации с открытым ключом ssh или на pam_sss_gss (для чего может потребоваться правильная настройка FreeIPA IdM).

Whois_me avatar
флаг id
Спасибо @ Томек. Да, это именно то, что я после. Усиление команды sudo.
Рейтинг:0
флаг cn

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

Усложните задачу злоумышленника, по возможности заменив пароли более надежной проверкой подлинности.

SSH можно настроить для удаления аутентификации по паролю, реализации OpenSSH и dropbear позволяют это сделать.

Проверьте, какие входы возможны локально, а не по сети. Видеовыход с USB-входом может позволить войти в систему tty. Или аппаратное обеспечение может предоставлять последовательную консоль.

В системе Linux с библиотеками PAM аутентификация настраивается с помощью модулей, которые можно комбинировать различными способами.

  • Разрешить вход или sudo U2F с аппаратными аутентификаторами, такими как Yubikey (pam_u2f)

  • Разрешить одноразовый пароль с устройства (pam_google_authenticator или pam_oath)

  • Аутентификация на основе ssh-agent (pam_ssh_agent_auth)

  • Удалите пароли, достаточные для аутентификации

  • Запретить вход в систему с правами root, разрешить доступ с правами root только к сложному для физического доступа последовательному порту (pam_securetty)

  • Если у вас должны быть пароли, установите длинную длину, например 16 символов (pam_pwquality), и поощряйте использование фраз, как в Diceware. Не используйте требования «сложности», они не удобны для пользователя.

Это введение в аутентификацию ОС, а что было раньше? Во время загрузки это пример, когда физический доступ приводит вас.Редактирование команды ядра в grub может дать вам оболочку без учетных данных. Что, хотя и полезно для восстановления потерянных учетных данных, может быть нежелательным. Рассмотрите возможность защиты загрузчика паролем.

Whois_me avatar
флаг id
Спасибо @john или этот ответ. На борту платформы действительно есть возможность зашифровать раздел загрузчика uboot. Это мой следующий шаг, связанный с ужесточением ssh sudo.

Ответить или комментировать

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