LINUX.ORG.RU

Объясните новичку как правильно разметить диск для freebsd

 , ,


3

1

Здравствуйте! Для решения поставленных мною задач решил использовать freebsd. Небольшой опыт работы в никсах имею, но во время установки возникли проблемы: что-то не получилось разобраться с разметкой диска в bsdinstall. Может у кого-то есть пошаговая инструкция, как произвести разметку используя bsdinstall или через консоль во время установки или кто-т может доходчиво обьяснить. Также хотелось бы знать, какую именно схему разделов выбрать. Я за хардкорный уровень безопасности, так что желательно некоторые директории вынести на отдельные ФС чтобы задать nosuid, noexec и т.п. Имею три жёстких диска: 1Т, 0.5Т, 10Т. Какие директории стоит вынести на отдельные физические жёсткие диски? Буду использовать только фряху, так что можно использовать «опасный режим», но ФС желательна более безопасная и отказоустойчивая.

Ответ на: комментарий от SEInterix

Я говорю про noexec только для тех разделов на которых отсутствуют исполняемые файлы, чтобы вредоносный код попавший туда не мог исполниться. Почему бессмысленно?

russian-turist-2019
() автор топика
Ответ на: комментарий от russian-turist-2019

Потому что даже на таких разделах можно запустить программу. На Linux через % /lib/ld-linux.so.2 program. И я более чем уверен, что во FreeBSD это работает примерно так же.

Со скриптами и вовсе вопросов нет, запустить можно откуда угодно.

Поэтому делай noexec, не делай — толку не будет в любом случае.

SEInterix
()
Последнее исправление: SEInterix (всего исправлений: 1)

А чего там разбираться то. Выбираешь меню ZFS и все, там создаются отдельные ФС с теми самыми опциями.

Minona ★★☆
()

Я за хардкорный уровень безопасности

А полнодисковое шифрование в списках требований не указал. Непорядок.

ФС желательна более безопасная и отказоустойчивая.

Был бы большой выбор. ZFS и UFS2.

Вообще говоря, по тебе и твоему ОП видно, что ты сам не знаешь, что тебе нужно. Мой совет: не занимайся фигней и сделай все как при обычной установке системы.

SEInterix
()
Ответ на: комментарий от SEInterix

Да вроде бы и обычным sh program можно запустить

Minona ★★☆
()
Ответ на: комментарий от SEInterix

Я сомневаюсь что шифровать десятитерабайтник - хорошая идея.

а насчёт ФС читал что возможно ставить неродные фс, в т.ч. extfs.

не знаешь, что тебе нужно

Серьёзный уровень безопасности

russian-turist-2019
() автор топика

Был тут один регистрант с кашей в голове и «безопасностью» через слова в каждом посте. Не ты ли это был?

Radjah ★★★★★
()
gpart create -s gpt ada0
gpart create -s gpt ada1
gpart create -s gpt ada2

gpart add -a 4k -s 512k -t freebsd-boot ada0
gpart add -a 4k -t freebsd-zfs -l disk0 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

gpart add -a 4k -s 512k -t freebsd-boot ada1
gpart add -a 4k -t freebsd-zfs -l disk1 ada1
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1

gpart add -a 4k -s 512k -t freebsd-boot ada2
gpart add -a 4k -t freebsd-zfs -l disk2 ada2
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada2

mdconfig -a -t swap -s 1G -u 3
newfs -U md3
mount /dev/md3 /mnt

zpool create -f -o altroot=/mnt/rpool -O compress=lz4 -O atime=off -O utf8only=on -m none rpool /dev/gpt/disk0 /dev/gpt/disk1 /dev/gpt/disk2
zpool export rpool

zpool import -o altroot=/mnt/rpool rpool

zfs set mountpoint=/ rpool

zfs create rpool/tmp
zfs create rpool/share
zfs create rpool/usr
zfs create rpool/usr/home
zfs create rpool/usr/local
zfs create rpool/usr/src
zfs create rpool/usr/obj
zfs create rpool/usr/ports
zfs create rpool/usr/ports/distfiles
zfs create rpool/usr/ports/packages
zfs create -o atime=on rpool/var
zfs create rpool/var/audit
zfs create rpool/var/crash
zfs create -o exec=off -o setuid=off rpool/var/log
zfs create rpool/var/db
zfs create -o exec=off -o setuid=off -o atime=on rpool/var/mail
zfs create -o exec=on -o setuid=off rpool/var/tmp

zpool set bootfs=rpool rpool
zpool set listsnapshots=on rpool
zfs set logbias=throughput rpool


zfs create -V 8G -o org.freebsd:swap=on -o checksum=off -o compression=off -o dedup=off -o sync=disabled -o primarycache=none rpool/swap0

cd /usr/freebsd-dist


TXZ=base.txz && echo "untar $TXZ..." && cat $TXZ | tar --unlink -xpJf - -C /mnt/rpool
TXZ=kernel.txz && echo "untar $TXZ..." && cat $TXZ | tar --unlink -xpJf - -C /mnt/rpool
TXZ=src.txz && echo "untar $TXZ..." && cat $TXZ | tar --unlink -xpJf - -C /mnt/rpool
TXZ=ports.txz && echo "untar $TXZ..." && cat $TXZ | tar --unlink -xpJf - -C /mnt/rpool

zpool export rpool
system-root ★★★★★
()
Последнее исправление: system-root (всего исправлений: 1)
Ответ на: комментарий от SEInterix

