JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 관리: IP 서비스     Oracle Solaris 11 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부TCP/IP 관리

1.  네트워크 배치 계획

2.  IPv6 주소 사용 시 고려 사항

3.  IPv4 네트워크 구성

4.  네트워크에서 IPv6 사용

5.  TCP/IP 네트워크 관리

6.  IP 터널 구성

7.  네트워크 문제 해결

8.  IPv4 참조

9.  IPv6 참조

제2부DHCP

10.  DHCP 정보(개요)

11.  ISC DHCP 서비스 관리

12.  DHCP 클라이언트 구성 및 관리

13.  DHCP 명령 및 파일(참조)

제3부IP 보안

14.  IP 보안 아키텍처(개요)

15.  IPsec 구성(작업)

16.  IP 보안 아키텍처(참조)

17.  Internet Key Exchange(개요)

18.  IKE 구성(작업)

IKE 정보 표시

1단계 IKE 교환에 사용 가능한 그룹 및 알고리즘 표시 방법

IKE 구성(작업 맵)

미리 공유한 키로 IKE 구성(작업 맵)

미리 공유한 키로 IKE 구성

미리 공유한 키로 IKE를 구성하는 방법

새 피어 시스템에 대한 IKE 업데이트 방법

공개 키 인증서로 IKE 구성(작업 맵)

공개 키 인증서로 IKE 구성

자체 서명된 공개 키 인증서로 IKE를 구성하는 방법

CA가 서명한 인증서로 IKE를 구성하는 방법

공개 키 인증서를 생성하여 하드웨어에 저장하는 방법

인증서 해지 목록 처리 방법

모바일 시스템에 대한 IKE 구성(작업 맵)

모바일 시스템에 대한 IKE 구성

오프사이트 시스템에 대한 IKE 구성 방법

연결된 하드웨어를 찾도록 IKE 구성

Sun Crypto Accelerator 6000 보드를 찾도록 IKE를 구성하는 방법

19.  Internet Key Exchange(참조)

20.  Oracle Solaris의 IP 필터(개요)

21.  IP 필터(작업)

제4부네트워크 성능

22.  통합된 로드 밸런서 개요

23.  통합 로드 밸런서 구성(작업)

24.  Virtual Router Redundancy Protocol(개요)

25.  VRRP 구성(작업)

26.  혼잡 제어 구현

제5부IPQoS(IP Quality of Service)

27.  IPQoS 소개(개요)

28.  IPQoS 사용 네트워크 계획(작업)

29.  IPQoS 구성 파일 만들기(작업)

30.  IPQoS 시작 및 유지 관리(작업)

31.  흐름 계산 및 통계 수집 사용(작업)

32.  IPQoS 세부 정보(참조)

용어집

색인

공개 키 인증서로 IKE 구성

공개 키 인증서를 사용하면 통신하는 시스템이 대역 외 연결에서 보안 키 입력 도구를 공유할 필요가 없습니다. 미리 공유한 키와 달리 공개 키 인증서는 모바일 시스템 또는 번호가 재지정될 수 있는 시스템에서 사용할 수 있습니다.

또한 공개 키 인증서를 생성하여 연결된 하드웨어에 저장할 수 있습니다. 절차는 연결된 하드웨어를 찾도록 IKE 구성을 참조하십시오.

자체 서명된 공개 키 인증서로 IKE를 구성하는 방법

이 절차에서는 인증서 쌍을 만듭니다. 개인 키는 로컬 인증서 데이터베이스의 디스크에 저장되며 certlocal 하위 명령을 사용하여 참조할 수 있습니다. 인증서 쌍의 공개 부분은 공개 인증서 데이터베이스에 저장됩니다. 이는 certdb 하위 명령을 사용하여 참조할 수 있습니다. 피어 시스템과 공개 부분을 교환합니다. 두 인증서의 조합은 IKE 전송 인증에 사용됩니다.

