18.17. Шифрование области подкачки
Пред. | Глава 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%

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

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

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