Eu tenho tentado adicionar manualmente um SA no banco de dados Linux Kernel Security Association, mas continuo recebendo um erro dizendo "Nenhum arquivo ou diretório". Eu quero criar uma SA que use apenas ESP e não use AH. Eu gostaria que ele aceitasse e descriptografasse qualquer pacote de entrada de qualquer IP de origem que estivesse usando um número SPI de 0x201 e a chave de criptografia mostrada no exemplo.
ip xfrm state add src 0.0.0.0 dst 192.168.121.138 proto esp spi 0x201 enc des3_ede 0x8a718c734f68865738a3d9780e49cc2f52c40ef9fa368acc mode transport
RTNETLINK answers: No such file or directory
Descobri que, se eu fornecer uma chave de autenticação vazia, conforme mostrado abaixo, ela aceitará o comando e criará uma SA. Mas ele não é usado quando um pacote chega.
ip xfrm state add src 0.0.0.0 dst 192.168.121.138 proto esp spi 0x201 auth sha1 "" enc des3_ede 0x8a718c734f68865738a3d9780e49cc2f52c40ef9fa368acc mode transport
Eu também tentei usar o digest_null para o protocolo de autenticação, mas ele não aceitará dizer que a função não está implementada.
ip xfrm state add src 0.0.0.0 dst 192.168.121.138 proto esp spi 0x201 auth digest_null "" enc des3_ede 0x8a718c734f68865738a3d9780e49cc2f52c40ef9fa368acc mode transport
Estou rodando o CentOS 7.4 com a versão do kernel 3.10.0-693.11.1.el7.x86_64 com o iptables e o firewalld desativados. Meu kernel não suporta adicionar SAs sem AH? Isto é um erro conhecido? Eu procurei em todos os lugares por algo que poderia ajudar, mas não tive sorte.
EDIT: Eu descobri que eu posso fazer isso, desde que eu não tenho o parâmetro fips = 1 na minha instrução de linha de comando do Kernel no Grub. Existe uma maneira de fazer isso, deixando esse parâmetro no lugar? Eu sou obrigado a ser compatível com FIPS. O ESP sem AH não é considerado compatível com FIPS?
Tags kernel encryption ipsec linux