Настройка сервера Linux и Windows
ITShaman - Сайт для АЙТИшников!
"Машины должны работать. Люди должны думать."
(девиз компании IBM)

Установка и настройка пароля на менеджер ОС GRUB

В статье рассказано как установить пароль на менеджер загрузки ОС GRUB. Эти действия несомненно повысят общую безопасность Вашей системы. Помогут ограничить доступ к некоторым режимам загрузки операционной системы или ограничить доступ на загрузку системы в целом. Установка пароля дело быстрое и не займет у Вас много времени.

1. Зачем нужен пароль на GRUB?
Наверх


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

Многие дистрибутивы Linux после установки никак не защищают свой менеджер загрузки, а ведь изменив настройки входа можно получить полный доступ к системе, сменить все пароли и натворить еще много разных пакостей. По всем этим причинам следует самостоятельно принять меры по защите своей операционной системы на уровне GRUB.

Если Вы все еще сомневаетесь, то предлагаю прочитать статью «Восстановление пароля для root или угроза безопасности из коробки в Linux», в которой детально расписано как легко это сделать.

2. Способы установки пароля на менеджер загрузки ОС GRUB
Наверх


Ниже приведены наиболее эффективные методы защиты менеджера загрузки GRUB. GRUB - это очень мощное средство в руках системного администратора, имеющее очень много параметров конфигурирования.

Редактировать будем конфигурационный файл /boot/grub/menu.lst. В некоторых дистрибутивах это /boot/grub/grub.conf.

Пароль в конфигурационный файл можно внести либо открытым текстом, либо его хеш-образ, полученный с помощью алгоритма MD5. Проще говоря, в GRUB можно задать пароль явным образом, то есть написать его как есть или же зашифровать его отображение. Ниже, для примера, приведен пароль сначала открытым текстом, а потом его хеш-образ:

password secretnoe_slovo password $1$GtD63/$3aUy5vj.INHE4J6UBk/u40

Эти две строчки, по сути, являются одним и тем же паролем.

Для защиты меню GRUB безопаснее использовать хеш-образ пароля, так как его невозможно прочесть в конфигурационном файле GRUB.

2.1. Пароль на редактирование конфигурации GRUB

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

  1. Создаем резервную копию конфигурационного файла /boot/grub/menu.lst, чтобы в случае ЧП восстановить все в первоначальное положение:
    # sudo cp /boot/grub/menu.lst /boot/grub/menu.bak
  2. Получаем хеш-функцию пароля.
    # grub
    # Входим в командную строку менеджера загрузки GRUB
    # md5crypt
    # Создаем хеш-образ пароля.
    Результат:
    grub> md5crypt

    Password: **********
    Encrypted: $1$GtD63/$3aUy5vj.INHE4J6UBk/u40

    Строчка $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 является хеш-образ введенного Вами пароля. Сочетание клавиш <Ctrl>+<С> позволяют выйти из командной строки GRUB.

  3. Редактируем конфигурационный файл GRUB.
    # sudo nano /boot/grub/menu.lst
    # Открываем конфиг GRUB
    В начале файла, после строки с параметром timeout, добавляем:
    password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40
    В результате:
    ...
    ## timeout sec
    # Set a timeout, in SEC seconds, before automatically booting the default entry
    # (normally the first entry defined).
    timeout 10
    password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40
  4. Сохраняем внесенные изменения. После перезагрузки компьютера в меню GRUB, отредактировать любой пункт меню без ввода пароля уже не получится. Чтобы ввести пароль, требуется нажать <p>.

2.2. Пароль на запуск пункта в GRUB

Этот способ поможет ограничить загрузку выбранных пунктов меню GRUB. Можно, к примеру, поставить пароль на загрузку системы в режиме recovery mode, который присутствует в семействе ОС *buntu и других дистрибутивах.

  1. Создаем резервную копию конфигурационного файла /boot/grub/menu.lst, чтобы в случае ЧП восстановить все в первоначальное положение:
    # sudo cp /boot/grub/menu.lst /boot/grub/menu.bak
  2. Получаем хеш-функцию пароля.
    # grub
    # Входим в командную строку менеджера загрузки GRUB
    # md5crypt
    # Создаем хеш-образ пароля.
    Результат:
    grub> md5crypt

    Password: **********
    Encrypted: $1$GtD63/$3aUy5vj.INHE4J6UBk/u40

    Строчка $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 является хеш-образ введенного Вами пароля. Сочетание клавиш <Ctrl>+<С> позволяют выйти из командной строки GRUB.

  3. Редактируем конфигурационный файл GRUB.
    # sudo nano /boot/grub/menu.lst
    # Открываем конфиг GRUB

    В конце конфигурационного файла находятся параметры запуска отображаемых пунктов меню GRUB. К параметрам пункта меню, требующего защиты, после строчки с со словом title, добавляем строку:

    password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40

    К примеру, добавляем строку в пункт загрузки системы в режиме recovery mode:
    title Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
    password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40
    uuid 03d11ea5-2b80-4a5e-ba09-cd6909425070
    kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=03d11ea5-2b80-4a5e-ba$
    initrd /boot/initrd.img-2.6.28-11-generic
  4. Сохраняем внесенные изменения. После перезагрузки компьютера в меню GRUB, загрузить этот пункт меню без ввода пароля уже не получится. Чтобы ввести пароль, требуется нажать <p>.

