17.13. Criptografando Swap

Escrito por Christian Brueffer.

Como a criptografia de partições de disco, a criptografia do espaço swap é usada para proteger informações confidenciais. Considere um aplicativo que lida com senhas. Contanto que essas senhas permaneçam na memória física, elas não serão gravadas no disco e serão apagadas após a reinicialização. No entanto, se o FreeBSD iniciar a troca de páginas de memória para liberar espaço, as senhas podem ser gravadas no disco não criptografadas. O espaço de troca de criptografia pode ser uma solução para esse cenário.

Esta seção demonstra como configurar uma partição swap criptografada usando criptografia gbde(8) ou geli(8). Ele assume que /dev/ada0s1b é a partição swap.

17.13.1. Configurando Swap Criptografada

As partições de swap não são criptografadas por padrão e devem ser limpas de quaisquer dados confidenciais antes de continuar. Para sobrescrever a partição swap atual com lixo aleatório, execute o seguinte comando:

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

Para criptografar a partição swap usando gbde(8), adicione o sufixo .bde à linha de swap no /etc/fstab:

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

Para criptografar a partição swap usando geli( 8), use o sufixo .eli:

# Device		Mountpoint	FStype	Options		Dump	Pass#
/dev/ada0s1b.eli	none		swap	sw		0	0

Por padrão, geli(8) usa o algoritmo AES com um comprimento de chave de 128 bits. Normalmente, as configurações padrão serão suficientes. Se desejado, estes padrões podem ser alterados no campo de opções no arquivo /etc/fstab. As possíveis flags são:

aalgo

Algoritmo de verificação de integridade de dados usado para garantir que os dados criptografados não tenham sido adulterados. Veja geli(8) para obter uma lista dos algoritmos suportados.

ealgo

Algoritmo de criptografia usado para proteger os dados. Veja geli(8) para obter uma lista dos algoritmos suportados.

keylen

O comprimento da chave usada para o algoritmo de criptografia. Veja geli(8) para os comprimentos de chave que são suportados por cada algoritmo de criptografia.

sectorsize

O tamanho em que o blocos de dados é dividido antes de ser criptografado. Tamanhos de setor maiores aumentam o desempenho ao custo de maior sobrecarga de armazenamento. O tamanho recomendado é de 4096 bytes.

Este exemplo configura uma partição swap criptografada usando o algoritmo Blowfish com um comprimento de chave de 128 bits e um setor de tamanho de 4 kilobytes:

# Device		Mountpoint	FStype	Options				Dump	Pass#
/dev/ada0s1b.eli	none		swap	sw,ealgo=blowfish,keylen=128,sectorsize=4096	0	0

17.13.2. Verificação de Swap Criptografada

Depois que o sistema for reinicializado, a operação adequada da swap criptografada poderá ser verificada usando swapinfo.

Se gbde(8) estiver sendo usado:

% swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ada0s1b.bde   542720        0   542720     0%

Se geli(8) estiver sendo usado:

% swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ada0s1b.eli   542720        0   542720     0%

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.