3.9. Protegendo o banco de dados IPsec NSS por uma senha
Por padrão, o serviço IPsec cria seu banco de dados de Serviços de Segurança de Rede (NSS) com uma senha vazia durante a primeira inicialização. Adicione proteção por senha usando os seguintes passos.
Nos lançamentos anteriores da RHEL até a versão 6.6, era necessário proteger o banco de dados IPsec NSS com uma senha para atender aos requisitos FIPS 140-2, pois as bibliotecas criptográficas NSS eram certificadas para o padrão FIPS 140-2 Nível 2. No RHEL 8, o NIST certificou o NSS para o Nível 1 desta norma, e este status não requer proteção por senha para o banco de dados.
Pré-requisito
-
O diretório
/etc/ipsec.d
contém arquivos de banco de dados do NSS.
Procedimento
Ativar a proteção por senha para o banco de dados
NSS
paraLibreswan
:# certutil -N -d sql:/etc/ipsec.d Enter Password or Pin for "NSS Certificate DB": Enter a password which will be used to encrypt your keys. The password should be at least 8 characters long, and should contain at least one non-alphabetic character. Enter new password:
Crie o arquivo
/etc/ipsec.d/nsspassword
contendo a senha que você definiu na etapa anterior, por exemplo:# cat /etc/ipsec.d/nsspassword NSS Certificate DB:MyStrongPasswordHere
Observe que o arquivo
nsspassword
utiliza a seguinte sintaxe:token_1_name:the_password token_2_name:the_password
O token padrão do software NSS é
NSS Certificate DB
. Se seu sistema estiver rodando no modo FIPS, o nome do token éNSS FIPS 140-2 Certificate DB
.Dependendo de seu cenário, inicie ou reinicie o serviço
ipsec
depois de terminar o arquivonsspassword
:# systemctl restart ipsec
Etapas de verificação
Verifique se o serviço
ipsec
está funcionando após você ter adicionado uma senha não vazia ao seu banco de dados NSS:# systemctl status ipsec ● ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled; vendor preset: disable> Active: active (running)...
Opcionalmente, verifique se o registro
Journal
contém entradas que confirmam uma inicialização bem sucedida:# journalctl -u ipsec ... pluto[23001]: NSS DB directory: sql:/etc/ipsec.d pluto[23001]: Initializing NSS pluto[23001]: Opening NSS database "sql:/etc/ipsec.d" read-only pluto[23001]: NSS Password from file "/etc/ipsec.d/nsspassword" for token "NSS Certificate DB" with length 20 passed to NSS pluto[23001]: NSS crypto library initialized ...
Recursos adicionais
-
A página do homem
certutil(1)
. - Para mais informações sobre certificações relacionadas ao FIPS 140-2, consulte o artigo Base de Conhecimento de Normas Governamentais.