자체 서명된 인증서는 CA의 공개 인증서보다 오버헤드가 적지만 확장이 어렵습니다. CA에서 발급한 인증서와 달리 자체 서명된 인증서는 대역 외 연결에서 확인해야 합니다.

  1. 관리자로 로그인합니다.

    자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오. 원격으로 로그인할 경우 안전한 원격 로그인을 위해 ssh 명령을 사용합니다. 예는 예 15-1을 참조하십시오.

  2. ike.privatekeys 데이터베이스에 자체 서명된 인증서를 만듭니다.
    # ikecert certlocal -ks -m keysize -t keytype \
    -D dname -A altname \
    [-S validity-start-time] [-F validity-end-time] [-T token-ID]
    -ks

    자체 서명된 인증서를 만듭니다.

    -m keysize

    키의 크기입니다. keysize는 512, 1024, 2048, 3072 또는 4096일 수 있습니다.

    -t keytype

    사용할 알고리즘의 유형을 지정합니다. keytypersa-sha1, rsa-md5 또는 dsa-sha1일 수 있습니다.

    -D dname

    인증서 주체에 대한 X.509 식별 이름입니다. 일반적으로 dname의 형식은 C=country , O=organization, OU=organizational unit, CN=common name입니다. 유효한 태그는 C, O, OU 및 CN입니다.

    -A altname

    인증서의 대체 이름입니다. altname의 형식은 tag=value입니다. 유효한 태그는 IP, DNS, emailDN입니다.

    -S validity-start-time

    인증서 시작 시간을 유효한 절대 또는 상대 시작 시간으로 지정합니다.

    -F validity-end-time

    인증서 종료 시간을 유효한 절대 또는 상대 종료 시간으로 지정합니다.

    -T token-ID

    PKCS #11 하드웨어 토큰이 키를 생성할 수 있도록 합니다. 그러면 인증서가 하드웨어에 저장됩니다.

    1. 예를 들어, partym 시스템의 명령은 다음과 유사하게 표시됩니다.
      # ikecert certlocal -ks -m 2048 -t rsa-sha1 \
      -D "O=exampleco, OU=IT, C=US, CN=partym" \
      -A IP=192.168.13.213
      Creating private key.
      Certificate added to database.
      -----BEGIN X509 CERTIFICATE-----
      MIIC1TCCAb2gAwIBAgIEfdZgKjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9T
      a...+
      zBGi4QkNdI3f
      -----END X509 CERTIFICATE-----

      주 - -D-A 옵션의 값은 임의의 값입니다. 이 값은 인증서를 식별하는 데만 사용됩니다. 192.168.13.213 등의 시스템을 식별하는 데는 사용되지 않습니다. 실제로 이러한 값은 고유하므로 피어 시스템에 올바른 인증서가 설치되어 있는지 대역 외 연결에서 확인해야 합니다.


    2. enigma 시스템의 명령은 다음과 유사하게 표시됩니다.
      # ikecert certlocal -ks -m 2048 -t rsa-sha1 \
      -D "O=exampleco, OU=IT, C=US, CN=enigma" \
      -A IP=192.168.116.16
      Creating private key.
      Certificate added to database.
      -----BEGIN X509 CERTIFICATE-----
      MIIC1TCCAb2gAwIBAgIEBl5JnjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9T
      ...
      y85m6LHJYtC6
      -----END X509 CERTIFICATE-----
  3. 인증서를 저장하여 원격 시스템으로 보냅니다.

    출력은 인증서 공개 부분의 인코딩된 버전입니다. 이 인증서는 전자 메일에 안전하게 첨부할 수 있습니다. 수신자는 단계 b와 같이 올바른 인증서를 설치했는지 대역 외 연결에서 확인해야 합니다.

    1. 예를 들어, partym 인증서의 공개 부분을 enigma 관리자에게 보냅니다.
      To: admin@ja.enigmaexample.com
      From: admin@us.partyexample.com
      Message: -----BEGIN X509 CERTIFICATE-----
      MIIC1TCCAb2gAwIBAgIEfdZgKjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9T
      a...+
      zBGi4QkNdI3f
      -----END X509 CERTIFICATE------
    2. enigma 관리자로부터 enigma 인증서의 공개 부분을 받습니다.
      To: admin@us.partyexample.com
      From: admin@ja.enigmaexample.com
      Message: ----BEGIN X509 CERTIFICATE-----
      MIIC1TCCAb2gAwIBAgIEBl5JnjANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9T
      ...
      y85m6LHJYtC6
      -----END X509 CERTIFICATE-----
  4. 각 시스템에서 공개 키 데이터베이스에 수신한 인증서를 추가합니다.
    1. root가 읽을 수 있는 파일에 관리자의 전자 메일을 저장합니다.
    2. ikecert 명령에 파일을 재지정합니다.
      # ikecert certdb -a < /tmp/certificate.eml 

      이 명령은 BEGIN 태그와 END 태그 사이의 텍스트를 가져옵니다.

  5. 다른 관리자가 이 인증서를 보낸 것인지 해당 관리자에게 확인합니다.

    예를 들어, 다른 관리자와 전화 통화를 통해 수신한 공개 인증서의 해시가 해당 관리자만 가진 개인 인증서의 해시와 일치하는지 확인할 수 있습니다.

    1. partym에 저장된 인증서를 나열합니다.

      다음 예에서 Note 1은 슬롯 0에 있는 인증서의 식별 이름(DN)을 나타냅니다. 슬롯 0에 있는 개인 인증서가 동일한 해시를 가지므로 이러한 인증서는 동일한 인증서 쌍입니다. 공개 인증서가 작동하려면 일치 쌍이 있어야 합니다. certdb 하위 명령은 공개 부분을 나열하며 certlocal 하위 명령은 개인 부분을 나열합니다.

      partym # ikecert certdb -l
      
      Certificate Slot Name: 0   Key Type: rsa
          (Private key in certlocal slot 0)
          Subject Name: <O=exampleco, OU=IT, C=US, CN=partym>Note 1
          Key Size: 2048
          Public key hash: 80829EC52FC5BA910F4764076C20FDCF
      
      Certificate Slot Name: 1   Key Type: rsa
          (Private key in certlocal slot 1)
          Subject Name: <O=exampleco, OU=IT, C=US, CN=Ada>
          Key Size: 2048
          Public key hash: FEA65C5387BBF3B2C8F16C019FEBC388
      partym # ikecert certlocal -l
      Local ID Slot Name: 0   Key Type: rsa
          Key Size: 2048
          Public key hash: 80829EC52FC5BA910F4764076C20FDCFNote 3
      
      Local ID Slot Name: 1   Key Type: rsa-sha1
              Key Size: 2048
              Public key hash: FEA65C5387BBF3B2C8F16C019FEBC388
      
      Local ID Slot Name: 2   Key Type: rsa
          Key Size: 2048
          Public key hash: 2239A6A127F88EE0CB40F7C24A65B818

      이 검사에서 partym 시스템에 유효한 인증서 쌍이 있는 것이 확인되었습니다.

    2. enigma 시스템에 partym의 공개 인증서가 있는지 확인합니다.

      전화를 통해 공개 키 해시를 확인할 수 있습니다.

      이전 단계에서 확인된 partym의 Note 3 해시를 enigma의 Note 4와 비교합니다.

      enigma # ikecert certdb -l
      
      Certificate Slot Name: 0   Key Type: rsa
          (Private key in certlocal slot 0)
          Subject Name: <O=exampleco, OU=IT, C=US, CN=Ada>
          Key Size: 2048
          Public key hash: 2239A6A127F88EE0CB40F7C24A65B818
      
      Certificate Slot Name: 1   Key Type: rsa
          (Private key in certlocal slot 1)
          Subject Name: <O=exampleco, OU=IT, C=US, CN=enigma>
          Key Size: 2048
          Public key hash: FEA65C5387BBF3B2C8F16C019FEBC388
      
      Certificate Slot Name: 2   Key Type: rsa
          (Private key in certlocal slot 2)
          Subject Name: <O=exampleco, OU=IT, C=US, CN=partym>
          Key Size: 2048
          Public key hash: 80829EC52FC5BA910F4764076C20FDCFNote 4

      enigma의 공개 인증서 데이터베이스에 저장된 마지막 인증서의 공개 키 해시 및 주체 이름이 이전 단계의 partym에 대한 개인 인증서의 해시와 일치합니다.

  6. 각 시스템에서 두 인증서를 인증합니다.

    인증서가 인식되도록 /etc/inet/ike/config 파일을 편집합니다.

    원격 시스템의 관리자가 cert_trust, remote_addrremote_id 매개변수에 대한 값을 제공합니다.

    1. 예를 들어, partym 시스템에서 ike/config 파일은 다음과 유사하게 표시됩니다.
      # Explicitly trust the self-signed certs
      # that we verified out of band. The local certificate
      # is implicitly trusted because we have access to the private key.
      
      cert_trust "O=exampleco, OU=IT, C=US, CN=enigma" 
      
      # We could also use the Alternate name of the certificate,
      # if it was created with one.  In this example, the Alternate Name
      # is in the format of an IP address:
      # cert_trust "192.168.116.16"
      
      ## Parameters that may also show up in rules.
      
      p1_xform 
        { auth_method preshared oakley_group 5 auth_alg sha256 encr_alg 3des }
      p2_pfs 5
      
      {
       label "US-partym to JA-enigmax"
       local_id_type dn
       local_id "O=exampleco, OU=IT, C=US, CN=partym"
       remote_id "O=exampleco, OU=IT, C=US, CN=enigma"
      
       local_addr  192.168.13.213
      # We could explicitly enter the peer's IP address here, but we don't need
      # to do this with certificates, so use a wildcard address. The wildcard
      # allows the remote device to be mobile or behind a NAT box
       remote_addr 0.0.0.0/0
      
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes}
      }
    2. enigma 시스템의 ike/config 파일에서 로컬 매개변수에 대한 enigma 값을 추가합니다.

      원격 매개변수의 경우 partym 값을 사용합니다. label 키워드가 로컬 시스템에서 고유한지 확인합니다.

      …
      {
       label "JA-enigmax to US-partym"
       local_id_type dn
       local_id "O=exampleco, OU=IT, C=US, CN=enigma"
       remote_id "O=exampleco, OU=IT, C=US, CN=partym"
      
       local_addr  192.168.116.16
       remote_addr 0.0.0.0/0
      …
  7. 피어 시스템에서 IKE를 사용으로 설정합니다.
    partym # svcadm enable ipsec/ike
    
    enigma # svcadm enable ipsec/ike

다음 순서

IPsec 정책 설정을 완료하지 않았으면 IPsec 정책을 사용으로 설정하거나 새로 고치는 IPsec 절차로 돌아가십시오.

CA가 서명한 인증서로 IKE를 구성하는 방법

인증 기관(CA)의 공개 인증서를 사용하려면 외부 조직과의 협상이 필요합니다. 간편한 인증서 확장을 통해 통신하는 여러 시스템을 보호할 수 있습니다.

  1. 관리자로 로그인합니다.

    자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오. 원격으로 로그인할 경우 안전한 원격 로그인을 위해 ssh 명령을 사용합니다. 예는 예 15-1을 참조하십시오.

  2. ikecert certlocal -kc 명령을 사용하여 인증서 요청을 만듭니다.

    명령 인수에 대한 설명은 단계 b in 자체 서명된 공개 키 인증서로 IKE를 구성하는 방법를 참조하십시오.

    # ikecert certlocal -kc -m keysize -t keytype \
    -D dname -A altname
    1. 예를 들어, 다음 명령은 partym 시스템에서 인증서 요청을 만듭니다.
      # ikecert certlocal -kc -m 2048 -t rsa-sha1 \
      > -D "C=US, O=PartyCompany\, Inc., OU=US-Partym, CN=Partym" \
      > -A "DN=C=US, O=PartyCompany\, Inc., OU=US-Partym"
      Creating software private keys.
        Writing private key to file /etc/inet/secret/ike.privatekeys/2.
      Enabling external key providers - done.
      Certificate Request: 
        Proceeding with the signing operation.
        Certificate request generated successfully (…/publickeys/0)
      Finished successfully.
      -----BEGIN CERTIFICATE REQUEST-----
      MIIByjCCATMCAQAwUzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFEV4YW1wbGVDb21w
      …
      lcM+tw0ThRrfuJX9t/Qa1R/KxRlMA3zckO80mO9X
      -----END CERTIFICATE REQUEST-----
    2. 다음 명령은 enigma 시스템에서 인증서 요청을 만듭니다.
      # ikecert certlocal -kc -m 2048 -t rsa-sha1 \
      > -D "C=JA, O=EnigmaCo\, Inc., OU=JA-Enigmax, CN=Enigmax" \
      > -A "DN=C=JA, O=EnigmaCo\, Inc., OU=JA-Enigmax"
      Creating software private keys.
      …
      Finished successfully.
      -----BEGIN CERTIFICATE REQUEST-----
      MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu
      …
      8qlqdjaStLGfhDOO
      -----END CERTIFICATE REQUEST-----
  3. PKI 조직에 인증서 요청을 제출합니다.

    PKI 조직에서 인증서 요청 제출 방법을 제공할 수 있습니다. 대부분 조직에는 제출 양식을 제공하는 웹 사이트가 있습니다. 양식을 사용하려면 제출이 적합한지 증명해야 합니다. 일반적으로 양식에 인증서 요청을 붙여 넣습니다. 요청을 확인한 조직에서는 다음 두 개의 인증서 객체와 해지된 인증서 목록을 발급합니다.

    • 공개 키 인증서 – 이 인증서는 사용자가 해당 조직에 제출한 요청을 기반으로 합니다. 제출한 요청은 이 공개 키 인증서의 일부입니다. 인증서는 사용자를 고유하게 식별합니다.

    • 인증 기관 – 조직의 서명입니다. CA는 공개 키 인증서가 적합한지 확인합니다.

    • 인증서 해지 목록(CRL) – 조직에서 해지한 최신 인증서 목록입니다. CRL에 대한 액세스 권한이 공개 키 인증서에 포함된 경우 CRL이 인증서 객체로 별도로 전송되지 않습니다.

      CRL에 대한 URI가 공개 키 인증서에 포함된 경우 IKE가 자동으로 CRL을 검색할 수 있습니다. 마찬가지로 DN(LDAP 서버의 디렉토리 이름) 항목이 공개 키 인증서에 포함된 경우 IKE가 지정된 LDAP 서버에서 CRL을 검색하여 캐시할 수 있습니다.

      공개 키 인증서에 포함된 URI 및 포함된 DN 항목의 예는 인증서 해지 목록 처리 방법을 참조하십시오.

  4. 시스템에 각 인증서를 추가합니다.

    ikecert certdb -a에 대한 -a 옵션은 붙여 넣은 객체를 시스템의 적합한 인증서 데이터베이스에 추가합니다. 자세한 내용은 IKE와 공개 키 인증서를 참조하십시오.

    1. 관리자로 로그인합니다.

      자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오. 원격으로 로그인할 경우 안전한 원격 로그인을 위해 ssh 명령을 사용합니다. 예는 예 15-1을 참조하십시오.

    2. PKI 조직에서 수신한 공개 키 인증서를 추가합니다.
      # ikecert certdb -a < /tmp/PKIcert.eml
    3. PKI 조직의 CA를 추가합니다.
      # ikecert certdb -a < /tmp/PKIca.eml
    4. PKI 조직에서 해지된 인증서 목록을 보낸 경우 certrldb 데이터베이스에 CRL을 추가합니다.
      # ikecert certrldb -a
      Press the Return key
      Paste the CRL:
      -----BEGIN CRL----- … -----END CRL----
      Press the Return key
      <Control>-D
  5. cert_root 키워드를 사용하여 /etc/inet/ike/config 파일에서 PKI 조직을 식별합니다.

    PKI 조직에서 제공한 이름을 사용합니다.

    1. 예를 들어, partym 시스템의 ike/config 파일은 다음과 유사하게 표시될 수 있습니다.
      # Trusted root cert
      # This certificate is from Example PKI
      # This is the X.509 distinguished name for the CA that it issues.
      
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI"
      
      ## Parameters that may also show up in rules.
      
      p1_xform 
       { auth_method rsa_sig oakley_group 1 auth_alg sha384 encr_alg aes}
      p2_pfs 2
      
      {
       label "US-partym to JA-enigmax - Example PKI"
       local_id_type dn
       local_id  "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
       remote_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
      
       local_addr  192.168.13.213
       remote_addr 192.168.116.16
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes}
      }

      주 - auth_method 매개변수에 대한 모든 인수는 동일한 행에 있어야 합니다.


    2. enigma 시스템에서 유사한 파일을 만듭니다.

      특히 enigma ike/config 파일은 다음을 따라야 합니다.

      • 동일한 cert_root 값을 포함합니다.

      • 로컬 매개변수에 enigma 값을 사용합니다.

      • 원격 매개변수에 partym 값을 사용합니다.

      • label 키워드에 고유한 값을 만듭니다. 이 값은 원격 시스템의 label 값과 달라야 합니다.

      …
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI"
      …
      {
       label "JA-enigmax to US-partym - Example PKI"
       local_id_type dn
       local_id   "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id  "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
       
       local_addr  192.168.116.16
       remote_addr 192.168.13.213
      …
  6. IKE에 CRL 처리 방법을 알립니다.

    적합한 옵션을 선택합니다.

    • 사용 가능한 CRL 없음

      PKI 조직에서 CRL을 제공하지 않을 경우 ignore_crls 키워드를 ike/config 파일에 추가합니다.

      # Trusted root cert
      …
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example,…
      ignore_crls

      ignore_crls 키워드는 IKE에 CRL을 검색하지 않도록 알립니다.

    • 사용 가능한 CRL 있음

      PKI 조직에서 CRL에 대한 중앙 배포 지점을 제공할 경우 해당 위치를 가리키도록 ike/config 파일을 수정할 수 있습니다.

      예는 인증서 해지 목록 처리 방법을 참조하십시오.

예 18-2 IKE 구성 시 rsa_encrypt 사용

ike/config 파일의 auth_method rsa_encrypt를 사용할 경우 publickeys 데이터베이스에 피어의 인증서를 추가해야 합니다.

  1. 원격 시스템의 관리자에게 인증서를 보냅니다.

    이 인증서는 전자 메일에 첨부할 수 있습니다.

    예를 들어, partym 관리자가 다음 전자 메일을 보냅니다.

    To: admin@ja.enigmaexample.com
    From: admin@us.partyexample.com
    Message: -----BEGIN X509 CERTIFICATE-----
    MII…
    ----END X509 CERTIFICATE-----

    enigma 관리자가 다음 전자 메일을 보냅니다.

    To: admin@us.partyexample.com
    From: admin@ja.enigmaexample.com
    Message: -----BEGIN X509 CERTIFICATE-----
    MII
    …
    -----END X509 CERTIFICATE-----
  2. 각 시스템에서 로컬 publickeys 데이터베이스에 전자 메일을 통해 전송된 인증서를 추가합니다.

    # ikecert certdb -a < /tmp/saved.cert.eml

RSA 암호화에 대한 인증 방법은 IKE에서 도청자에게 ID를 숨깁니다. rsa_encrypt 메소드는 피어의 ID를 숨기므로 IKE는 피어의 인증서를 검색할 수 없습니다. 즉, rsa_encrypt 메소드를 사용하려면 IKE 피어가 상대의 공개 키를 알고 있어야 합니다.

따라서 /etc/inet/ike/config 파일에 있는 rsa_encryptauth_method를 사용할 경우 publickeys 데이터베이스에 피어의 인증서를 추가해야 합니다. 그러면 publickeys 데이터베이스가 통신하는 시스템 쌍의 각각에 대해 다음 세 개의 인증서를 보유합니다.

문제 해결 – 세 개의 인증서를 포함하는 IKE 페이로드는 너무 커서 rsa_encrypt를 통해 암호화하지 못할 수 있습니다. “authorization failed”, “malformed payload” 등의 오류는 rsa_encrypt 메소드가 전체 페이로드를 암호화할 수 없음을 나타내는 것일 수 있습니다. 두 개의 인증서만 필요로 하는 rsa_sig 등의 메소드를 사용하여 페이로드 크기를 줄이십시오.

다음 순서

IPsec 정책 설정을 완료하지 않았으면 IPsec 정책을 사용으로 설정하거나 새로 고치는 IPsec 절차로 돌아가십시오.

공개 키 인증서를 생성하여 하드웨어에 저장하는 방법

공개 키 인증서를 생성하여 하드웨어에 저장하는 작업은 시스템에서 공개 키 인증서를 생성하여 저장하는 작업과 유사합니다. 하드웨어에서 ikecert certlocalikecert certdb 명령이 하드웨어를 식별해야 합니다. 토큰 ID를 사용하는 -T 옵션은 명령에 대한 하드웨어를 식별합니다.

시작하기 전에

  1. 관리자로 로그인합니다.

    자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오. 원격으로 로그인할 경우 안전한 원격 로그인을 위해 ssh 명령을 사용합니다. 예는 예 15-1을 참조하십시오.

  2. 자체 서명된 인증서 또는 인증서 요청을 생성하고 토큰 ID를 지정합니다.

    다음 옵션 중 하나를 선택합니다.


    주 - Sun Crypto Accelerator 6000 보드는 RSA에 대해 최대 2048비트의 키를 지원합니다. DSA의 경우 이 보드는 최대 1024비트의 키를 지원합니다.


    • 자체 서명된 인증서의 경우 다음 구문을 사용합니다.
      # ikecert certlocal -ks -m 2048 -t rsa-sha1 \
      > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \
      > -a -T dca0-accel-stor IP=192.168.116.16
      Creating hardware private keys.
      Enter PIN for PKCS#11 token: Type user:password

      -T 옵션에 대한 인수는 연결된 Sun Crypto Accelerator 6000 보드의 토큰 ID입니다.

    • 인증서 요청의 경우 다음 구문을 사용합니다.
      # ikecert certlocal -kc -m 2048 -t rsa-sha1 \
      > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \
      > -a -T dca0-accel-stor IP=192.168.116.16
      Creating hardware private keys.
      Enter PIN for PKCS#11 token: Type user:password

    ikecert 명령 인수에 대한 설명은 ikecert(1M) 매뉴얼 페이지를 참조하십시오.

  3. PIN에 대한 프롬프트에서 Sun Crypto Accelerator 6000 사용자, 콜론 및 사용자 암호를 입력합니다.

    Sun Crypto Accelerator 6000 보드에 암호가 rgm4tigt인 사용자 ikemgr이 있을 경우 다음을 입력합니다.

    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt

    주 - PIN 응답은 디스크에 일반 텍스트로 저장됩니다.


    암호를 입력하면 인증서가 다음과 같이 출력됩니다.

    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt
    -----BEGIN X509 CERTIFICATE-----
    MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu
    …
    oKUDBbZ9O/pLWYGr
    -----END X509 CERTIFICATE-----
  4. 상대방이 사용할 인증서를 보냅니다.

    다음 옵션 중 하나를 선택합니다.

    • 원격 시스템에 자체 서명된 인증서를 보냅니다.

      이 인증서는 전자 메일에 첨부할 수 있습니다.

    • PKI를 처리하는 조직에 인증서 요청을 보냅니다.

      PKI 조직의 지침에 따라 인증서 요청을 제출합니다. 자세한 설명은 단계 3 of CA가 서명한 인증서로 IKE를 구성하는 방법을 참조하십시오.

  5. 시스템에서 인증서가 인식되도록 /etc/inet/ike/config 파일을 편집합니다.

    다음 옵션 중 하나를 선택합니다.

    • 자체 서명된 인증서

      원격 시스템의 관리자가 cert_trust, remote_idremote_addr 매개변수에 대해 제공하는 값을 사용합니다. 예를 들어, enigma 시스템에서 ike/config 파일은 다음과 유사하게 표시됩니다.

      # Explicitly trust the following self-signed certs
      # Use the Subject Alternate Name to identify the cert
      
      cert_trust "192.168.116.16"  Local system's certificate Subject Alt Name
      cert_trust "192.168.13.213"  Remote system's certificate Subject Alt name
      
      …
      {
       label "JA-enigmax to US-partym"
       local_id_type dn
       local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
      
       local_addr  192.168.116.16
       remote_addr 192.168.13.213
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes}
      }
    • 인증서 요청

      PKI 조직에서 cert_root 키워드에 대한 값으로 제공하는 이름을 입력합니다. 예를 들어, enigma 시스템의 ike/config 파일은 다음과 유사하게 표시될 수 있습니다.

      # Trusted root cert
      # This certificate is from Example PKI
      # This is the X.509 distinguished name for the CA that it issues.
      
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI"
      
      …
      {
       label "JA-enigmax to US-partym - Example PKI"
       local_id_type dn
       local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id  "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
      
       local_addr  192.168.116.16
       remote_addr 192.168.13.213
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes}
      }
  6. 하드웨어에서 상대방의 인증서를 배치합니다.

    단계 3에서 응답한 대로 PIN 요청에 응답합니다.


    주 - 반드시 개인 키를 생성한 것과 동일한 연결된 하드웨어에 공개 키 인증서를 추가해야 합니다.


    • 자체 서명된 인증서

      원격 시스템의 자체 서명된 인증서를 추가합니다. 이 예에서는 인증서가 DCA.ACCEL.STOR.CERT 파일에 저장됩니다.

      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT
      Enter PIN for PKCS#11 token: Type user:password

      자체 서명된 인증서가 rsa_encryptauth_method 매개변수에 대한 값으로 사용한 경우 하드웨어 저장소에 피어의 인증서를 추가합니다.

    • PKI 조직의 인증서

      인증서 요청에 따라 조직에서 생성한 인증서를 추가하고 인증 기관(CA)을 추가합니다.

      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT
      Enter PIN for PKCS#11 token: Type user:password
      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CA.CERT
      Enter PIN for PKCS#11 token: Type user:password

      PKI 조직의 인증서 해지 목록(CRL)을 추가하려면 인증서 해지 목록 처리 방법을 참조하십시오.

