6.11. Configuração Máquina-a-Máquina do IPsec

O IPsec pode ser configurado para conectar um computador pessoal ou estação de trabalho a outra através de uma conexão máquina-a-máquina. Este tipo de conexão utiliza a rede à qual cada máquina está conectada para criar o túnel seguro entre elas. Os requisitos de uma conexão máquina-a-máquina são mínimos, já que é a configuração do IPsec em cada máquina. As máquinas precisam somente de uma conexão dedicada a uma rede de transporte (como a Internet) e do Red Hat Enterprise Linux para criar a conexão do IPsec.

O primeiro passo para criar uma conexão é coletar as informações de sistemas e de rede de cada estação de trabalho (workstation). Para uma conexão máquina-a-máquina, você precisa das seguintes informações:

Por exemplo: suponha que as estações de trabalho A e B queiram se interconectar através de um túnel IPsec. Pretendem se conectar usando uma chave pré-compartilhada com o valor foobarbaz e os usuários concordam em deixar que o racoon gere automaticamente e compartilhe uma chave de autenticação entre cada máquina. Ambos usuários das máquinas decidem nomear suas conexões como ipsec0.

Veja a seguir o arquivo ifcfg para a conexão IPsec máquina-a-máquina da estação de trabalho A. O nome único para identificar a conexão neste exemplo é ipsec0, portanto o arquivo resultante é nomeado como /etc/sysconfig/network-scripts/ifcfg-ipsec0.

DST=X.X.X.X
TYPE=IPsec
ONBOOT=yes
IKE_METHOD=PSK

A estação de trabalho A substituirá X.X.X.X pelo endereço IP da estação de trabalho B, enquanto esta substitui X.X.X.X pelo endereço IP da estação de trabalho A. A conexão é definida para iniciar na inicialização (boot-up) (ONBOOT=yes) e usa o método de autenticação de chave pré-compartilhada (IKE_METHOD=PSK).

A seguir, veja o arquivo da chave pré-compartilhada (chamado /etc/sysconfig/network-scripts/keys-ipsec0) que ambas máquinas usam para autenticarem-se entre si. O conteúdo deste arquivo deve ser idêntico nas duas estações de trabalho, e somente o usuário root deve ser capaz de acessar ou gravar (read or write) este arquivo.

IKE_PSK=foobarbaz

ImportanteImportante
 

Para alterar o arquivo keys-ipsec0 para que somente o usuário root possa acessá-lo ou editá-lo, execute o seguinte comando após criar o arquivo:

chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0

Para alterar a chave de autenticação a qualquer momento, edite o arquivo keys-ipsec0 nas duas estações de trabalho. As duas chaves devem ser identicas para que a conexão funcione apropriadamente.

O arquivo /etc/racoon/racoon.conf deve ser idêntico, exceto pela indicação include "/etc/racoon/X.X.X.X.conf". Esta indicação (e o arquivo que referencia) é gerada quando o túnel IPsec é ativado. Para a estação de trabalho A, X.X.X.X na indicação include é o dendereço IP da estação de trabalho B. O oposto vale para a estação de trabalho B. Veja a seguir um arquivo racoon.conf típico quando a conexão IPsec é ativada.

# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.

path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

sainfo anonymous
{
	pfs_group 2;
	lifetime time 1 hour ;
	encryption_algorithm 3des, blowfish 448, rijndael ;
	authentication_algorithm hmac_sha1, hmac_md5 ;
	compression_algorithm deflate ;
}
include "/etc/racoon/X.X.X.X.conf"

Para iniciar a conexão, reinicialize a estação de trabalho ou execute o seguinte comando, como root, em cada máquina:

/sbin/ifup ipsec0

Para testar a conexão IPsec, execute o utilitário tcpdump para visualizar os pacotes de rede sendo transferidos entre as máquinas (ou redes) e verificar se estão criptografadas via IPsec. O pacote deve incluir um cabeçalho AH e deve ser exibido como pacotes ESP. ESP significa que está criptografado. Por exemplo:

17:13:20.617872 pinky.example.com > ijin.example.com: \
	    AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF)