IPsec no kernel do Linux

7

Eu tenho alguns problemas (questões) relacionados à implementação do IPsec no Linux Kernel e sua interface de espaço do usuário.

  1. A maior questão é qual é o projeto oficial real para a implementação do IPsec do Kernel do Linux? Pelo que eu entendi a implementação é uma bifurcação do projeto Kame, mas um amigo disse que isso não é verdade. Quais são seus sites oficiais e repo?
  2. Onde na fonte da Documentação do Kernel eu encontro algumas notas relacionadas?
  3. Qual front-end do espaço do usuário é mais usado? 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 iproute2 do IPsec estão relacionados ao utilitário "setkey" para carregar o arquivo de configuração. É "setkey" realmente usado para o pacote iproute2, ou eu fui enganado? O "setkey" está colado ao "racoon" do ip-tools, ou é uma aplicação geral para o carregamento de configuração? O que "setkey" realmente faz (estou muito confuso sobre isso)?
por Catalin Vasile 30.07.2014 / 08:51

1 resposta

14
  1. A pilha IPsec integrada no kernel Linux desde a versão 2.6 (NETKEY) foi originalmente baseada na pilha KAME (pelo menos no que diz respeito à API). O código-fonte faz parte do repositório do kernel , onde os principais componentes são encontrados na pasta net/xfrm , incluindo a implementação do repositório do Netlink / Interface de configuração XFRM. A implementação da interface alternativa e padronizada (mas um pouco estendida) PF_KEYv2 está localizada na pasta net/key .
  2. Não há muita documentação. Mas verifique a pasta Documentation/networking .
  3. Se você fizer a configuração manual de IPsec SAs e políticas (codificação manual), eu recomendaria iproute2 . 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 daemon IKE como strongSwan, Open / libreswan ou racoon (ipsec- ferramentas), dessa forma, você não precisa instalar manualmente as SAs e as políticas e obter chaves de criptografia / integridade efêmeras estabelecidas via Diffie-Hellman durante o IKE. Negociação automática regular de novas chaves, que é chamada de rekeying, também é possível.
  4. setkey é fornecido pelo pacote ipsec-tools para codificação manual, não há relação com o pacote iproute2 . Com iproute2 você usaria o comando ip xfrm para configurar manualmente as SAs e as políticas. Os dois comandos interagem diretamente com o SAD e o SPD (consulte RFC 4301 ) no kernel para gerenciar manualmente os SAs e as diretivas do IPsec. setkey , como racoon e outras ferramentas baseadas em BSD, usa a interface PF_KEYv2, portanto, é menos poderoso que o comando ip xfrm . Por exemplo, números de sequência estendidos ou marcas não podem ser configurados com PF_KEYv2 no Linux.
por 31.07.2014 / 10:48