На Linux через % /lib/ld-linux.so.2 program. И я более чем уверен, что во FreeBSD это работает примерно так же.

Неа.

% mount|grep /tmp
tmpfs on /tmp (tmpfs, local, noexec, nosuid)
% /libexec/ld-elf.so.1 /tmp/test        
/tmp/test: mmap of data failed: Permission denied

Со скриптами и вовсе вопросов нет, запустить можно откуда угодно.

Это да.

anonymous
()
Ответ на: комментарий от system-root

Спасибо! Но есть вопросы: я так понял, вы на каждом диске создаёте загрузочный раздел. Для чего это? Насколько я знаю, достаточно одного загрузочного раздела на одном жёстком диске.

russian-turist-2019
() автор топика
Ответ на: комментарий от russian-turist-2019

я не знаю с какого диска будешь грузиться.
стоит добавить, что во-первых в /boot/loader.conf надо перед перезагрузкой

kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
zfs_load="YES"
vfs.root.mountfrom="zfs:rpool"
во-вторых, это простая разметка, где все диски в одном пуле. если один сдохнет, будет грустно всем данным. подумай для чего ты это используешь и zpool create измени для своих целей.
ну и в-третьих, если анально «за хардкорный уровень безопасности» — следует использовать например Mandatory Access Control

system-root ★★★★★
()
Последнее исправление: system-root (всего исправлений: 1)
Ответ на: комментарий от system-root

Насколько я понимаю, это уже после установки ОС я буду должен пересобрать ядро с добавлением MAC, а уже после - настраивать политика доступа MAC. Сейчас на этапе установки это не имеет значения. Правильно? А также, правильно ли я понял, что в вашем примере суммарное пространство всех трёх жёстких дисков воспринимаются системой как одно целое(пул) и всё располагается в одном разделе?

russian-turist-2019
() автор топика
Ответ на: комментарий от system-root

Мне известно, что имеет смысл разные ФС размещать на разных жёстких дисках, например отдельный диск для логов. Хотелось бы знать, насколько это полезно. У меня была мысль систему становить на маленький диск, а большой использовать для данных. Так ведь лучше чем один пул?

russian-turist-2019
() автор топика
Ответ на: комментарий от russian-turist-2019

Серьёзный уровень безопасности

Если на сервере не планируется активная работа с файлами(роутер, к примеру), есть смысл посмотреть на securelevel.

iron ★★★★★
()
Ответ на: комментарий от russian-turist-2019

имеет смысл разные ФС размещать на разных жёстких дисках

zfs размазывает нагрузку на дисках, в этом нет никакого смысла.
смысл создавать сложные конфигурации на домашних компах есть только, если большая вероятность выхода дисков из строя.
например прикинуть, что в среднем диски живут лет шесть в обычных компах — не вижу смысла заморачиваться. все данные устареют и по сто раз забекапятся за это время.
разве, что SSD для L2ARC воткнуть. по поводу ФС на разных дисках — что будет, если ты решишь собирать логи, создашь UFS на диске 0.5Т и он кончиться? гемору больше чем профита.
но это моё личное пофигистское отношение к данным, кто-то придумывает рэйды для домашнего компа, я считаю это бредом. только бекап и иметь те данные, которые не жалко, даже если сгорят все компы в квартире.

system-root ★★★★★
()
Ответ на: комментарий от russian-turist-2019

а что с ними? если говорим о zfs, то создавая пул с -O compress=lz4 -O atime=off в моём примере, эти параметры наследуются дальше для «разделов» и отдельно переопределяются как в случае с var: zfs create -o atime=on rpool/var
параметров там не так много, кроме exec, setuid и atime играть больше нечем.
atime вообще стоило бы отключить, если бы не инженеры дауны из 80-х которые решили это в почтовиках использовать.

system-root ★★★★★
()
Ответ на: комментарий от system-root

Так есть ли смысл раскладывать директории по разным разделам? Если noexec и atime не нужны, то остаётся только setuid и ro (readonly)

russian-turist-2019
() автор топика
Ответ на: комментарий от russian-turist-2019

не понимаю, почему тебе всё ещё интересно «как разметить», если даже скрипт тебе запилил
если тебе не нужны снапшоты, если тебе не нужно маунтить всякие /ports/distfiles в jail, и тебе не понятно как можно разбить диск после примера — лучший вариант сделать один корень и всё.

system-root ★★★★★
()

Для решения поставленных мною задач решил использовать freebsd

Плохая идея. Какие бы там ни были задачи.

perfectcolors
()
Ответ на: комментарий от system-root

Я планирую по возможности каждое приложение зафигачить в джейлы.

лучший вариант сделать один корень и всё.

Но ведь я тогда не смогу создать readonly и nosuid разделы.

russian-turist-2019
() автор топика
Ответ на: комментарий от russian-turist-2019

Я сомневаюсь что шифровать десятитерабайтник - хорошая идея.
Серьёзный уровень безопасности

Тебе — точно не нужен.

а насчёт ФС читал что возможно ставить неродные фс, в т.ч. extfs.

И на кой ляд это может понадобиться?

SEInterix
()
Ответ на: комментарий от russian-turist-2019

ТСу

кто лучше тебя самого может знать что ты хочешь от своего компа? Разбей диски как хочешь.

sqq
()

1. молча

2. с чувством собственного достоинства

3. не сомневаясь, давая понять системе, кто тут главный

4. с упорством, достойным лучшего применения

buratino ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.