다음 순서

IPsec 정책 설정을 완료하지 않았으면 IPsec 정책을 사용으로 설정하거나 새로 고치는 IPsec 절차로 돌아가십시오.

인증서 해지 목록 처리 방법

인증서 해지 목록(CRL)에는 인증 기관의 오래되거나 손상된 인증서가 포함됩니다. 네 가지 방법으로 CRL을 처리할 수 있습니다.

다음 절차에서는 중앙 배포 지점의 CRL을 사용하도록 IKE에 알리는 방법에 대해 설명합니다.

  1. CA에서 수신한 인증서를 표시합니다.
    # ikecert certdb -lv certspec
    -l

    IKE 인증서 데이터베이스의 인증서를 나열합니다.

    -v

    상세 정보 표시 모드로 인증서를 나열합니다. 이 옵션은 주의해서 사용하십시오.

    certspec

    IKE 인증서 데이터베이스의 인증서와 일치하는 패턴입니다.

    예를 들어, Oracle에서 발급한 인증서는 다음과 같습니다. 세부 정보는 변경되었습니다.

    # ikecert certdb -lv example-protect.oracle.com
    Certificate Slot Name: 0   Type: dsa-sha1
       (Private key in certlocal slot 0)
     Subject Name: <O=Oracle, CN=example-protect.oracle.com>
     Issuer Name: <CN=Oracle CA (Cl B), O=Oracle>
     SerialNumber: 14000D93
       Validity:
          Not Valid Before: 2011 Sep 19th, 21:11:11 GMT
          Not Valid After:  2015 Sep 18th, 21:11:11 GMT
       Public Key Info:
          Public Modulus  (n) (2048 bits): C575A…A5
          Public Exponent (e) (  24 bits): 010001
       Extensions:
          Subject Alternative Names:
                  DNS = example-protect.oracle.com
          Key Usage: DigitalSignature KeyEncipherment
          [CRITICAL]
       CRL Distribution Points:
          Full Name:
             URI = #Ihttp://www.oracle.com/pki/pkismica.crl#i
             DN = <CN=Oracle CA (Cl B), O=Oracle>
          CRL Issuer: 
          Authority Key ID:
          Key ID:              4F … 6B
          SubjectKeyID:        A5 … FD
          Certificate Policies
          Authority Information Access

    CRL Distribution Points 항목을 확인합니다. URI 항목은 이 조직의 CRL을 웹에서 사용할 수 있음을 나타냅니다. DN 항목은 CRL을 LDAP 서버에서 사용할 수 있음을 나타냅니다. IKE가 액세스한 CRL은 나중에 사용할 수 있도록 캐시됩니다.

    CRL에 액세스하려면 배포 지점에 연결해야 합니다.

  2. 중앙 배포 지점에서 CRL에 액세스하는 데 사용할 다음 방법 중 하나를 선택합니다.
    • URI 사용

      use_http 키워드를 호스트의 /etc/inet/ike/config 파일에 추가합니다. 예를 들어, ike/config 파일은 다음과 유사하게 표시됩니다.

      # Use CRL from organization's URI
      use_http
    • 웹 프록시 사용

      proxy 키워드를 ike/config 파일에 추가합니다. proxy 키워드는 다음에서와 같이 URL을 인수로 사용합니다.

      # Use own web proxy
      proxy "http://proxy1:8080"
    • LDAP 서버 사용

      호스트의 /etc/inet/ike/config 파일에서 LDAP 서버를 ldap-list 키워드에 대한 인수로 지정합니다. 조직에서 LDAP 서버의 이름을 제공합니다. ike/config 파일의 항목은 다음과 유사하게 표시됩니다.

      # Use CRL from organization's LDAP
      ldap-list "ldap1.oracle.com:389,ldap2.oracle.com"
      …

    IKE가 CRL을 검색하고 인증서가 만료될 때까지 CRL을 캐시합니다.

예 18-3 로컬 certrldb 데이터베이스에 CRL 붙여넣기

중앙 배포 지점에서 PKI 조직의 CRL을 사용할 수 없을 경우 수동으로 로컬 certrldb 데이터베이스에 CRL을 추가할 수 있습니다. PKI 조직의 지침에 따라 CRL을 파일에 추출한 다음 ikecert certrldb -a 명령을 사용하여 데이터베이스에 CRL을 추가합니다.

# ikecert certrldb -a < Oracle.Cert.CRL