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–1Example 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