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

문서 정보

머리말

제1부시스템 관리 소개: IP 서비스

1.  Oracle Solaris TCP/IP 프로토콜 제품군(개요)

제2부TCP/IP 관리

2.  TCP/IP 네트워크 계획(작업)

3.  IPv6 소개(개요)

4.  IPv6 네트워크 계획(작업)

5.  TCP/IP 네트워크 서비스 구성 및 IPv4 주소 지정(작업)

6.  네트워크 인터페이스 관리(작업)

7.  IPv6 네트워크 구성(작업)

8.  TCP/IP 네트워크 관리(작업)

9.  네트워크 문제 해결(작업)

10.  TCP/IP 및 IPv4에 대한 자세한 정보(참조)

11.  IPv6 세부 개요(참조)

제3부DHCP

12.  DHCP 정보(개요)

13.  DHCP 서비스 계획(작업)

14.  DHCP 서비스 구성(작업)

15.  DHCP 관리(작업)

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

17.  DHCP 문제 해결(참조)

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

제4부IP 보안

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

20.  IPsec 구성(작업)

IPsec를 사용하여 트래픽 보호(작업 맵)

IPsec를 사용하여 트래픽 보호

IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법

IPsec를 사용하여 비웹 트래픽에서 웹 서버를 보호하는 방법

IPsec 정책을 표시하는 방법

Oracle Solaris 시스템에서 난수를 생성하는 방법

수동으로 IPsec 보안 연관을 만드는 방법

IPsec로 패킷이 보호되는지 확인하는 방법

네트워크 보안에 대한 역할을 구성하는 방법

IKE 및 IPsec 서비스를 관리하는 방법

IPsec를 사용하여 VPN 보호

터널 모드를 사용하여 IPsec로 VPN을 보호하는 예

IPsec를 사용하여 VPN 보호(작업 맵)

VPN을 보호하기 위한 IPsec 작업에 대한 네트워크 토폴로지 설명

IPv4를 사용하여 터널 모드의 IPsec 터널로 VPN을 보호하는 방법

IPv6을 사용하여 터널 모드의 IPsec 터널로 VPN을 보호하는 방법

IPv4를 사용하여 전송 모드의 IPsec 터널로 VPN을 보호하는 방법

IPv6을 사용하여 전송 모드의 IPsec 터널로 VPN을 보호하는 방법

IP 속임수를 방지하는 방법

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

22.  Internet Key Exchange(개요)

23.  IKE 구성(작업)

24.  Internet Key Exchange(참조)

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

26.  IP 필터(작업)

제5부IPMP

27.  IPMP 소개(개요)

28.  IPMP 관리(작업)

제6부IPQoS(IP Quality of Service)

29.  IPQoS 소개(개요)

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

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

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

33.  플로우 계산 및 통계 수집 사용(작업)

34.  IPQoS 세부 정보(참조)

용어집

색인

IPsec를 사용하여 트래픽 보호

이 절에서는 두 시스템 간의 트래픽을 보호하고 웹 서버의 보안을 유지할 수 있는 절차를 제공합니다. VPN을 보호하려면 IPsec를 사용하여 VPN 보호(작업 맵)를 참조하십시오. 추가 절차는 키 입력 자료 및 보안 연관을 제공하고 IPsec가 구성한 대로 작동 중인지 확인합니다.

다음 정보는 모든 IPsec 구성 작업에 적용됩니다.

IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법

이 절차에서는 다음 설정을 가정합니다.

시작하기 전에

