보안 데이터베이스 연결을 위한 SSL 인증서 생성 및 활성화하기

이 태스크에 대한 정보

SSL/TLS는 클라이언트(이 경우 웹 서버)와 서버(이 경우 데이터베이스 서버) 간의 정보 전송이 중간에 있는 네트워크상의 누군가에 의해 변조되거나 도청되지 않도록 보호합니다(두 컴퓨터에 접속할 수 있는 경우 포함). SSL이 유용한지 평가하려면 공격자가 SSL이 사용자를 보호하도록 설계된 공격을 완료할 수 있는 위치에 있다고 가정해야 합니다. 즉, 공격자는 네트워크 또는 컴퓨터에서 패킷을 스니핑할 수 있는 위치에 있어야 합니다.

중요: 자체 인증서를 사용하는 경우 개인 키 매개변수에 비밀번호가 없는지 확인하세요. 비밀번호 사용 개인 키는 지원되지 않습니다.

프로시저

  1. CA 인증 기관을 만듭니다.
    1. openssl genrsa -out CAKey.pem 2048
    2. openssl req -new -x509 -days 365 -key CAKey.pem -sha512 -out cacert.pem
  2. 서버 인증서를 만듭니다.
    명령을 실행하고 런타임 지침을 따릅니다:
    1. openssl genrsa -aes256 -out svr-key.pem 2048
    2. openssl req -new -key svr-key.pem -out server.csr 
    3. openssl x509 -req -days 365 -in server.csr -CA cacert.pem -CAkey CAKey.pem -set_serial 00001 -sha512 -out server-cert.pem
  3. ' server-private key'에서 비밀번호를 제거합니다.
    openssl rsa -in svr-key.pem -out server-key.pem
    참고: 자체 인증서를 사용하는 경우, ' server-private key'의 비밀번호를 제거해야 합니다.
  4. 변경 사항을 확인합니다.
    1. openssl x509 -in cacert.pem -text -noout
    2. openssl x509 -in server-cert.pem -text -noout
  5. 디렉토리를 변경하십시오.
    cd /nz/kit/share/security
  6. ' server-cert.pem ' 및 ' server-key.pem ' 파일을 ' /nz/kit/share/security '에 복사하고 다음 명령을 실행합니다.
    • 11.0.7.1 이상 버전:
      1. mv server-cert-sp800-131a.pem.sample server-cert-sp800-131a.pem.sample.BKP
      2. mv server-key-sp800-131a.pem.sample server-key-sp800-131a.pem.sample.BKP
      3. mv server-cert.pem server-cert-sp800-131a.pem.sample
      4. mv server-key.pem server-key-sp800-131a.pem.sample
    • ' enable_tls_v12'이 없는 11.0.7.0 이하의 경우 :
      1. mv server-key.pem.sample server-key.pem.sample.BKP
      2. mv server-cert.pem.sample server-cert.pem.sample.BKP
      3. mv server-key.pem server-key.pem.sample
      4. mv server-cert.pem server-cert.pem.sample
    • 11.0.7.0 이하에서 ' enable_crypto_std_v1 =1'을 사용하는 경우 :
      1. mv server-cert-sp800-131a.pem.sample server-cert-sp800-131a.pem.sample.BKP
      2. mv server-key-sp800-131a.pem.sample server-key-sp800-131a.pem.sample.BKP
      3. mv server-cert.pem server-cert-sp800-131a.pem.sample
      4. mv server-key.pem server-key-sp800-131a.pem.sample
  7. 시스템을 다시 시작하십시오.
    1. nzstop
    2. nzstart
  8. 변경 사항을 확인합니다.
    1. 디렉터리를 ' /nz/data/security'로 변경합니다.
      cd /nz/data/security
    2. openssl x509 -in server-cert.pem -text -noout
    3. ' nzsql ' 명령을 실행합니다:
      nzsql -u admin -pw password -securityLevel onlySecured
      예:
      nz@netezza01 ?]$ nzsql -u admin -p password -securityLevel onlySecured
      Welcome to nzsql, the IBM Netezza SQL interactive terminal. 
      
      Type: \h for help with SQL commands 
      \? for help on internal slash commands 
      \g or terminate with semicolon to execute query 
      \q to quit 
      
      SSL enabled connection. Cipher: AES256-SHA, bits: 256 
      SSL enabled connection. Cipher:AES256-SHA, bits: 256는 올바른 SSL 통신을 사용하고 있음을 지정합니다.
    4. ' postgres/pg.log'에서 다음 항목을 찾습니다.
      DEBUG: Attempting SSL_accept() 
      DEBUG: SSL_accept succeeded
    5. Windows에서는 ' "SSL Mode" = "Require" ' 옵션으로 연결을 설정합니다.