2.3. Скрыть некоторые пункты меня загрузки GRUB
Наверх

В GRUB можно скрыть некоторые пункты меню, которые будут видны только после ввода пароля. К примеру, можно скрыть recovery mode вашей операционной системы.

Для этого нужно сделать два конфигурационных файла. В первом файле будут находится «открытые» пункты меню, загружаемые сразу при старте GRUB, а во втором пункты меню, которые нужно показать только после ввода пароля - «скрытые».

  1. Создаем резервную копию конфигурационного файла /boot/grub/menu.lst, чтобы в случае ЧП восстановить все в первоначальное положение:
    # sudo cp /boot/grub/menu.lst /boot/grub/menu.bak
  2. Получаем хеш-функцию пароля.
    # grub
    # Входим в командную строку менеджера загрузки GRUB
    # md5crypt
    # Создаем хеш-образ пароля.
    Результат:
    grub> md5crypt

    Password: **********
    Encrypted: $1$GtD63/$3aUy5vj.INHE4J6UBk/u40

    Строчка $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 является хеш-образ введенного Вами пароля. Сочетание клавиш <Ctrl>+<С> позволяют выйти из командной строки GRUB.

  3. Создаем второй конфигурационный файл, меню которого будет содержать скрытые пункты:
    # sudo cp /boot/grub/menu.lst /boot/grub/menu_hidden.lst
    Для облегчения настройки второй файл создаем простым копированием первого с последующим редактированием обоих.
  4. Редактируем первый конфигурационный файл:
    # sudo nano /boot/grub/menu.lst
  5. В начале файла, после строки с параметром timeout, добавляем:
    password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 /boot/grub/menu_hidden.lst
    Результат должен быть такой:
    ...
    ## timeout sec
    # Set a timeout, in SEC seconds, before automatically booting the default entry
    # (normally the first entry defined).
    timeout 10
    password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 /boot/grub/menu_hidden.lst
    Эта строчка показывает системе, что после ввода пароля должен открыться другой файл - /boot/grub/menu_hidden.lst.
  6. В конце файла добавляем или удаляем пункты меню GRUB, которые должны быть видны или не видны в начале загрузки (в первом меню).

    К примеру, чтобы скрыть режим recovery mode, нужно закомментировать или удалить строки файла, содержащие команды загрузки этого режима:

    title Ubuntu 9.04, kernel 2.6.28-11-generic
    uuid 3d11ea5-2b80-4a5e-ba09-cd6909425070
    kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=03d11ea5-2b80-4a5e-ba$
    initrd /boot/initrd.img-2.6.28-11-generic
    quiet

    title Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
    uuid 03d11ea5-2b80-4a5e-ba09-cd6909425070
    kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=03d11ea5-2b80-4a5e-ba$
    initrd /boot/initrd.img-2.6.28-11-generic


    title Windows Vista (loader)
    rootnoverify (hd0,0)
    savedefault
    makeactive
    chainloader +1
  7. Закрываем файл, сохраняя все изменения.
  8. Открываем второй файл для редактирования:
    # sudo nano /boot/grub/menu_hidden.lst
  9. Добавляем или удаляем пункты меню GRUB, которые должны быть видны или не видны после ввода пароля во втором меню.

    В нашем примере, во втором меню должен присутствовать только режим загрузки системы recovery mode, поэтому комментируем или удаляем все остальные пункты:

    title Ubuntu 9.04, kernel 2.6.28-11-generic
    uuid 3d11ea5-2b80-4a5e-ba09-cd6909425070
    kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=03d11ea5-2b80-4a5e-ba$
    initrd /boot/initrd.img-2.6.28-11-generic

    quiet

    title Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
    uuid 03d11ea5-2b80-4a5e-ba09-cd6909425070
    kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=03d11ea5-2b80-4a5e-ba$
    initrd /boot/initrd.img-2.6.28-11-generic

    title Windows Vista (loader)
    rootnoverify (hd0,0)
    savedefault
    makeactive
    chainloader +1
  10. Сохраняем внесенные изменения. После перезагрузки компьютера попадаем в меню, где представлены только выбранные пункты меню. После набора пароля открывается второе меню со скрытыми пунктами. Чтобы ввести пароль, требуется нажать <p>.

