IPsec no kernel Linux

IPsec no kernel Linux

Tenho alguns problemas (perguntas) relacionados à implementação do IPsec no Kernel Linux e à sua interface de espaço do usuário.

  1. 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?
  2. Onde na fonte da documentação do kernel encontro algumas notas relacionadas?
  3. 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?
  4. 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

  1. 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/xfrmpasta, 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 na net/keypasta.
  2. Não há muita documentação. Mas verifique a Documentation/networkingpasta.
  3. 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.
  4. setkeyé fornecido peloferramentas ipsecpacote para codificação manual, não há relação com oiproute2pacote. Comiproute2você usaria o ip xfrmcomando 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, como racoone outras ferramentas baseadas em BSD, usa a interface PF_KEYv2, portanto é menos poderosa que o ip xfrmcomando. Por exemplo, números de sequência estendidos ou marcas não podem ser configurados com PF_KEYv2 no Linux.

informação relacionada