시스템 또는 공유 IP 영역에 대한 IPsec 정책을 구성하려면 전역 영역에 있어야 합니다. 배타적 IP 영역의 경우 비전역 영역에서 IPsec 정책을 구성합니다.

  1. 시스템 콘솔에서 기본 관리자 역할 또는 수퍼 유저로 로그인합니다.

    기본 관리자 역할에는 기본 관리자 프로파일이 포함됩니다. 역할을 만들어 사용자에게 지정하려면 Oracle Solaris 관리: 기본 관리의 2 장, Solaris Management Console 작업(작업)을 참조하십시오.


    주 - 원격으로 로그인하면 보안이 중요한 트래픽이 도청될 수 있습니다. 원격 로그인을 보호해도 시스템의 보안은 원격 로그인 세션 보안으로 약해집니다. 원격 로그인을 보호하려면 ssh 명령을 사용하십시오. 예는 예 20-1를 참조하십시오.


  2. 각 시스템에서 호스트 항목을 확인합니다.

    현재 릴리스에서 /etc/inet/hosts 파일에 호스트 항목을 추가합니다.

    Solaris 10 7/07 이전 릴리스를 실행하는 시스템에서는 IPv4 및 IPv6 항목을 /etc/inet/ipnodes 파일에 추가합니다. 한 시스템에 대한 항목은 이 파일에서 모두 같이 있어야 합니다. 시스템 구성 파일에 대한 자세한 내용은 TCP/IP 구성 파일11 장IPv6 세부 개요(참조)를 참조하십시오.

    IPv4 주소만 사용하여 시스템을 연결 중인 경우 /etc/inet/hosts 파일을 수정합니다. 이 예에서 연결 시스템은 이전 Solaris 릴리스를 실행 중이며 IPv6 주소를 사용 중입니다.

    1. 이름이 enigma인 시스템에서 hosts 또는 ipnodes 파일에 다음을 입력합니다.
      # Secure communication with partym
      192.168.13.213 partym
      2001::eeee:3333:3333 partym
    2. 이름이 partym인 시스템에서 hosts 또는 ipnodes 파일에 다음을 입력합니다.
      # Secure communication with enigma
      192.168.116.16 enigma
      2001::aaaa:6666:6666 enigma

    심볼릭 이름에 대한 이름 지정 서비스를 사용하는 경우 안전하지 않습니다.

  3. 각 시스템에서 IPsec 정책 파일을 만듭니다.

    파일 이름은 /etc/inet/ipsecinit.conf입니다. 예는 /etc/inet/ipsecinit.sample 파일을 참조하십시오.

  4. IPsec 정책 항목을 ipsecinit.conf 파일에 추가합니다.
    1. enigma 시스템에서 다음 정책을 추가합니다.
      {laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
    2. partym 시스템에서 동일한 정책을 추가합니다.
      {laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

      IPsec 정책 항목의 구문은 ipsecconf(1M) 매뉴얼 페이지를 참조하십시오.

  5. 각 시스템에서 두 시스템 사이에 IPsec SA 쌍을 추가합니다.

    자동으로 SA를 만들도록 IKE(Internet Key Exchange)를 구성할 수 있습니다. 또한 수동으로 SA를 추가할 수 있습니다.


    주 - 수동으로 키를 생성하고 유지 관리해야 하는 합당한 이유가 없는 경우 IKE를 사용해야 합니다. IKE 키 관리는 수동 키 관리보다 안전합니다.


  6. IPsec 정책을 사용으로 설정합니다.
    • Solaris 10 4/09 이전 릴리스를 실행 중인 경우에는 시스템을 재부트합니다.
      # init 6

      그런 다음 IPsec로 패킷이 보호되는지 확인하는 방법으로 이동합니다.

    • Solaris 10 4/09 릴리스부터 IPsec 서비스를 새로 고치고 키 관리 서비스를 사용으로 설정합니다.

      단계 7에서 단계 10까지의 단계를 완료합니다.

  7. IPsec 정책 파일의 구문을 확인합니다.
    # ipsecconf -c -f /etc/inet/ipsecinit.conf

    오류를 수정하고 파일의 구문을 확인한 다음 계속합니다.

  8. IPsec 정책을 새로 고칩니다.
    # svcadm refresh svc:/network/ipsec/policy:default

    IPsec 정책은 기본적으로 사용으로 설정되므로 새로 고칩니다. IPsec 정책을 사용 안함으로 설정한 경우 사용으로 설정합니다.

    # svcadm enable svc:/network/ipsec/policy:default
  9. IPsec에 대한 키를 활성화합니다.
    • 단계 5에서 IKE를 구성한 경우 다음 중 하나를 수행합니다.
      • ike 서비스가 사용으로 설정되지 않은 경우 사용으로 설정합니다.
        # svcadm enable svc:/network/ipsec/ike:default
      • ike 서비스가 사용으로 설정된 경우 다시 시작합니다.
        # svcadm restart svc:/network/ipsec/ike:default
    • 단계 5에서 수동으로 키를 구성한 경우 다음 중 하나를 수행합니다.
      • manual-key 서비스가 사용으로 설정되지 않은 경우 사용으로 설정합니다.
        # svcadm enable svc:/network/ipsec/manual-key:default
      • manual-key 서비스가 사용으로 설정된 경우 새로 고칩니다.
        # svcadm refresh svc:/network/ipsec/manual-key:default
  10. 패킷이 보호되고 있는지 확인합니다.

    절차는 IPsec로 패킷이 보호되는지 확인하는 방법을 참조하십시오.

예 20-1 ssh 연결을 사용할 때 IPsec 정책 추가

이 예에서 수퍼 유저인 관리자는 ssh 명령을 사용하여 두번째 시스템에 접근한 다음 두 시스템에서 IPsec 정책 및 키를 구성합니다. 자세한 내용은 ssh(1) 매뉴얼 페이지를 참조하십시오.

ssh 연결 사용을 포함하여 다음에 두 시스템이 통신할 때 통신이 IPsec로 보호됩니다.

예 20-2 재부트 없이 IPsec를 사용하여 트래픽 보안

Solaris 10 4/09 이전 릴리스를 실행 중인 경우 다음 예가 유용합니다. 즉, 해당 릴리스에서 IPsec는 서비스로 관리되지 않습니다. 이 예에서는 테스트 환경에서 IPsec를 구현하는 방법을 설명합니다. 운용 환경에서는 ipsecconf 명령을 실행하는 것보다 재부트하는 것이 더 안전합니다. 보안 고려 사항은 이 예의 끝부분을 참조하십시오.

단계 6에서 재부트하는 대신 다음 옵션 중 하나를 선택합니다.

보안 고려 사항 – ipsecconf 명령을 실행할 때 경고를 읽으십시오. 이미 잠긴 소켓, 즉 이미 사용 중인 소켓은 시스템에 대한 비보안 백 도어를 제공합니다. 자세한 내용은 ipsecinit.conf ipsecconf에 대한 보안 고려 사항을 참조하십시오.

IPsec를 사용하여 비웹 트래픽에서 웹 서버를 보호하는 방법

보안 웹 서버를 통해 웹 클라이언트가 웹 서비스와 통신할 수 있습니다. 보안 웹 서버에서 웹 트래픽이 아닌 트래픽은 보안 검사를 통과해야 합니다. 다음 절차에는 웹 트래픽에 대한 우회가 포함됩니다. 또한 이 웹 서버는 비보안 DNS 클라이언트 요청을 할 수 있습니다. 기타 모든 트래픽에는 AES 및 SHA-1 알고리즘을 사용하는 ESP가 필요합니다.

시작하기 전에

IPsec 정책을 구성하려면 전역 영역에 있어야 합니다. 배타적 IP 영역의 경우 비전역 영역에서 IPsec 정책을 구성합니다.

IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법을 완료했으므로 다음 조건이 적용됩니다.

  1. 시스템 콘솔에서 기본 관리자 역할 또는 수퍼 유저로 로그인합니다.

    기본 관리자 역할에는 기본 관리자 프로파일이 포함됩니다. 역할을 만들어 사용자에게 지정하려면 Oracle Solaris 관리: 기본 관리의 2 장, Solaris Management Console 작업(작업)을 참조하십시오.


    주 - 원격으로 로그인하면 보안이 중요한 트래픽이 도청될 수 있습니다. 원격 로그인을 보호해도 시스템의 보안은 원격 로그인 세션 보안으로 약해집니다. 원격 로그인을 보호하려면 ssh 명령을 사용하십시오.


  2. 보안 정책 검사를 우회해야 하는 서비스를 결정합니다.

    웹 서버의 경우 이러한 서비스에는 TCP 포트 80(HTTP) 및 443(보안 HTTP)이 포함됩니다. 웹 서버에서 DNS 이름 조회를 제공하는 경우 TCP 및 UDP 모두에 대해 포트 53이 서버에 포함되어야 할 수도 있습니다.

  3. 웹 서버에 대한 IPsec 정책을 만들고 사용으로 설정합니다.
    • Solaris 10 4/09 릴리스부터 단계 4에서 단계 7까지의 단계를 수행합니다.
    • Solaris 10 4/09 이전 릴리스를 실행 중인 경우 단계 8에서 단계 11까지의 단계를 수행합니다.

    단계 12는 모든 Oracle Solaris 릴리스에서 옵션입니다.

  4. 웹 서버 정책을 IPsec 정책 파일에 추가합니다.

    다음 행을 /etc/inet/ipsecinit.conf 파일에 추가합니다.

    # Web traffic that web server should bypass.
    {lport  80 ulp tcp dir both} bypass {}
    {lport 443 ulp tcp dir both} bypass {}
    
    # Outbound DNS lookups should also be bypassed.
    {rport 53 dir both} bypass {}
    
    # Require all other traffic to use ESP with AES and SHA-1.
    # Use a unique SA for outbound traffic from the port
    {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

    이 구성은 단계 4에서 설명한 우회 예외 사항과 함께 보안 트래픽만 시스템에 액세스할 수 있도록 허용합니다.

  5. IPsec 정책 파일의 구문을 확인합니다.
    # ipsecconf -c -f /etc/inet/ipsecinit.conf
  6. IPsec 정책을 새로 고칩니다.
    # svcadm refresh svc:/network/ipsec/policy:default
  7. IPsec에 대한 키를 새로 고칩니다.

    설정이 완료되었습니다. 선택적으로 단계 12를 수행할 수 있습니다.

  8. /etc/inet 디렉토리에서 웹 서버 정책에 대한 파일을 만듭니다.

    주 - 다음 단계에서는 Solaris 10 4/09 이전 릴리스를 실행 중인 웹 서버를 구성합니다.


    파일에 해당 용도를 나타내는 이름을 지정합니다(예: IPsecWebInitFile). 이 파일에 다음 라인을 입력합니다.

    # Web traffic that web server should bypass.
    {lport  80 ulp tcp dir both} bypass {}
    {lport 443 ulp tcp dir both} bypass {}
    
    # Outbound DNS lookups should also be bypassed.
    {rport 53 dir both} bypass {}
    
    # Require all other traffic to use ESP with AES and SHA-1.
    # Use a unique SA for outbound traffic from the port
    {} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

    이 구성은 단계 4에서 설명한 우회 예외 사항과 함께 보안 트래픽만 시스템에 액세스할 수 있도록 허용합니다.

  9. 단계 8에서 만든 파일의 내용을 /etc/inet/ipsecinit.conf 파일에 복사합니다.
  10. 읽기 전용 권한으로 IPsecWebInitFile 파일을 보호합니다.
    # chmod 400 IPsecWebInitFile
  11. 재부트 없이 웹 서버의 보안을 유지합니다.

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

    • 키 관리를 위해 IKE를 사용 중인 경우 in.iked 데몬을 중지한 후 다시 시작합니다.

      # pkill in.iked
      # /usr/lib/inet/in.iked
    • 수동으로 키를 관리 중인 경우 ipseckeyipsecconf 명령을 사용합니다.

      IPsecWebInitFileipsecconf 명령에 대한 인수로 사용합니다. ipsecinit.conf 파일을 인수로 사용하는 경우 파일의 정책이 이미 시스템에 구현된 상태이면 ipsecconf 명령은 오류를 발생시킵니다.

      # ipseckey -c -f /etc/inet/secret/ipseckeys 
      # ipsecconf -a /etc/inet/IPsecWebInitFile 

    주의

    주의 - ipsecconf 명령을 실행할 때 경고를 읽으십시오. 이미 잠긴 소켓, 즉 이미 사용 중인 소켓은 시스템에 대한 비보안 백 도어를 제공합니다. 자세한 내용은 ipsecinit.conf ipsecconf에 대한 보안 고려 사항을 참조하십시오. in.iked 데몬을 다시 시작하는 경우에도 동일한 경고가 적용됩니다.


    또한 재부트할 수 있습니다. 재부트하면 모든 TCP 연결에 IPsec 정책이 적용됩니다. 재부트 시 TCP 연결이 IPsec 정책 파일의 정책을 사용합니다.

  12. (옵션) 원격 시스템이 비웹 트래픽에 대해 웹 서버와 통신할 수 있도록 설정합니다.

    다음 정책을 원격 시스템의 ipsecinit.conf 파일에 입력합니다.

    # Communicate with web server about nonweb stuff
    #
    {laddr webserver} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}

    원격 시스템은 시스템의 IPsec 정책이 일치할 경우에만 비웹 트래픽에 대해 웹 서버와 안전하게 통신할 수 있습니다.

IPsec 정책을 표시하는 방법

ipsecconf 명령을 인수 없이 실행하면 시스템에서 구성된 정책을 볼 수 있습니다.

시작하기 전에

ipsecconf 명령은 전역 영역에서 실행해야 합니다. 배타적 IP 영역의 경우 비전역 영역에서 ipsecconf 명령을 실행합니다.

  1. 네트워크 IPsec 관리 프로파일이 포함된 역할 또는 수퍼 유저로 로그인합니다.

    Solaris 10 4/09 이전 릴리스를 실행 중인 경우 네트워크 IPsec 관리 프로파일을 사용할 수 없습니다. 네트워크 보안 프로파일을 사용합니다.

    네트워크 보안 프로파일을 포함하는 역할을 만들고 해당 역할을 사용자에게 지정하려면 네트워크 보안에 대한 역할을 구성하는 방법을 참조하십시오.

  2. IPsec 정책을 표시합니다.
    1. 항목이 추가된 순서대로 전역 IPsec 정책 항목을 표시합니다.
      $ ipsecconf

      명령은 색인 다음에 번호와 함께 각 항목을 표시합니다.

    2. 일치하는 순서대로 IPsec 정책 항목을 표시합니다.
      $ ipsecconf -l -n
    3. 터널별 항목을 포함하여 일치하는 순서대로 IPsec 정책 항목을 표시합니다.
      $ ipsecconf -L -n

Oracle Solaris 시스템에서 난수를 생성하는 방법

수동으로 키를 지정하는 경우 키 입력 자료는 임의여야 합니다. IPsec 키에 대한 키 입력 자료 형식은 16진수입니다. 다른 운영 체제에서는 ASCII 키 입력 자료가 필요할 수 있습니다. ASCII가 필요한 운영 체제와 통신 중인 Oracle Solaris 시스템에 대한 키 입력 자료를 생성하려면 예 23-1을 참조하십시오.

사이트에 난수 생성기가 있는 경우 생성기를 사용합니다. 또는 od 명령을 /dev/random 장치와 함께 입력으로 사용할 수 있습니다. 자세한 내용은 od(1) 매뉴얼 페이지를 참조하십시오.

Solaris 10 4/09 릴리스에서 pktool 명령을 사용할 수도 있습니다. 이 명령 구문은 od 명령 구문보다 간단합니다. 자세한 내용은 System Administration Guide: Security Services의 How to Generate a Symmetric Key by Using the pktool Command을 참조하십시오.

  1. 16진수 형식의 난수를 생성합니다.
    % od -x|-X -A n file | head -n
    -x

    8진수 덤프를 16진수 형식으로 표시합니다. 16진수 형식은 키 입력 자료에 유용합니다. 16진수가 4자 청크로 인쇄됩니다.

    -X

    8진수 덤프를 16진수 형식으로 표시합니다. 16진수가 8자 청크로 인쇄됩니다.

    -A n

    표시에서 입력 오프셋 기준을 제거합니다.

    file

    난수의 소스로 사용됩니다.

    head -n

    출력의 처음 n개 라인만 표시되도록 제한합니다.

  2. 출력을 결합하여 적합한 길이의 키를 만듭니다.

    한 라인의 숫자 간 공백을 제거하여 32자 키를 만듭니다. 32자 키는 128비트입니다. SPI(보안 매개변수 색인)의 경우 8자 키를 사용해야 합니다. 키는 0x 접두어를 사용해야 합니다.

예 20-3 IPsec에 대한 키 자료 생성

다음 예에서는 각각 8개의 16진수 문자 그룹으로 구성된 키를 두 라인으로 표시합니다.

% od -X -A n /dev/random | head -2
         d54d1536 4a3e0352 0faf93bd 24fd6cad
         8ecc2670 f3447465 20db0b0c c83f5a4b

첫 라인에서 숫자 4개를 결합하여 32자 키를 만들 수 있습니다. 0x로 시작되는 숫자 8자는 적합한 SPI 값을 제공합니다(예: 0xf3447465).

다음 예에서는 각각 4개의 16진수 문자 그룹으로 구성된 키를 두 라인으로 표시합니다.

% od -x -A n /dev/random | head -2
         34ce 56b2 8b1b 3677 9231 42e9 80b0 c673
         2f74 2817 8026 df68 12f4 905a db3d ef27

첫 라인에서 숫자 8개를 결합하여 32자 키를 만들 수 있습니다.

수동으로 IPsec 보안 연관을 만드는 방법

다음 절차에서는 IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법 절차에 필요한 키 입력 자료를 제공합니다. partym enigma의 두 시스템에 대한 키를 생성합니다. 한 시스템에서 키를 생성한 다음 첫번째 시스템의 키를 두 시스템에서 모두 사용합니다.

시작하기 전에

공유 IP 영역에 대한 키 입력 자료를 수동으로 관리하려면 전역 영역에 있어야 합니다.

  1. SA에 대한 키 입력 자료를 생성합니다.

    아우바운드 트래픽에 대한 3개의 16진수 난수 및 인바운드 트래픽에 대한 3개의 16진수 난수가 필요합니다.

    따라서 한 시스템에서 다음 숫자를 생성해야 합니다.

    • spi 키워드에 대한 값으로 2개의 16진수 임의 숫자. 하나는 아웃바운드 트래픽용입니다. 다른 하나는 인바운드 트래픽용입니다. 각 숫자 모두 최대 8자까지만 허용됩니다.

    • 인증의 SHA1 알고리즘에 대한 2개의 16진수 난수. 160비트 키의 경우 각 숫자의 길이는 40자여야 합니다. 하나는 dst enigma용입니다. 다른 하나는 dst partym용입니다.

    • ESP 암호화의 AES 알고리즘에 대한 2개의 16진수 난수. 256비트 키의 경우 각 숫자의 길이는 64자여야 합니다. 하나는 dst enigma용입니다. 다른 하나는 dst partym용입니다.

    사이트에 임의 숫자 생성기가 있을 경우 생성기를 사용하십시오. 또한 od 명령을 사용할 수 있습니다. 절차는 Oracle Solaris 시스템에서 난수를 생성하는 방법을 참조하십시오.

  2. 시스템 중 한 시스템 콘솔에서 기본 관리자 역할 또는 수퍼 유저로 로그인합니다.

    기본 관리자 역할에는 기본 관리자 프로파일이 포함됩니다. 역할을 만들어 사용자에게 지정하려면 Oracle Solaris 관리: 기본 관리의 2 장, Solaris Management Console 작업(작업)을 참조하십시오.


    주 - 원격으로 로그인하면 보안이 중요한 트래픽이 도청될 수 있습니다. 원격 로그인을 보호해도 시스템의 보안은 원격 로그인 세션 보안으로 약해집니다. 원격 로그인을 보호하려면 ssh 명령을 사용하십시오.


  3. SA를 만듭니다.
    • Solaris 10 4/09 릴리스부터 단계 8에서 단계 10까지의 단계를 수행합니다.
    • Solaris 10 4/09 이전 릴리스를 실행 중인 경우 단계 4에서 단계 9까지의 단계를 수행합니다.
  4. ipseckey 명령 모드를 사용으로 설정합니다.
    # ipseckey
    
    >

    > 프롬프트는 ipseckey 명령 모드임을 나타냅니다.

  5. 기존 SA를 바꾸는 중인 경우 현재 SA를 비웁니다.
    > flush
    > 

    공격자가 SA를 끊지 않도록 하려면 키 입력 자료를 바꿔야 합니다.


    주 - 통신 시스템에서 키 바꾸기를 조정해야 합니다. 한 시스템에서 SA를 바꿀 때 원격 시스템에서도 SA를 바꿔야 합니다.


  6. SA를 만들려면 다음 명령을 입력합니다.
    > add protocol spi random-hex-string \
    src addr dst addr2 \
    protocol-prefix_alg protocol-algorithm  \
    protocol-prefixkey random-hex-string-of-algorithm-specified-length

    또한 이 구문을 사용하여 방금 비운 SA를 바꿉니다.

    protocol

    esp 또는 ah를 지정합니다.

    random-hex-string

    최대 8자의 난수를 16진수 형식으로 지정합니다. 문자 앞에 0x 접두어를 사용합니다. SPI(보안 매개변수 색인)가 허용하는 숫자보다 더 많이 입력하는 경우 시스템에서는 남은 숫자를 무시합니다. SPI가 허용하는 숫자보다 더 적게 입력하는 경우 시스템에서는 숫자를 더 추가합니다.

    addr

    한 시스템의 IP 주소를 지정합니다.

    addr2

    addr의 피어 시스템에 대한 IP 주소를 지정합니다.

    protocol-prefix

    encr 또는 auth 중 하나를 지정합니다. encr 접두어는 esp 프로토콜과 함께 사용됩니다. auth 접두어는 ah 프로토콜과 함께 사용되며 esp 프로토콜을 인증하는 데 사용됩니다.

    protocol-algorithm

    ESP 또는 AH에 대한 알고리즘을 지정합니다. 각 알고리즘에는 특정 길이의 키가 필요합니다.

    인증 알고리즘에는 MD5 및 SHA1이 포함됩니다. Solaris 10 4/09 릴리스부터 SHA256 및 SHA512가 지원됩니다. 암호화 알고리즘에는 DES, 3DES, AES 및 Blowfish가 포함됩니다.

    random-hex-string-of-algorithm-specified-length

    알고리즘에 필요한 길이로 16진수의 난수를 지정합니다. 예를 들어, MD5 알고리즘에는 128비트 키의 32자 문자열이 필요합니다. 3DES 알고리즘에는 192비트 키의 48자 문자열이 필요합니다.

    1. 예를 들어, enigma 시스템에서 아웃바운드 패킷을 보호합니다.

      단계 1에서 생성한 난수를 사용합니다.

      Solaris 10 1/06의 경우:

      > add esp spi 0x8bcd1407 \
      src 192.168.116.16 dst 192.168.13.213 \
      encr_alg aes \
      auth_alg sha1 \
      encrkey c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \
      authkey 6fab07fec4f2895445500ed992ab48835b9286ff
      >

      주 - 피어 시스템은 동일한 키 입력 자료 및 동일한 SPI를 사용해야 합니다.


    2. enigma 시스템의 ipseckey 명령 모드에서는 계속 인바운드 패킷을 보호합니다.

      다음 명령을 입력하여 패킷을 보호합니다.

      > add esp spi 0x122a43e4 \
      src 192.168.13.213 dst 192.168.116.16 \
      encr_alg aes \
      auth_alg sha1 \
      encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \
      authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
      >

      주 - 각 SA에 대해 키 및 SPI가 서로 다를 수 있습니다. 각 SA에 대해 서로 다른 키 및 서로 다른 SPI를 지정해야 합니다.


  7. ipseckey 명령 모드를 종료하려면 Control-D를 누르거나 quit를 입력합니다.
  8. /etc/inet/secret/ipseckeys 파일에 키 입력 자료를 추가합니다.

    Solaris 10 4/09 이전 릴리스에서 이 단계는 재부트 시 IPsec에서 키 입력 자료를 사용할 수 있도록 합니다.

    /etc/inet/secret/ipseckeys 파일의 라인은 ipseckey 명령줄 언어와 동일합니다.

    1. 예를 들어, enigma 시스템의 /etc/inet/secret/ipseckeys 파일은 다음과 유사하게 표시됩니다.
      # ipseckeys - This file takes the file format documented in 
      #   ipseckey(1m).
      #   Note that naming services might not be available when this file
      #   loads, just like ipsecinit.conf.
      #
      # for outbound packets on enigma
      add esp spi 0x8bcd1407 \
         src 192.168.116.16 dst 192.168.13.213  \
         encr_alg aes \
         auth_alg sha1  \
         encrkey  c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \
         authkey  6fab07fec4f2895445500ed992ab48835b9286ff
      #
      # for inbound packets
      add esp spi 0x122a43e4 \
         src 192.168.13.213 dst 192.168.116.16 \
         encr_alg aes \
         auth_alg sha1  \
         encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \
         authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
    2. 읽기 전용 권한으로 파일을 보호합니다.
      # chmod 400 /etc/inet/secret/ipseckeys
  9. partym 시스템에서 이 절차를 반복합니다.

    enigma에서 사용된 동일한 키 입력 자료를 사용합니다.

    두 시스템의 키 입력 자료는 동일해야 합니다. 다음 예와 같이 ipseckeys 파일의 설명만 다릅니다. dst enigmaenigma 시스템에서 인바운드되고 partym 시스템에서 아웃바운드되므로 설명이 다릅니다.

    # partym ipseckeys file
    #
    # for inbound packets
    add esp spi 0x8bcd1407 \
       src 192.168.116.16 dst 192.168.13.213  \
       encr_alg aes \
       auth_alg sha1  \
       encrkey  c0c65b888c2ee301c84245c3da63127e92b2676105d5330e85327c1442f37d49 \
       authkey  6fab07fec4f2895445500ed992ab48835b9286ff
    #
    # for outbound packets
    add esp spi 0x122a43e4 \
       src 192.168.13.213 dst 192.168.116.16 \
       encr_alg aes \
       auth_alg sha1  \
       encrkey a2ea934cd62ca7fa14907cb2ad189b68e4d18c976c14f22b30829e4b1ea4d2ae \
       authkey c80984bc4733cc0b7c228b9b74b988d2b7467745
  10. manual-key 서비스를 사용으로 설정합니다.
    # svcadm enable svc:/network/ipsec/manual-key

    현재 릴리스에서 키를 바꾸려면 예 20-4를 참조하십시오.

예 20-4 IPsec SA 바꾸기

이 예에서 관리자는 현재 Oracle Solaris 10 릴리스를 실행 중인 시스템을 구성하고 있습니다. 관리자는 새 키를 생성하고 ipseckeys 파일에서 키 입력 정보를 변경한 다음 서비스를 다시 시작합니다.

IPsec로 패킷이 보호되는지 확인하는 방법

패킷이 보호되는지 확인하려면 snoop 명령을 사용하여 연결을 테스트합니다. 다음 접두어가 snoop 출력에 나타날 수 있습니다.

시작하기 전에

snoop 출력을 만들려면 수퍼 유저 또는 동등한 역할로 로그인해야 합니다. 연결을 테스트하려면 두 시스템에 대한 액세스 권한이 있어야 합니다.

  1. partym와 같은 한 시스템에서 수퍼 유저로 로그인합니다.
    % su -
    Password: Type root password
    # 
  2. partym 시스템에서 원격 시스템으로부터 패킷 스누핑을 준비합니다.

    partym의 터미널 창에서 enigma 시스템으로부터 패킷을 스누핑합니다.

    # snoop -d hme0 -v enigma
    Using device /dev/hme (promiscuous mode)
  3. 원격 시스템에서 패킷을 보냅니다.

    다른 터미널 창에서 enigma 시스템에 원격으로 로그인합니다. 암호를 제공합니다. 그런 다음 수퍼 유저로 로그인하고 enigma 시스템에서 partym 시스템으로 패킷을 보냅니다. 패킷은 snoop -v enigma 명령으로 캡처해야 합니다.

    % ssh enigma
    Password: Type your password
    % su -
    Password: Type root password
    # ping partym
  4. snoop 출력을 검사합니다.

    partym 시스템에서 초기 IP 헤더 정보 이후 AHESP 정보가 포함된 출력을 볼 수 있어야 합니다. 다음과 유사한 AH ESP 정보는 패킷이 보호되고 있음을 나타냅니다.

    IP:   Time to live = 64 seconds/hops
    IP:   Protocol = 51 (AH)
    IP:   Header checksum = 4e0e
    IP:   Source address = 192.168.116.16, enigma
    IP:   Destination address = 192.168.13.213, partym
    IP:   No options
    IP:
    AH:  ----- Authentication Header -----
    AH:
    AH:  Next header = 50 (ESP)
    AH:  AH length = 4 (24 bytes)
    AH:  <Reserved field = 0x0>
    AH:  SPI = 0xb3a8d714
    AH:  Replay = 52
    AH:  ICV = c653901433ef5a7d77c76eaa
    AH:
    ESP:  ----- Encapsulating Security Payload -----
    ESP:
    ESP:  SPI = 0xd4f40a61
    ESP:  Replay = 52
    ESP:     ....ENCRYPTED DATA....
    
    ETHER:  ----- Ether Header -----
    ...

네트워크 보안에 대한 역할을 구성하는 방법

RBAC(역할 기반 액세스 제어)를 사용하여 시스템을 관리 중인 경우 이 절차에 따라 네트워크 관리 역할 또는 네트워크 보안 역할을 제공합니다.

  1. 로컬 prof_attr 데이터베이스에서 Network 권한 프로파일을 찾습니다.

    현재 릴리스에서 출력은 다음과 같이 표시됩니다.

    % cd /etc/security
    % grep Network prof_attr
    Network IPsec Management:::Manage IPsec and IKE...
    Network Link Security:::Manage network link security...
    Network Management:::Manage the host and network configuration...
    Network Security:::Manage network and host security...
    Network Wifi Management:::Manage wifi network configuration...
    Network Wifi Security:::Manage wifi network security...

    Solaris 10 4/09 이전 릴리스를 실행 중인 경우 출력은 다음과 같이 표시됩니다.

    % cd /etc/security
    % grep Network prof_attr
    Network Management:::Manage the host and network configuration  
    Network Security:::Manage network and host security  
    System Administrator::: Network Management 

    Network Management 프로파일은 System Administrator 프로파일의 보조 프로파일입니다. 역할에 System Administrator 권한 프로파일을 포함시킨 경우 해당 역할은 Network Management 프로파일의 명령을 실행할 수 있습니다.

  2. Network Management 권한 프로파일의 명령을 결정합니다.
    % grep "Network Management" /etc/security/exec_attr
    Network Management:solaris:cmd:::/usr/sbin/ifconfig:privs=sys_net_config
    …
    Network Management:suser:cmd:::/usr/sbin/snoop:uid=0

    solaris 정책 명령은 권한( privs=sys_net_config)으로 실행됩니다. suser 정책 명령은 수퍼 유저(uid=0)로 실행됩니다.

  3. 사이트에서 네트워크 보안 역할의 범위를 결정합니다.

    단계 1의 권한 프로파일 정의를 사용하여 결정합니다.

    • 모든 네트워크 보안을 처리하는 역할을 만들려면 Network Security 권한 프로파일을 사용합니다.
    • 현재 릴리스에서 IPsec 및 IKE만 처리하는 역할을 만들려면 Network IPsec Management 권한 프로파일을 사용합니다.
  4. Network Management 권한 프로파일을 포함하는 네트워크 보안 역할을 만듭니다.

    Network Management 권한 프로파일과 함께 Network Security 또는 Network IPsec Management 권한 프로파일을 가진 역할은 대표적으로 해당 권한으로 ifconfig, snoop, ipsecconfipseckey 명령을 실행할 수 있습니다.

    역할을 만들고, 사용자에게 역할을 지정하고, 이름 서비스에 변경 사항을 등록하려면 System Administration Guide: Security Services의 Configuring RBAC (Task Map)을 참조하십시오.

예 20-5 역할 간 네트워크 보안 책임 구분

이 예에서는 관리자가 두 역할 간에 네트워크 보안 책임을 구분합니다. 한 역할은 Wifi 및 링크 보안을 관리하고, 다른 역할은 IPsec 및 IKE를 관리합니다. 각 역할은 교대당 한 사람씩 세 명의 사용자에게 지정됩니다.

역할은 관리자가 다음과 같이 만듭니다.

IKE 및 IPsec 서비스를 관리하는 방법

다음 단계에서는 IPsec, IKE 및 수동 키 관리에 대한 SMF 서비스의 가장 일반적인 사용을 제공합니다. 기본적으로 policy ipsecalgs 서비스는 사용으로 설정됩니다. 또한 기본적으로 ike manual-key 서비스는 사용 안함으로 설정됩니다.

  1. IPsec 정책을 관리하려면 다음 중 하나를 수행합니다.
    • ipsecinit.conf 파일에 새 정책을 추가한 후 policy 서비스를 새로 고칩니다.
      # svcadm refresh svc:/network/ipsec/policy
    • 서비스 등록 정보의 값을 변경한 후 등록 정보 값을 확인한 다음 policy 서비스를 새로 고치고 다시 시작합니다.
      # svccfg -s policy setprop config/config_file=/etc/inet/MyIpsecinit.conf
      # svcprop -p config/config_file policy
      /etc/inet/MyIpsecinit.conf
      # svcadm refresh svc:/network/ipsec/policy
      # svcadm restart svc:/network/ipsec/policy
  2. 키를 자동으로 관리하려면 다음 중 하나를 수행합니다.
    • /etc/inet/ike/config 파일에 항목을 추가한 후 ike 서비스를 사용으로 설정합니다.
      # svcadm enable svc:/network/ipsec/ike
    • /etc/inet/ike/config 파일에서 항목을 변경한 후 ike 서비스를 다시 시작합니다.
      # svcadm restart svc:/network/ipsec/ike
    • 서비스 등록 정보의 값을 변경한 후 등록 정보 값을 확인한 다음 서비스를 새로 고치고 다시 시작합니다.
      # svccfg -s ike setprop config/admin_privilege=modkeys
      # svcprop -p config/admin_privilege ike
      modkeys
      # svcadm refresh svc:/network/ipsec/ike
      # svcadm restart svc:/network/ipsec/ike
    • ike 서비스를 중지하려면 사용 안함으로 설정합니다.
      # svcadm disable svc:/network/ipsec/ike
  3. 키를 수동으로 관리하려면 다음 중 하나를 수행합니다.
    • /etc/inet/secret/ipseckeys 파일에 항목을 추가한 후 manual-key 서비스를 사용으로 설정합니다.
      # svcadm enable svc:/network/ipsec/manual-key
    • ipseckeys 파일을 변경한 수 서비스를 새로 고칩니다.
      # svcadm refresh manual-key
    • 서비스 등록 정보의 값을 변경한 후 등록 정보 값을 확인한 다음 서비스를 새로 고치고 다시 시작합니다.
      # svccfg -s manual-key setprop config/config_file=/etc/inet/secret/MyIpseckeyfile
      # svcprop -p config/config_file manual-key
      /etc/inet/secret/MyIpseckeyfile
      # svcadm refresh svc:/network/ipsec/manual-key
      # svcadm restart svc:/network/ipsec/manual-key
    • 수동 키 관리를 막으려면 manual-key 서비스를 사용 안함으로 설정합니다.
      # svcadm disable svc:/network/ipsec/manual-key
  4. IPsec 프로토콜 및 알고리즘 테이블을 수정할 경우 ipsecalgs 서비스를 새로 고칩니다.
    # svcadm refresh svc:/network/ipsec/ipsecalgs

일반 오류

svcs service 명령을 사용하여 서비스의 상태를 찾습니다. 서비스가 maintenance 모드인 경우 svcs -x service 명령 출력의 디버깅 제안을 따릅니다.