Red Hat Training

A Red Hat training course is available for RHEL 8

26.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.

Nota

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

  1. Ativar a proteção por senha para o banco de dados NSS para Libreswan:

    # 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:
  2. 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.

  3. Dependendo de seu cenário, inicie ou reinicie o serviço ipsec depois de terminar o arquivo nsspassword:

    # systemctl restart ipsec

Etapas de verificação

  1. 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)...
  2. 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.