Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Итак, для начала скомпилируем ядро с опциями:
|
Смонтируем на запись флешку в каталог /mnt:
|
Генерим ключ размером 64 байта на флешку:
|
Отмонтируем слайс ar0s1g (/crypto):
|
Инициализируем провайдера - размер сектора 4Кб, алгоритм Blowfish, контроль целостности посредством HMAC/SHA512, размер ключа, скажем, 384 бита (максимальный ключ в Blowfish насколько я помню может быть 448 бита). Придумываем ключевую фразу.
|
Связываем главный ключ с провайдером, ключевая фраза и сгенерированный файл на флешке служат дешифрацией главного ключа для создания нового GEOM провайдера. В каталоге /dev должен появиться файл /dev/ar0s1g.eli :
|
Далее достаточно продолжительная процедура создания файловой системы (у меня ушло на это около 4-часов):
|
Создадим произвольный файл длиной 512 байт на нашей новой ФС:
|
Теперь отмонтируем /crypto, отсоединим провайдера /dev/ar0s1g.eli и выведем список файлов директории. Тестового файла там нету.
|
Попробуем смонтировать устройство /dev/ar0s1g - неверный супер-блок:
|
Попробуем с неверным ключем или фразой попытаться подключить провайдера - как видим, ничего не получается:
|
Для своего удобства, накатал несложный скрипт на $BASH для монтирования-демонтирования шифрованной файловой системы (при условии, что она единственная на сервере). особо его не тестил, но у меня работает вроде все:
|
Работает он примерно так:
|
И так:
|
Вообщем, мне так удобней. Да, и еще. Желательно не забыть из /etc/fstab убрать строку устройства ar0s1g, а то система не загрузится
|
Ну вот в принципе и все.
|
Zer0, 2007-12-18 в 15:09:49
столкнулся с тем, что на 6.1 при перезагрузке типа *пропал свет*, раздел улетает в никуда.... щас до 6.2 обновлюся, посмотрим что будет.... иль искать альтернативу буду....
netcat, 2007-12-18 в 19:16:59
выключал аварийно специально, раза 3. Тьфу-тьфу проблем не возникло
bbb, 2007-12-20 в 13:00:10
Товарищи! Это поля для ввода комментариев статье, а не для вопросов. Сюда пишите найденные баги, или какие-то фичи :)
Для вопросов есть форум!!!!
bbb, 2007-12-20 в 13:00:42
ГыГы
lissyara, 2007-12-20 в 14:21:43
Ну а товарищщу 91.76.4.173 юзающему оперу под виндой ХР и инет от стрима, а также посещающему ресурс anastasia.mybb2.ru, я бы посоветовал не выкаблучиваться. =)
smilealex, 2007-12-20 в 14:33:29
Лиссяра - респект! )))
netcat, 2007-12-20 в 18:01:10
а кто это - 91.76.4.173 ? :)) Еще и с Оперой.
dyer, 2008-01-15 в 20:55:09
По тексту (не скрипта - там-то все ясно) не совсем очевидно что после geli attach можно спокойно убирать флэшку в сейф. :)
toptyg, 2008-01-21 в 21:25:53
хех меня вот больше тесты скорости работы и стабильность интересовали :)
DeNIS_1974, 2008-12-15 в 9:15:33
Вот столкнулся с проблемой. Прикупил винт на 750 гиг, присунул в систему FreeBSD 7.0. Сделал раздел на нем ad1s1c, натравил geli. Вроде бы все проинициализировалось и присоединилось. А вот при создании файловой системы - нифига. Из /dev/random ничего не писалось, перед созданием ФС. Я подумал, что можно и без него обойтись. И файловая система тоже несоздалась. Может у кого есть конструктивные идеи ?
netcat, 2009-03-06 в 15:42:31
ad1s1c раздела по определению быть не может.
DeNIS_1974, 2009-03-07 в 10:26:52
Уважаемый netcat, Вы заставили меня засомневаться ... вот листинг :
$ ls /dev/ad*
/dev/ad0 /dev/ad0s1a /dev/ad0s1c /dev/ad1s1
/dev/ad0s1 /dev/ad0s1b /dev/ad1 /dev/ad1s1c
Почему не может, если его создал сисинсталл? При пересоздании fdisk-ом было тоже. Но есть еще способ создания ФС ... нагуглил в инете ... там newfs запускается с ключем -n, хотя могу и попутать. Просто винт заполнен и с ним экперементировать не хочется, буду новый покупать наверное на тер, с ним позаморачиваюсь. При переходе на 7.1 проблема не исчезла.
netcat, 2009-03-07 в 10:40:49
Вы еще больше засомневаетесь, когда в шелле наберете man disklabel, в частности обращаю Ваше внимание на следующие строки - SAVED FILE FORMAT
The bsdlabel utility uses an ASCII version of the label when examining,
editing, or restoring a disk label. The format is:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 81920 16 4.2BSD 2048 16384 5128
b: 1091994 81936 swap
c: 1173930 0 unused 0 0 # "raw" part, don't edit
netcat, 2009-03-07 в 12:03:27
А если хотите сделать свою Фрю полностью на GELI с загрузкой с FLASH'ки (ключами доступа-паролями к fs). Если не лень будет статью напишу. У меня уже 3 сервера в таком режиме год работают. Полет нормальный :)
DeNIS_1974, 2009-03-07 в 12:22:48
Ну ... было бы интересно посмотреть, повторить, модифицировать под себя.
DeNIS_1974, 2009-03-07 в 18:39:20
Опс .... в мануале я увидел одну комманду ... disklabel -w /dev/ad-такой то ... блин ... и запустил ее. Появился /dev/ad1s1a так же как и остался /dev/ad1s1c. Машину перегрузил, все осталось на месте. Хотя disklabel говорит что оба слайса без сисемы(ФС). Надо будет почитать мат часть по внимательней ... может еще что нить интересное найду. Надо бы это уже в ветку форума перенести ...
fox, 2009-04-15 в 15:05:51
Добрый день! Это всё круто, но всё же как сделать что бы при загрузке системы Фри сама всё дела паоль вводила и так далие а если в друг чего я сервер парканул выдернул флешку и ушёл) ??? Нужен скрипт как автоматом пароль вводить???
lissyara, 2009-04-15 в 15:11:28
Вы, простите, в своём уме?
Смысл шифровать что-то, если сервер сам будет пароль вводить?
netcat, 2009-04-15 в 15:21:56
Ну для этого можно отказаться от использования пароля (GELI это позволяет). Смысл некий есть, ключ то все-равно используется, но зато теряется некий процент "секьюрности"
lissyara, 2009-04-15 в 17:02:38
настоятельный совет - не забывать про это
dd if=/dev/random of=/dev/ar0s1g.eli bs=1m
можно и /dev/zero юзать, не суть.
иначе получите файловую систему которую не сможетп роверить fsck, и, возможно с ошибками.
причина - размер до проведения этой операции точно не известен.
fox, 2009-04-16 в 2:10:52
Спасиба за наставления, глубоко уважаемые! Но пароль нужен и нужно что бы сам его вводил а пароль в файлеке лежал флешке, флешку я забрал и всё нет пароля нет ключей, а у ровень безопастности с паролем выше!!! И к стате когда я делаю вот это: dd if=/dev/random of=/dev/ar0s1g.eli bs=1m
то он это не длает он вот что отвечает:
[root@fortero ~]# dd if=/dev/random of=/dev/ad1s1d.eli bs=1m
dd: /dev/ad1s1d.eli: Operation not permitted
1+0 records in
0+0 records out
0 bytes transferred in 0.081596 secs (0 bytes/sec)
мне кажетса он не доделывает что то?
И всё же буду очень блогадарен за скрипты которые автоматом монтируют при наличие флешки с ключами и паролем в теикстишном файле...
Спасиба за внимание!)
netcat, 2009-04-16 в 16:31:08
Уровень безопасности по сути своей зависит от длины ключа, а не от того, какой у тебя пароль к ключу, учитывая, что он лежит у тебя на сервере в открытом виде. Смысла тогда в пароле нету никакого, поэтому в man geli в attach нету такой опции, что логично. Даже при варианте шифрования корневой ФС - /boot у тебя все-равно будет на флешке, с ключами и открытым паролем ? Смысл в пароле ?
netcat, 2009-04-16 в 16:34:09
lissyara
По большому счету достаточно добавить count=1 а потом newfs, чтобы время не терять :)
lissyara, 2009-04-16 в 16:47:43
Нет. попробуй сделать файловую систему после count=1 и прогнать по ней fsck
потом снова сделай с затиранием всего раздела - и снова запусти fsck
Увидишь именно то о чём я и говорил.
Надо полностью диск/раздел затирать.
netcat, 2009-04-16 в 17:26:49
Делал. На сервере с 5EE-RAID полезной емкостью HDD в Террабайт (уж не стал мучать террабайт dd). Только fsck должен понять сначала с какой файловой системой ему работать.На то и newfs.
lissyara, 2009-04-16 в 17:28:11
Сдаётся мне - что нет...
Отмонтируй ФС и запусти fsck
вывод - сюда (всё равно больше 64k не влезет =))
netcat, 2009-04-16 в 17:52:31
Ну хорошо. Хозяин-барин :) Щас
netcat, 2009-04-16 в 17:56:39
[17:57 alex@crypto /home/alex]% df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/aacd0.elia 2.0G 130M 1.7G 7% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/aacd0.elid 9.6G 2.1G 6.7G 24% /home
/dev/aacd0.elie 19G 382M 17G 2% /usr
/dev/aacd0.elif 19G 13G 4.7G 73% /var
/dev/aacd0.elig 2.0G 773M 1.1G 42% /tmp
/dev/aacd0.elih 861G 341G 451G 43% /crypto
172.17.2.200:/usr/ports 14G 2.0G 11G 15% /usr/ports
172.17.2.200:/twed0data/distfiles 451G 261G 154G 63% /home/alex/distfiles
[17:57 alex@crypto /home/alex]% su
Password:
[17:58 root@crypto /home/alex]# umount -f /tmp
[17:59 root@crypto /home/alex]# fsck -yf /dev/aacd0.elig
** /dev/aacd0.elig
** Last Mounted on /tmp
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
5655 files, 197771 used, 317004 free (192 frags, 79203 blocks, 0.0% fragmentation)
[17:59 root@crypto /home/alex]#
Ну вот...
lissyara, 2009-04-16 в 17:58:00
хм.. удивительное рядом.
почему же у меня так не получается =)
netcat, 2009-04-16 в 18:38:01
Попробуй так...
[18:34 root@crypto /home/alex]# dd if=/dev/zero of=/dev/aacd0.elig bs=1m count=1
1+0 records in
1+0 records out
1048576 bytes transferred in 0.024977 secs (41981716 bytes/sec)
[18:35 root@crypto /home/alex]# newfs -O2 -b 4096 -U /dev/aacd0.elig
/dev/aacd0.elig: 2048.0MB (4194304 sectors) block size 4096, fragment size 4096
using 39 cylinder groups of 53.50MB, 13697 blks, 3440 inodes.
with soft updates
super-block backups (for fsck -b #) at:
144, 109720, 219296, 328872, 438448, 548024, 657600, 767176, 876752, 986328, 1095904, 1205480, 1315056, 1424632, 1534208,
1643784, 1753360, 1862936, 1972512, 2082088, 2191664, 2301240, 2410816, 2520392, 2629968, 2739544, 2849120, 2958696,
3068272, 3177848, 3287424, 3397000, 3506576, 3616152, 3725728, 3835304, 3944880, 4054456, 4164032
[18:38 root@crypto /home/alex]# fsck -yf /dev/aacd0.elig
** /dev/aacd0.elig
** Last Mounted on
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2 files, 2 used, 515765 free (0 frags, 515765 blocks, 0.0% fragmentation)
[18:38 root@crypto /home/alex]# mount /dev/aacd0.elig /tmp
[18:39 root@crypto /home/alex]# ls -lh /tmp
total 8
drwxrwxr-x 2 root operator 512B 16 ЮОП 18:38 .snap
[18:39 root@crypto /home/alex]#
salimk, 2009-11-24 в 13:40:12
а если сделать вот так:
geli init -P -s 4096 -K /mnt/ar0s1g.key -e Blowfish -a hmac/sha512 -l 384 /dev/ar0s1g
то тогда не будет запрашиваться "passphrase"
а в /etc/rc.conf можно добавить вот это
geli_enable="YES"
geli_devices="ar0s1g"
geli_amrd3s1a_flags="-p -k /mnt/ar0s1g.key"
тогда ar0s1g будет атачится самостоятельно
а так статья отличная то что нужно
DLRex, 2010-01-23 в 11:54:36
на этаве ввода команды
dd if=/dev/random of=/dev/ar0s1g.eli bs=1m
dd: /dev/ad1s1d.eli: Operation not permitted
1+0 records in
0+0 records out
0 bytes transferred in 0.081596 secs (0 bytes/sec)
и при создании файловой системы в консоль вылазят ошибки. Если проверку по sha не включать то хотя бы можно создать файловую систему и дальше работать. Как это исправить?
Lumpen, 2010-03-22 в 16:20:19
Ошибки fsck вылазят если включать проверку целостности, так что если использовали при создании ключ -a, то нужно делать
# dd if=/dev/zero of=/dev/XX.eli bs=1m
без контроля же достаточно
# dd if=/dev/zero of=/dev/XX.eli bs=1m count=1
BlackJaguar, 2011-05-19 в 10:02:54
замечено, что при перемещении файла ключа подмонтированный шифрованный том остается, поэтому решено написать такой скрипт:
[code]
#!/bin/sh
if [ -f /da0/mykey.key] then
else
reboot
fi
[/code]
Если ключа нет - перегружаем систему. Удобно. Прибежали маски-шоу - флешку за борт и спокоен как питон :)
хандбук по GEOM ELI (руссищ)
fox, 2011-05-19 в 18:11:18
Конечно спокойны как питон, пальцы в дверь засунут, сам раскажешь, кто когда и где?)))))
netcat, 2011-05-19 в 21:33:52
Щас почки опускать в моде. Это очень старая статья - сейчас один из серверов - backup работает с флешки с kernel и ключом к GELI (RAID 5EE полезной ёмкостью в 3Тб).
Минусы - большая нагрузка на процессор и дисковую подсистему в пиковую активность резервного копирования. Плюсы - сервер без флешки и пароля к ключу представляет полностью кучу шифрованного мусора (при условии его ребута).
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
вверх
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [36 шт.]