Физический доступ не может быть полностью защищен. Достаточно мотивированный человек проведет реинжиниринг системы для получения доступа, вплоть до ее разборки и считывания железа.
Усложните задачу злоумышленника, по возможности заменив пароли более надежной проверкой подлинности.
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 может дать вам оболочку без учетных данных. Что, хотя и полезно для восстановления потерянных учетных данных, может быть нежелательным. Рассмотрите возможность защиты загрузчика паролем.