The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка работы шифрованного корневого раздела во FreeBSD
Устанавливаем систему стандартным образом в один минимальный корневой раздел,
для дополнительных разделов
создаем фиктивные точки монтирования. Таблица разделов имеет примерно такой вид:

   ad4s1a / 256M
   ad4s1b swap
   ad4s1d /new-root
   ad4s1e /new-tmp
   ad4s1f /new-var
   ad4s1g /new-usr

Загружаемся в установленную систему.

В /boot/loader.conf добавляем 

   geom_eli_load="YES"

Отмонтируем раздел /new-root, который будет содержать новый шифрованный корень:

   umount /new-root

Инициализируем шифрование будущего корня и форматируем раздел:

   geli init -b -l 256 /dev/ad4s1d
   geli attach /dev/ad4s1d
   newfs -L root /dev/ad4s1d.eli

В  /etc/fstab меняем /dev/ad4s1d на /dev/ad4s1d.eli
Монтируем шифрованный раздел:

   mount /new-root

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

   dd if=/dev/random of=/new-root/ad4s1e.key bs=512 count=1
   dd if=/dev/random of=/new-root/ad4s1f.key bs=512 count=1
   dd if=/dev/random of=/new-root/ad4s1g.key bs=512 count=1

Отключаем активный раздел подкачки и  шифруем его:
   swapoff -a
   geli onetime -l 256 -s 4096 /dev/ad4s1b

В /etc/fstab меняем для раздела подкачки /dev/ad4s1b на /dev/ad4s1b.eli
Активируем раздел подкачки:
   swapon -a

Готовим шифрованные разделы tmp, var и usr:

   umount /new-tmp
   umount /new-var
   umount /new-usr

   geli init -K /new-root/ad4s1e.key -l 256 -P /dev/ad4s1e
   geli init -K /new-root/ad4s1f.key -l 256 -P /dev/ad4s1f
   geli init -K /new-root/ad4s1g.key -l 256 -P /dev/ad4s1g
   geli attach -k /new-root/ad4s1e.key -p /dev/ad4s1e  
   geli attach -k /new-root/ad4s1f.key -p /dev/ad4s1f
   geli attach -k /new-root/ad4s1g.key -p /dev/ad4s1g

   newfs -L tmp /dev/ad4s1e.eli
   newfs -L var /dev/ad4s1f.eli
   newfs -L usr /dev/ad4s1g.eli

Формируем будущий образ иерархии монтирования разделов:

   cd /new-root
   mkdir tmp
   mkdir var
   mkdir usr
   mount /dev/ad4s1e.eli tmp/
   mount /dev/ad4s1f.eli var/
   mount /dev/ad4s1g.eli usr/

Монтируем установочный диск с FreeBSD и копируем с него в новый корень образ базовой системы:
   mount /cdrom
   cd /cdrom/6.2-RELEASE/base
   cat base.?? | tar --unlink -xpzf - -C /new-root/

Другой вариант скопировать уже установленный корень:
   
   tar -cf - / --exclude /new-root | tar -xf - -C /new-root

Подготавливаем новый корень к загрузке:

   mkdir /new-root/mnt/boot
   cp /etc/fstab /new-root/etc/fstab

В /new-root/etc/fstab добавляем разделы для монтирования:

    /dev/ad4s1a /mnt/boot ufs rw 1 1
    /dev/ad4s1e.eli / ufs rw 1 1
    /dev/ad4s1d.eli /tmp ufs rw 1 1
    /dev/ad4s1g.eli /usr ufs rw 1 1
    /dev/ad4s1f.eli /var ufs rw 1 1
 
В /new-root/etc/rc.conf определяем монтирование дополнительных шифрованных разделов:

    geli_devices="ad4s1e ad4s1f ad4s1g"
    geli_ad4s1e_flags="-p -k /ad4s1e.key"
    geli_ad4s1f_flags="-p -k /ad4s1f.key"
    geli_ad4s1g_flags="-p -k /ad4s1g.key"

Из старого корня делаем минимальный загрузочный раздел /mnt/boot, в  /etc/fstab оставляем:

    /dev/ad4s1d.eli / ufs rw 1 1

Перезагружаемся, чистим содержимое /mnt/boot, оставив только /mnt/boot/boot/* и /mnt/boot/etc/fstab
 
29.05.2009 , Источник: http://www.pspro.aphid.net/moin.cgi...
Ключи: crypt, freebsd, mount, disk, ufs, boot, install / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Шифрование, PGP

Обсуждение [ RSS ]
  • 1.1, abigor (?), 07:04, 29/05/2009 [ответить]  []     [к модератору]
  • +/
    кажись уже было здесь
    ----------
    забыли про проблему с usb клавами :)
     
     
  • 2.2, Аноним (-), 07:58, 29/05/2009 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >кажись уже было здесь

    Было для Linux.

     
     
  • 3.4, Аноним (-), 14:22, 29/05/2009 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Велосипедист. Говорят же тебе было - значит было.

    http://www.opennet.me/base/sys/freebsd_geli_root.txt.html

     

  • 1.3, morten (?), 12:11, 29/05/2009 [ответить]  []     [к модератору]
  • +/
    Ужас... Ещё несколько лет назад фря ставилась на шифрованные гелей разделы стандартным инсталлятором. Зачем всё это?!

    А линуксы и подавно без каких-либо телодвижений - всё автоматически...

     
  • 1.5, goshanecr (??), 23:36, 31/05/2009 [ответить]      [к модератору]
  • +/
    А подскажите пожалуйста, в случае применения описанной в этой статье схемы можно ли защититься от монтирования шифрованной ФС с другого компа или другого способа получения доступа к ФС? Ведь если при загрузке корневая фс монтируется, то видимо откуда то берутся эти ключи всё же. В данную проблему не вникал, потому спрашиваю :)
     
  • 1.6, morten (?), 05:20, 01/06/2009 [ответить]      [к модератору]
  • +/
    с ключами на флэшке/cd/dvd защищенность НАМНОГО выше, но и в описанном варианте нужен ещё и пароль для монтирования, так что со сложным паролем тоже всё безопасно.
     
     
  • 2.7, goshanecr (??), 09:09, 01/06/2009 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А как с ключами на внешнем носителе защищённость выше? Ведь изъяли комп сразу видимо с этим носителем если он не убран, и всё. Все данные как на ладони. А пароль в голове и не понятно у кого..
     
     
  • 3.8, Дмитрий Ю. Карпов (?), 18:37, 01/06/2009 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    После того, как компьютер загрузится, носитель с ключами надо убрать. При вторжении врага носитель с ключами вообще уничтожается (при том, что где-то далеко в защищённом месте есть его копия), и тогда люди даже под прессингом не могут выдать врагу пароль.
     
     
  • 4.9, Фкуку (?), 01:00, 25/04/2011 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А лучшее - получать ключи из локальной сети, из незаметной коробочки.
    Которую забудут конфисковать и которую всегда можно разбить :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру