4.2. Защита BIOS и загрузчика системы

Защита паролем BIOS (или аналога) и загрузчика системы может помешать неавторизованным пользователям, имеющим физический доступ к компьютеру, загрузить его со сменного носителя или получить привилегии root в монопольном режиме. Но меры безопасности, принимаемые для защиты от таких атак, должны зависеть от важности информации, хранящейся в компьютере и его расположения.

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

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

4.2.1. Пароли BIOS

Есть две основные причины защищать паролем BIOS компьютера [1]:

  1. Предотвратить изменение настроек BIOS — Если взломщик имеет доступ к BIOS, он может настроить загрузку с дискеты или компакт-диска. Это позволит ему войти в монопольный режим или режим восстановления, после чего он сможет запускать в системе любые процессы или копировать важные данные.

  2. Предотвратить загрузку системы — В некоторых BIOS загрузку системы также можно защитить паролем. Если эта защита включена, взломщику нужно будет ввести пароль, прежде чем BIOS запустит загрузчик системы.

Так как пароль BIOS на компьютерах разных производителей задаётся по-разному, за точными инструкциями обратитесь к руководству по использованию компьютера.

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

4.2.1.1. Защита платформ, отличных от x86

В других архитектурах для выполнения низкоуровневых задач используются свои программы, отдалённо напоминающие BIOS в компьютерах x86. Например, в компьютерах Intel® Itanium™ используется Расширяемый интерфейс микропрограмм (Extensible Firmware Interface — EFI).

За инструкциями по защите паролем BIOS-подобных программ на других платформах обратитесь к документации производителя.

4.2.2. Пароли загрузчика системы

Загрузчик системы Linux обычно защищается паролем по следующим соображениям:

  1. Предотвращение доступа к монопольному режиму — Если взломщику удастся загрузить систему в режиме в монопольном режиме, он автоматически войдёт в систему под именем root, не вводя пароля root.

  2. Предотвращение доступа к консоли GRUB — Если в качестве загрузчика на компьютере используется GRUB, взломщик может воспользоваться редактором GRUB для изменения его настроек или сбора информации с помощью команды cat.

  3. Предотвращение доступа к небезопасным операционным системам — Если на компьютере установлено несколько систем, взломщик сможет выбрать при загрузке другую систему, например, DOS, в которой игнорируются права доступа и разрешения для файлов.

В составе Red Hat Enterprise Linux для платформы x86 поставляется загрузчик GRUB. Более подробно GRUB рассматривается в главе Загрузчик GRUB Справочного руководства Red Hat Enterprise Linux.

4.2.2.1. Защита паролем GRUB

GRUB способен решить первые две задачи из перечисленных в разделе 4.2.2 Пароли загрузчика системы, если вы зададите пароль в его файле конфигурации. Для этого сначала придумайте пароль, затем перейдите в приглашение оболочки под именем root и введите:

/sbin/grub-md5-crypt

Получив приглашение, введите пароль GRUB и нажмите [Enter]. В ответ вы получите MD5-хэш пароля.

Затем отредактируйте файл конфигурации GRUB /boot/grub/grub.conf. Откройте файл и найдите в основном разделе ниже строки timeout следующую строку:

password --md5 <password-hash>

Замените <password-hash> значением, возвращённым командой /sbin/grub-md5-crypt[2].

При следующей загрузке системы меню GRUB не даст вам вызвать редактор или командную строку, если вы не нажмёте сначала [p] и не введёте затем пароль GRUB.

К сожалению, это решение не помешает взломщику в окружении с несколькими системами загрузить небезопасную операционную систему. Чтобы исправить и это, надо изменить другую часть файла /boot/grub/grub.conf.

Найдите строку title небезопасной операционной системы и добавьте прямо под ней строку lock.

Для системы DOS эта строфа примет примерно такой вид:

title DOS
lock

ПредупреждениеПредупреждение
 

Чтобы это работало, необходимо добавить строку password в основной раздел файла /boot/grub/grub.conf. В противном случае взломщик сможет запустить редактор GRUB и удалить строку блокировки.

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

Строфа каждой системы, защищаемой своим паролем, должна начинаться примерно так:

title DOS
lock
password --md5 <password-hash>

Замечания

[1]

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

[2]

GRUB также принимает незашифрованные пароли, но в целях безопасности настоятельно рекомендуется использовать хеширование md5.