Шифрование области подкачки в FreeBSD достаточно легко конфигурируется.
Варианты конфигурации слегка различаются в зависимости от версии системы.
Для шифрования разделов подкачки можно использовать
утилиты gbde(8) или geli(8);. В обоих случаях используется
скрипт rc.d
encswap
.
Предыдущий раздел, Шифрование дисковых разделов, кратко описывает различные методы криптования.
Как и в случае дисковых разделов, шифрование области подкачки применяется для защиты важной информации. Возьмем, к примеру, приложение, которому требуется работать с паролями. До тех пор, пока пароли хранятся в физической памяти, все в порядке. Если же операционная система начинает выгружать отдельные участки памяти в область подкачки, чтобы освободить память для других приложений, пароли могут быть записаны на диск в открытом виде и тем самым оказаться легко доступными злоумышленнику (имеющему физический доступ к диску - прим. пер.). В таких ситуациях решением может стать шифрование раздела подкачки.
В данном разделе мы будем считать, что разделом подкачки
является ad0s1b
.
До настоящего момента раздел подкачки не был зашифрован. Таким образом, на нем могут содержаться пароли или какая-либо иная важная информация в открытом виде. Чтобы избавиться от этого, заполним раздел подкачки случайными данными:
#
dd if=/dev/random of=/dev/ad0s1b bs=1m
В строку файла
/etc/fstab
, описывающую раздел подкачки,
необходимо добавить суффикс .bde
:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0
Процедура при использовании geli(8) для шифрования раздела
подкачки сходна с использованием gbde(8). В строку файла
/etc/fstab
, описывающую раздел подкачки,
нужно добавить суффикс .eli
:
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0
По умолчанию, geli(8) использует алгоритм криптования AES с длиной ключа 256 бит.
При необходимости эти параметры могут быть изменены в опции
geli_swap_flags
файла конфигурации
/etc/rc.conf
. Приведенная ниже строка указывает,
что скрипт rc.d encswap
должен использовать для
криптования алгоритм Blowfish с ключом длиной 128 бит, размером сектора
4 килобайта и включенной опцией <<отсоединиться при последнем
закрытии>>:
geli_swap_flags="-e blowfish -l 128 -s 4096 -d"
За списком возможных опций обращайтесь к описанию команды
onetime
в странице справочника geli(8).
После перезагрузки системы правильность работы шифрованного раздела
подкачки может быть проверена при помощи команды
swapinfo
.
В случае использования gbde(8):
%
swapinfo
Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0%
При использовании geli(8):
%
swapinfo
Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.