Руководство FreeBSD
Пред. | Глава 18. Устройства хранения | След.

# 18.17. Шифрование области подкачки

Написано Christian Brüffer.

Шифрование области подкачки в FreeBSD достаточно легко конфигурируется. Варианты конфигурации слегка различаются в зависимости от версии системы. Для шифрования разделов подкачки можно использовать утилиты gbde(8) или geli(8);. В обоих случаях используется скрипт rc.d `encswap`.

Предыдущий раздел, Шифрование дисковых разделов, кратко описывает различные методы криптования.

## 18.17.1. Зачем шифровать область подкачки?

Как и в случае дисковых разделов, шифрование области подкачки применяется для защиты важной информации. Возьмем, к примеру, приложение, которому требуется работать с паролями. До тех пор, пока пароли хранятся в физической памяти, все в порядке. Если же операционная система начинает выгружать отдельные участки памяти в область подкачки, чтобы освободить память для других приложений, пароли могут быть записаны на диск в открытом виде и тем самым оказаться легко доступными злоумышленнику (имеющему физический доступ к диску — прим. пер.). В таких ситуациях решением может стать шифрование раздела подкачки.

## 18.17.2. Подготовка

> Замечание: В данном разделе мы будем считать, что разделом подкачки является `ad0s1b`.

До настоящего момента раздел подкачки не был зашифрован. Таким образом, на нем могут содержаться пароли или какая-либо иная важная информация в открытом виде. Чтобы избавиться от этого, заполним раздел подкачки случайными данными:

    # dd if=/dev/random of=/dev/ad0s1b bs=1m

## 18.17.3. Шифрование раздела подкачки при помощи gbde(8)

В строку файла `/etc/fstab`, описывающую раздел подкачки, необходимо добавить суффикс `.bde`:

    # Device                Mountpoint      FStype  Options         Dump    Pass#
    /dev/ad0s1b.bde         none            swap    sw              0       0

## 18.17.4. Шифрование раздела подкачки при помощи geli(8)

Процедура при использовании 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).

## 18.17.5. Окончательная проверка

После перезагрузки системы правильность работы шифрованного раздела подкачки может быть проверена при помощи команды `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%

Пред. | Начало | След.
Шифрование дисковых разделов | Уровень выше | GEOM: Модульная инфраструктура преобразования дисковых запросов

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.