6.9. 암호로 IPsec NSS 데이터베이스 보호

기본적으로 IPsec 서비스는 처음 시작하는 동안 비어 있는 암호를 사용하여 NSS(Network Security Services) 데이터베이스를 생성합니다. 다음 단계를 사용하여 암호 보호를 추가합니다.

사전 요구 사항

  • /var/lib/ipsec/nss/ 디렉터리에는 NSS 데이터베이스 파일이 포함되어 있습니다.

절차

  1. Libreswan에 대해 NSS 데이터베이스에 대한 암호 보호를 활성화합니다.

    # certutil -N -d sql:/var/lib/ipsec/nss
    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. 이전 단계에서 설정한 암호가 포함된 /etc/ipsec.d/nsspassword 파일을 만듭니다. 예를 들면 다음과 같습니다.

    # cat /etc/ipsec.d/nsspassword
    NSS Certificate DB:MyStrongPasswordHere

    nsspassword 파일은 다음 구문을 사용합니다.

    token_1_name:the_password
    token_2_name:the_password

    기본 NSS 소프트웨어 토큰은 NSS Certificate DB 입니다. 시스템이 FIPS 모드에서 실행 중인 경우 토큰 이름은 NSS FIPS 140-2 Certificate DB 입니다.

  3. 시나리오에 따라 nsspassword 파일을 완료한 후 ipsec 서비스를 시작하거나 다시 시작합니다.

    # systemctl restart ipsec

검증

  1. NSS 데이터베이스에 비어 있지 않은 암호를 추가한 후 ipsec 서비스가 실행 중인지 확인합니다.

    # 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. 선택적으로 Journal 로그에 초기화가 성공했는지 확인하는 항목이 포함되어 있는지 확인합니다.

    # journalctl -u ipsec
    ...
    pluto[6214]: Initializing NSS using read-write database "sql:/var/lib/ipsec/nss"
    pluto[6214]: NSS Password from file "/etc/ipsec.d/nsspassword" for token "NSS Certificate DB" with length 20 passed to NSS
    pluto[6214]: NSS crypto library initialized
    ...

추가 리소스

  • certutil(1) 도움말 페이지.
  • 정부 표준 지식베이스 문서.