Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #69, СЕНТЯБРЬ 2004 г.

Делаем FreeBSD безопасной

Сергей Можайский aka techniX

Xakep, номер #069, стр. 069-116-2


kern_securelevel_enable="YES"

kern_securelevel="2"

Текущий уровень защиты можно посмотреть командой

$ sysctl kern.securelevel

А повысить его без перезагрузки -

# sysctl -w kern.securelevel=2

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

Меняем алгоритм шифрования

Заменим алгоритм шифрования паролей с md5 на еще более надежный Blowfish. Делаем исправления в файле /etc/login.conf в секции default:

// заменяем алгоритм шифрования на Blowfish

:passwd_format=blf:\

// устанавливаем период устаревания паролей

:passwordtime=52d:\

// предупреждаем о том, что пароли должны содержать разные символы

:mixpasswordcase=true:\

// задаем минимальную длину пароля

:minpasswordlen=9:\

Теперь обновляем базу (login.conf.db):

# cap_mkdb /etc/login.conf

Проверим, получилось ли у нас. Посмотри содержимое /etc/master.passwd. Если зашифрованный пароль теперь начинается с "$2", все ОК. Осталось сделать так, чтобы пароли новых пользователей шифровались алгоритмом Blowfish. Редактируем файл /etc/auth.conf:

crypt_default=blf

Шифруем файловую систему

Файлы, которые могут представлять интерес для взломщиков, надежнее всего зашифровать. Нет, не думай, что я опять буду рассказывать про PGP. Для создания зашифрованных дисков можно обойтись стандартными средствами FreeBSD - GEOM и BDE. Что такое GEOM? Это новая система работы с дисками, появившаяся в 5-й ветке FreeBSD. Благодаря своей модульной структуре, она позволяет делать с файловой системой все что угодно. Нас интересует один из ее модулей - BDE (block device encryption) - поддержка шифрования файловой системы. Для начала добавим в ядро опцию

options GEOM_BDE

Создадим новый каталог, в котором будут лежать конфиги GBDE:

# mkdir /etc/gbde

Инициализируем зашифрованный диск:

# gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c

Откроется редактор, в котором можно указать различные настройки. Для файловых систем UFS1 и UFS2, используемых в FreeBSD, следует указать значение переменной sector_size равным 2048. Не забудь выбрать хороший пароль для доступа к диску. Подключаем диск:

# gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c

Система попросит ввести ключевую фразу для доступа к зашифрованному диску. Теперь содержимое этого диска доступно при обращении к файлу устройства /dev/ad4s1c.bde. Создадим на нем новую файловую систему и монтируем его:

# newfs -U -O2 /dev/ad4s1c.bde

# mount /dev/ad4s1c.bde /mnt

Теперь можно работать с содержимым зашифрованного диска. Обрати внимание, что скорость файловых операций с зашифрованными разделами почти в 4 раза ниже, чем при работе с обычными дисками. Если ты пользуешься утилитой sysinstall, имей в виду, что она несовместима с зашифрованными разделами и их нужно отключать перед запуском этой утилиты. Также заметь, что зашифрованные диски невозможно подключать автоматически из /etc/fstab, потому не стоит применять шифрование к системным разделам (/, /usr, /var).

Назад на стр. 069-116-1  Содержание  Вперед на стр. 069-116-3