Oracle® Solaris 11.2의 네트워크 보안

인쇄 보기 종료

업데이트 날짜: 2014년 8월
 
 

IPsec이 실행 중일 때 시스템 문제를 해결하는 방법

IKE를 사용하여 패킷을 교환 중이거나 교환하려고 하는 실행 중인 시스템에서 ikeadm 명령을 사용하여 통계, 규칙, 미리 공유한 키 및 기타 항목을 볼 수 있습니다. 또한 Wireshark 응용 프로그램과 같은 선택한 도구 및 로그 파일도 사용할 수 있습니다.

  1. 다음 항목을 조사합니다.
    • policy 및 적절한 키 관리 서비스를 사용으로 설정했는지 확인합니다.

      다음 테스트 시스템에서는 manual-key 서비스가 키 관리에 사용됩니다.

      % svcs -a  | grep ipsec
      online         Feb_04   svc:/network/ipsec/manual-key:default
      online         Feb_04   svc:/network/ipsec/ipsecalgs:default
      online         Feb_04   svc:/network/ipsec/policy:default
      disabled       Feb_28   svc:/network/ipsec/ike:ikev2
      disabled       Feb_28   svc:/network/ipsec/ike:default

      서비스를 사용할 수 없는 경우 사용으로 설정합니다.

      두 IKE 서비스를 동시에 사용할 수 있습니다. 수동 키와 IKE를 동시에 사용할 수도 있지만, 이 구성을 사용할 경우 해결하기 어려운 특이한 문제가 발생할 수 있습니다.

    • IKEv2 서비스에 대한 로그 파일의 끝을 봅니다.
      # svcs -xL ikev2
      svc:/network/ipsec/ike:ikev2 (IKEv2 daemon)
       State: disabled since October  10, 2013 10:10:40 PM PDT
      Reason: Disabled by an administrator.
         See: http://support.oracle.com/msg/SMF-8000-05
         See: in.ikev2d(1M)
         See: /var/svc/log/network-ipsec-ike:ikev2.log
      Impact: This service is not running.
         Log:
      Oct 01 13:20:20: (1)  Property "debug_level" set to: "op"
      Oct 01 13:20:20: (1)  Errors and debug messages will be written to: 
                              /var/log/ikev2/in.ikev2d.log
      [ Oct 10 10:10:10 Method "start" exited with status 0. ]
      [ Oct 10 10:10:40 Stopping because service disabled. ]
      [ Oct 10 10:10:40 Executing stop method (:kill). ]
      
         Use: 'svcs -Lv svc:/network/ipsec/ike:ikev2' to view the complete log.
    • (옵션) 실행 중인 데몬의 디버그 레벨로 임시 값을 설정할 수 있습니다.
      # ikeadm set debug verbose /var/log/ikev2/in.ikev2d.log
      Successfully changed debug level from 0x80000000 to 0x6204
      Debug categories enabled:
              Operational / Errors
              Config file processing
              Interaction with Audit
              Verbose Operational
  2. ipsecconf 명령의 출력이 정책 파일의 내용과 일치하는지 확인합니다.
    # ipsecconf 
    #INDEX 14 
    ...
    {  laddr 10.133.66.222 raddr 10.133.64.77 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    ...
    {  laddr 10.134.66.122 raddr 10.132.55.55 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    
    # cat /etc/inet/ipsecinit.conf
    ...
    {  laddr 10.133.66.222 raddr 10.133.64.77 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    
    {  laddr 10.134.66.122 raddr 10.132.55.55 }
    	ipsec   { encr_algs aes(256) encr_auth_algs sha512 sa shared } 
    

    주 -  와일드카드 주소를 사용하면 일치 항목을 찾기가 어려울 수 있으므로, ipsecconf의 출력에서 ipsecinit.conf 파일의 특정 주소가 와일드카드 주소 범위 내에 있는지 확인합니다.

    ipsecconf 명령의 출력이 인쇄되지 않는 경우에는 정책 서비스가 사용으로 설정되었는지 확인하고 서비스를 새로 고칩니다.

    % svcs policy
    STATE          STIME    FMRI
    online         Apr_10   svc:/network/ipsec/policy:default

    출력에 오류가 표시되는 경우에는 ipsecinit.conf 파일을 편집하여 오류를 수정한 다음 서비스를 새로 고칩니다.

  3. IKEv2 구성을 검증합니다.

    구성 출력을 수정해야 하는 경우 Example 11–1 및 Example 11–2를 참조하십시오. 다음 예의 출력에는 구성이 유효하다고 나옵니다.

    # /usr/lib/inet/in.ikev2d -c
    Feb 04 12:08:25: (1)    Reading service properties from smf(5) repository.
    Feb 04 12:08:25: (1)    Property "config_file" set to: "/etc/inet/ike/ikev2.config"
    Feb 04 12:08:25: (1)    Property "debug_level" set to: "all"
    Feb 04 12:08:25: (1)    Warning: debug output being written to stdout.
    Feb 04 12:08:25: (1)    Checking IKE rule #1: "Test 104 to 113"
    Feb 04 12:08:25: (1)    Configuration file /etc/inet/ike/ikev2.config is valid.
    Feb 04 12:08:25: (1)    Pre-shared key file /etc/inet/ike/ikev2.preshared is valid.

    주 -  디버그 출력에 대한 경고는 디버그 로그 파일을 지정한 후에도 변경되지 않습니다. debug_logfile 등록 정보 값을 지정하는 경우 경고는 디버그 출력이 해당 파일로 제공됨을 의미합니다. 그렇지 않은 경우 디버그 출력이 콘솔로 제공됩니다.
    • Checking IKE rule 행에서 IKE 규칙에서 적절한 IP 주소를 연결하는지 확인합니다. 예를 들어, 다음 항목은 일치합니다. ipsecinit.conf 파일의 laddr 값이 ikev2.config 파일의 local_addr 값과 일치하고 원격 주소가 일치합니다.

      {  laddr 10.134.64.104 raddr 10.134.66.113 }      /** ipsecinit.conf **/
                       ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
      
      	local_addr   10.134.64.104                          /** ikev2.config **/
      	remote_addr  10.134.66.113                          /** ikev2.config **/
      

      항목이 일치하지 않는 경우 구성을 수정하여 올바른 IP 주소를 식별합니다.


      주 -  규칙에서는 주소 범위를 포함하는 10.134.0.0/16과 같은 와일드카드 주소를 사용할 수 있습니다. 특정 주소에 대해 범위를 확인하십시오.
    • Pre-shared key file 행에 파일이 유효하지 않다고 표시되는 경우 파일을 수정합니다.

      오타가 있는지 확인합니다. 또한 IKEv2에서 ikev2.config에 있는 규칙의 레이블 값이 ikev2.preshared 파일의 레이블 값과 일치하는지 확인합니다. 그런 다음 두 키를 사용 중인 경우 한 시스템의 로컬 미리 공유한 키가 피어의 원격 미리 공유한 키와 일치하고 원격 키가 피어의 로컬 키와 일치하는지 확인합니다.

      그래도 구성이 작동하지 않는 경우에는 IPsec 및 IKE 의미 오류 문제 해결을 참조하십시오.

예 11-1  잘못된 IKEv2 구성 수정

다음 출력에서는 IKE SA의 수명이 너무 짧습니다.

# /usr/lib/inet/in.ikev2d -c
...
May 08 08:52:49: (1)	WARNING: Problem in rule "Test 104 to 113"
May 08 08:52:49: (1)	 HARD lifetime too small (60 < 100)
May 08 08:52:49: (1)	  -> Using 100 seconds (minimum)
May 08 08:52:49: (1)	Checking IKE rule #1: "config 10.134.13.113 to 10.134.13.104"
...

이 값은 ikev2.config 파일에서 명시적으로 설정했습니다. 경고를 제거하려면 수명 값을 100 이상으로 변경하고 서비스를 새로 고칩니다.

# pfedit /etc/inet/ike/ikev2.config
...
## childsa_lifetime_secs   60
childsa_lifetime_secs   100
...
# /usr/lib/inet/in.ikev2d -c
...
# svcadm refresh ikev2
예 11-2  일치하는 규칙 없음 메시지 수정

다음 출력에서는 미리 공유한 키가 정의되었지만 규칙에서 사용되지 않습니다.

# /usr/lib/inet/in.ikev2d -c
Feb 4 12:58:31: (1)  Reading service properties from smf(5) repository.
Feb 4 12:58:31: (1)  Property "config_file" set to: "/etc/inet/ike/ikev2.config"
Feb 4 12:58:31: (1)  Property "debug_level" set to: "op"
Feb 4 12:58:31: (1)  Warning: debug output being written to stdout.
Feb 4 12:58:31: (1)  Checking IKE rule #1: "Test 104 to 113"
Feb 4 12:58:31: (1)  Configuration file /etc/inet/ike/ikev2.config is valid.
Feb 4 12:58:31: (1)  No matching IKEv2 rule for pre-shared key ending on line 12
Feb 4 12:58:31: (1)  Pre-shared key file /etc/inet/ike/ikev2.preshared is valid.

    출력에는 규칙이 하나만 있다고 나옵니다.

  • 규칙에 미리 공유한 키가 필요한 경우 미리 공유한 키의 레이블이 규칙의 레이블과 일치하지 않습니다. ikev2.config 규칙 레이블과 ikev2.preshared 키 레이블을 일치하도록 수정합니다.

  • 규칙에서 인증서를 사용하는 경우에는 ikev2.preshared 파일의 12행에서 끝나는 미리 공유한 키를 제거하거나 주석 처리하여 No matching 메시지가 표시되지 않게 할 수 있습니다.

예 11-3  실행 중인 IKE 데몬에서 새 디버그 레벨 설정

다음 출력에서는 ikev2 서비스에서 디버그 출력이 all로 설정되어 있습니다.

# /usr/lib/inet/in.ikev2d -c
Feb 4 12:58:31: (1)  Reading service properties from smf(5) repository.
...
Feb 4 12:58:31: (1)  Property "debug_level" set to: "all"
...

IPsec 및 IKE를 실행하기 전에 시스템 문제를 해결하는 방법의 Step 2를 완료했는데도 디버그 출력이 all이 아닌 op인 경우 ikeadm 명령을 사용하여 실행 중인 IKE 데몬에서 디버그 레벨을 설정합니다.

# ikeadm set debug_level all