
Tenho alguns problemas (perguntas) relacionados à implementação do IPsec no Kernel Linux e à sua interface de espaço do usuário.
- A maior questão é qual é o verdadeiro projeto oficial para a implementação do Kernel IPsec do Linux? Pelo que entendi a implementação é um fork do projeto Kame, mas um amigo disse que isso não é verdade. Quais são o site oficial e o repositório?
- Onde na fonte da documentação do kernel encontro algumas notas relacionadas?
- Qual interface de espaço do usuário é mais usada? ip-tools ou o pacote iproute2? Esses dois têm a mesma abordagem ou um deles tem uma sobrecarga maior?
- Pelo que vi, os tutoriais para o modo de transporte IPsec iproute2 estão relacionados ao utilitário "setkey" para carregar o arquivo de configuração. "setkey" é realmente usado para o pacote iproute2 ou fui enganado? O "setkey" está colado ao "racoon" do ip-tools ou é um aplicativo geral para carregamento de configuração? O que "setkey" realmente faz (estou muito confuso sobre isso)?
Responder1
- A pilha IPsec integrada no kernel Linux desde 2.6 (NETKEY) foi originalmente baseada na pilha KAME (pelo menos no que diz respeito à API). O código-fonte faz parte dorepositório de kernel, onde se encontram os principais componentes da
net/xfrm
pasta, incluindo a implementação da interface de configuração Netlink/XFRM. A alternativa epadronizado(mas um tanto estendida) A implementação da interface PF_KEYv2 está localizada nanet/key
pasta. - Não há muita documentação. Mas verifique a
Documentation/networking
pasta. - Se você fizer a configuração manual de SAs e políticas IPsec (chaveamento manual), eu recomendoiproute2. Ele usa a interface Netlink/XFRM mais poderosa e o pacote é instalado pela maioria das distribuições por padrão. Mas normalmente você usaria a codificação automática fornecida por um usuárioIKEdaemon como strongSwan, Open/libreswan ou racoon (ipsec-tools), dessa forma você não precisa instalar manualmente SAs e políticas e obtém chaves efêmeras de criptografia/integridade estabelecidas via Diffie-Hellman durante o IKE. A negociação automática regular de novas chaves, chamada de rechaveamento, também é possível.
setkey
é fornecido peloferramentas ipsecpacote para codificação manual, não há relação com oiproute2pacote. Comiproute2você usaria oip xfrm
comando para configurar manualmente SAs e políticas. Ambos os comandos interagem diretamente com o SAD e o SPD (verRFC 4301) no kernel para gerenciar manualmente SAs e políticas IPsec.setkey
, comoracoon
e outras ferramentas baseadas em BSD, usa a interface PF_KEYv2, portanto é menos poderosa que oip xfrm
comando. Por exemplo, números de sequência estendidos ou marcas não podem ser configurados com PF_KEYv2 no Linux.