3. Заключение
Наверх


В качестве заключения хотелось бы добавить, что принцип защиты информации: «Что не разрешено, то запрещено» должен подразумевать:

Статья опубликована 31.05.2009 · Автор статьи: Зюзгин Иван
Статья относится к linux, ubuntu, debian, grub, пароль, безопасность
Случайные 7 статей:
  1. Где взять Ammy Admin для linux?
  2. Список радиостанций для Rhythmbox
  3. Как установить принтер Canon LBP-2900 в Linux Ubuntu?
  4. Запуск торгового терминала MetaTrader 4 в Linux
  5. Эквалайзер для Rhythmbox
  6. Как сделать загрузочную флешку из ISO-образа ОС
  7. Основные команды Linux - Справочник команд Линукс
Комментарии [18]
  1. Zhmoskin #
    3 Июнь, 16:51

    Сайт пистатый)

  2. blacksun #
    22 Июль, 02:49

    +1

  3. Mut@NT #
    22 Июль, 20:47

    >Zhmoskin
    Спасибо!

    >blacksun
    Спасибо!

  4. Gagarin #
    21 Ноябрь, 04:52

    После обновления ядра, я так понимаю, появится пункт recovery mode этой версии ядра, соответственно опять надо будет его ручками запоролить?

  5. Mut@NT #
    21 Ноябрь, 05:30

    да

  6. Krab #
    4 Март, 03:11

    Сайт очень полезный, многие статьи прогодились когда начинал работать в Debian‘е и сейчас пригождаются!!!:)
    Спасибо Mut@NT‘у за статьи!

  7. Mut@NT #
    4 Март, 05:54

    Krab: Сайт очень полезный, многие статьи прогодились когда начинал работать в Debian‘е и сейчас пригождаются!!!:) Спасибо Mut@NT‘у за статьи!

    Очень рад слышать, что труд не напрасный. Спасибо!

  8. IDDQD #
    25 Апрель, 11:39

    невероятно полезный сайт. Спасибо автору.

  9. Win #
    30 Июль, 02:58

    Спасибо давно искал…

  10. KuL*I*Bin #
    20 Август, 17:25

    Спасибо Огромное Создателю сайта!
    Много интересного, и в одном месте – это проста Находка!))

    …ток-ща набрел на этот интересный сайт с бубунтового форума…

  11. Ai #
    15 Октябрь, 13:26

    Ждем статью GRUB2: Установка и настройка пароля на менеджер ОС GRUB2

  12. mexx #
    25 Октябрь, 05:25

    Про GRUB2 действительно хотелось бы почитать, ибо GRUB уже не так актуален… А автору сайта – респект!

  13. mexx2 #
    31 Октябрь, 04:33

    А будет ли статья про GRUB2?

  14. Mut@NT #
    31 Октябрь, 13:03

    Ai: Ждем статью GRUB2: Установка и настройка пароля на менеджер ОС GRUB2

    mexx: Про GRUB2 действительно хотелось бы почитать, ибо GRUB уже не так актуален… А автору сайта – респект!

    mexx2: А будет ли статья про GRUB2?

    Да обязательно будет

  15. Igor' #
    17 Ноябрь, 07:28

    Mut@NT: Mut@NT
    31 Октябрь, 16:03 # (Комментарий автора)

    Ai: Ждем статью GRUB2: Установка и настройка пароля на менеджер ОС GRUB2

    mexx: Про GRUB2 действительно хотелось бы почитать, ибо GRUB уже не так актуален… А автору сайта – респект!

    mexx2: А будет ли статья про GRUB2?

    Да обязательно будет

    А когда?

  16. Владимир #
    24 Февраль, 00:42

    Спасибо за статью! Все понято и у меня быстро получилось воплотить это в жизнь!Про GRUB2 было бы тоже интересно почитать.

  17. Ваня #
    5 Июнь, 23:43

    Не православно выходить из командной строки GRUB по Ctrl+C
    у груба есть команда quit, которая прекрасно справляется с этой функцией

  18. Anonymous #
    29 Сентябрь, 12:02

    Благодарю, очень полезный материал.

Имя (обязательное поле)
e-mail (обязательное поле) Сайт
Текст комментария:
IT-новости
Популярное
Облако тегов
При цитировании документа активная ссылка на сайт обязательна.
Администрирование и настройка серверов, рабочих станций на базе ОС Linux и Windows. www.itshaman.ru - Настройка Linux и Windows © 2009 - 2016