탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris 관리: IP 서비스 Oracle Solaris 10 1/13 Information Library (한국어) |
1. Oracle Solaris TCP/IP 프로토콜 제품군(개요)
5. TCP/IP 네트워크 서비스 구성 및 IPv4 주소 지정(작업)
10. TCP/IP 및 IPv4에 대한 자세한 정보(참조)
IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법
IPsec를 사용하여 비웹 트래픽에서 웹 서버를 보호하는 방법
터널 모드를 사용하여 IPsec로 VPN을 보호하는 예
VPN을 보호하기 위한 IPsec 작업에 대한 네트워크 토폴로지 설명
IPv4를 사용하여 터널 모드의 IPsec 터널로 VPN을 보호하는 방법
IPv6을 사용하여 터널 모드의 IPsec 터널로 VPN을 보호하는 방법
IPv4를 사용하여 전송 모드의 IPsec 터널로 VPN을 보호하는 방법
IPv6을 사용하여 전송 모드의 IPsec 터널로 VPN을 보호하는 방법
이 절에서는 두 시스템 간의 트래픽을 보호하고 웹 서버의 보안을 유지할 수 있는 절차를 제공합니다. VPN을 보호하려면 IPsec를 사용하여 VPN 보호(작업 맵)를 참조하십시오. 추가 절차는 키 입력 자료 및 보안 연관을 제공하고 IPsec가 구성한 대로 작동 중인지 확인합니다.
다음 정보는 모든 IPsec 구성 작업에 적용됩니다.
IPsec 및 영역 – 공유 IP 비전역 영역에 대한 IPsec 정책 및 키를 관리하려면 전역 영역에서 IPsec 정책 파일을 만들고 전역 영역에서 IPsec 구성 명령을 실행합니다. 구성 중인 비보안 영역에 해당하는 소스 주소를 사용합니다. 또한 전역 영역에서 전역 영역의 IPsec 정책 및 키를 구성할 수 있습니다. 배타적 IP 영역의 경우 비전역 영역에서 IPsec 정책을 구성합니다. Solaris 10 7/07 릴리스부터 IKE를 사용하여 비전역 영역에서 키를 관리할 수 있습니다.
IPsec 및 RBAC – 역할을 사용하여 IPsec를 관리하려면 System Administration Guide: Security Services의 9 장, Using Role-Based Access Control (Tasks)을 참조하십시오. 예는 네트워크 보안에 대한 역할을 구성하는 방법을 참조하십시오.
IPsec 및 SCTP – IPsec는 SCTP(Streams Control Transmission Protocol) 연결을 보호하는 데 사용할 수 있지만 주의해야 합니다. 자세한 내용은 IPsec 및 SCTP를 참조하십시오.
이 절차에서는 다음 설정을 가정합니다.
두 시스템의 이름은 enigma 및 partym입니다.
각 시스템에는 두 주소인 IPv4 주소와 IPv6 주소가 있습니다.
각 시스템에는 AES 알고리즘을 사용하는 ESP 암호화(128비트의 키 필요) 및 SHA1 메시지 다이제스트를 사용하는 ESP 인증(160비트의 키 필요)이 필요합니다.
각 시스템은 공유 보안 연결을 사용합니다.
공유 SA를 사용하여 두 시스템을 보호하는 데 한 쌍의 SA만 필요합니다.
시작하기 전에
시스템 또는 공유 IP 영역에 대한 IPsec 정책을 구성하려면 전역 영역에 있어야 합니다. 배타적 IP 영역의 경우 비전역 영역에서 IPsec 정책을 구성합니다.
기본 관리자 역할에는 기본 관리자 프로파일이 포함됩니다. 역할을 만들어 사용자에게 지정하려면 Oracle Solaris 관리: 기본 관리의 2 장, Solaris Management Console 작업(작업)을 참조하십시오.
주 - 원격으로 로그인하면 보안이 중요한 트래픽이 도청될 수 있습니다. 원격 로그인을 보호해도 시스템의 보안은 원격 로그인 세션 보안으로 약해집니다. 원격 로그인을 보호하려면 ssh 명령을 사용하십시오. 예는 예 20-1를 참조하십시오.
현재 릴리스에서 /etc/inet/hosts 파일에 호스트 항목을 추가합니다.
Solaris 10 7/07 이전 릴리스를 실행하는 시스템에서는 IPv4 및 IPv6 항목을 /etc/inet/ipnodes 파일에 추가합니다. 한 시스템에 대한 항목은 이 파일에서 모두 같이 있어야 합니다. 시스템 구성 파일에 대한 자세한 내용은 TCP/IP 구성 파일 및 11 장IPv6 세부 개요(참조)를 참조하십시오.
IPv4 주소만 사용하여 시스템을 연결 중인 경우 /etc/inet/hosts 파일을 수정합니다. 이 예에서 연결 시스템은 이전 Solaris 릴리스를 실행 중이며 IPv6 주소를 사용 중입니다.
# Secure communication with partym 192.168.13.213 partym 2001::eeee:3333:3333 partym
# Secure communication with enigma 192.168.116.16 enigma 2001::aaaa:6666:6666 enigma
파일 이름은 /etc/inet/ipsecinit.conf입니다. 예는 /etc/inet/ipsecinit.sample 파일을 참조하십시오.
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
IPsec 정책 항목의 구문은 ipsecconf(1M) 매뉴얼 페이지를 참조하십시오.
자동으로 SA를 만들도록 IKE(Internet Key Exchange)를 구성할 수 있습니다. 또한 수동으로 SA를 추가할 수 있습니다.
주 - 수동으로 키를 생성하고 유지 관리해야 하는 합당한 이유가 없는 경우 IKE를 사용해야 합니다. IKE 키 관리는 수동 키 관리보다 안전합니다.
IKE 구성(작업 맵)의 구성 절차 중 하나에 따라 IKE를 구성합니다. IKE 구성 파일의 구문은 ike.config(4) 매뉴얼 페이지를 참조하십시오.
수동으로 SA를 추가하려면 수동으로 IPsec 보안 연관을 만드는 방법을 참조하십시오.
# init 6
그런 다음 IPsec로 패킷이 보호되는지 확인하는 방법으로 이동합니다.
# ipsecconf -c -f /etc/inet/ipsecinit.conf
오류를 수정하고 파일의 구문을 확인한 다음 계속합니다.
# svcadm refresh svc:/network/ipsec/policy:default
IPsec 정책은 기본적으로 사용으로 설정되므로 새로 고칩니다. IPsec 정책을 사용 안함으로 설정한 경우 사용으로 설정합니다.
# svcadm enable svc:/network/ipsec/policy:default
# svcadm enable svc:/network/ipsec/ike:default
# svcadm restart svc:/network/ipsec/ike:default
# svcadm enable svc:/network/ipsec/manual-key:default
# svcadm refresh svc:/network/ipsec/manual-key:default
절차는 IPsec로 패킷이 보호되는지 확인하는 방법을 참조하십시오.
예 20-1 ssh 연결을 사용할 때 IPsec 정책 추가
이 예에서 수퍼 유저인 관리자는 ssh 명령을 사용하여 두번째 시스템에 접근한 다음 두 시스템에서 IPsec 정책 및 키를 구성합니다. 자세한 내용은 ssh(1) 매뉴얼 페이지를 참조하십시오.
그런 다음 다른 터미널 창에서 관리자는 ssh 명령을 사용하여 두번째 시스템에 로그인합니다.
local-system # ssh other-system other-system #
ssh 세션의 터미널 창에서 관리자는 단계 2 ~ 단계 6을 완료하여 두번째 시스템의 IPsec 정책 및 키를 구성합니다.
그런 다음 관리자는 ssh 세션을 종료합니다.
other-system # exit local-system #
마지막으로 관리자는 단계 6을 완료하여 첫번째 시스템에서 IPsec 정책을 사용으로 설정합니다.
ssh 연결 사용을 포함하여 다음에 두 시스템이 통신할 때 통신이 IPsec로 보호됩니다.
예 20-2 재부트 없이 IPsec를 사용하여 트래픽 보안
Solaris 10 4/09 이전 릴리스를 실행 중인 경우 다음 예가 유용합니다. 즉, 해당 릴리스에서 IPsec는 서비스로 관리되지 않습니다. 이 예에서는 테스트 환경에서 IPsec를 구현하는 방법을 설명합니다. 운용 환경에서는 ipsecconf 명령을 실행하는 것보다 재부트하는 것이 더 안전합니다. 보안 고려 사항은 이 예의 끝부분을 참조하십시오.
단계 6에서 재부트하는 대신 다음 옵션 중 하나를 선택합니다.
IKE를 사용하여 키 입력 자료를 만든 경우 중지한 후 in.iked 데몬을 다시 시작합니다.
# pkill in.iked # /usr/lib/inet/in.iked
수동으로 키를 추가한 경우 ipseckey 명령을 사용하여 데이터베이스에 SA를 추가합니다.
# ipseckey -c -f /etc/inet/secret/ipseckeys
그런 다음 ipsecconf 명령을 사용하여 IPsec 정책을 활성화합니다.
# ipsecconf -a /etc/inet/ipsecinit.conf
보안 고려 사항 – ipsecconf 명령을 실행할 때 경고를 읽으십시오. 이미 잠긴 소켓, 즉 이미 사용 중인 소켓은 시스템에 대한 비보안 백 도어를 제공합니다. 자세한 내용은 ipsecinit.conf 및 ipsecconf에 대한 보안 고려 사항을 참조하십시오.
보안 웹 서버를 통해 웹 클라이언트가 웹 서비스와 통신할 수 있습니다. 보안 웹 서버에서 웹 트래픽이 아닌 트래픽은 보안 검사를 통과해야 합니다. 다음 절차에는 웹 트래픽에 대한 우회가 포함됩니다. 또한 이 웹 서버는 비보안 DNS 클라이언트 요청을 할 수 있습니다. 기타 모든 트래픽에는 AES 및 SHA-1 알고리즘을 사용하는 ESP가 필요합니다.
시작하기 전에
IPsec 정책을 구성하려면 전역 영역에 있어야 합니다. 배타적 IP 영역의 경우 비전역 영역에서 IPsec 정책을 구성합니다.
IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법을 완료했으므로 다음 조건이 적용됩니다.
두 시스템 사이의 통신이 IPsec로 보호됩니다.
키 입력 자료가 수동으로 또는 IKE에 의해 생성됩니다.
패킷이 보호되고 있는지 확인했습니다.
기본 관리자 역할에는 기본 관리자 프로파일이 포함됩니다. 역할을 만들어 사용자에게 지정하려면 Oracle Solaris 관리: 기본 관리의 2 장, Solaris Management Console 작업(작업)을 참조하십시오.
주 - 원격으로 로그인하면 보안이 중요한 트래픽이 도청될 수 있습니다. 원격 로그인을 보호해도 시스템의 보안은 원격 로그인 세션 보안으로 약해집니다. 원격 로그인을 보호하려면 ssh 명령을 사용하십시오.
웹 서버의 경우 이러한 서비스에는 TCP 포트 80(HTTP) 및 443(보안 HTTP)이 포함됩니다. 웹 서버에서 DNS 이름 조회를 제공하는 경우 TCP 및 UDP 모두에 대해 포트 53이 서버에 포함되어야 할 수도 있습니다.
단계 12는 모든 Oracle Solaris 릴리스에서 옵션입니다.
다음 행을 /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에서 설명한 우회 예외 사항과 함께 보안 트래픽만 시스템에 액세스할 수 있도록 허용합니다.
# ipsecconf -c -f /etc/inet/ipsecinit.conf
# svcadm refresh svc:/network/ipsec/policy:default
# svcadm restart svc:/network/ipsec/ike
# svcadm refresh svc:/network/ipsec/manual-key:default
설정이 완료되었습니다. 선택적으로 단계 12를 수행할 수 있습니다.
주 - 다음 단계에서는 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에서 설명한 우회 예외 사항과 함께 보안 트래픽만 시스템에 액세스할 수 있도록 허용합니다.
# chmod 400 IPsecWebInitFile
다음 옵션 중 하나를 선택합니다.
키 관리를 위해 IKE를 사용 중인 경우 in.iked 데몬을 중지한 후 다시 시작합니다.
# pkill in.iked # /usr/lib/inet/in.iked
수동으로 키를 관리 중인 경우 ipseckey 및 ipsecconf 명령을 사용합니다.
IPsecWebInitFile을 ipsecconf 명령에 대한 인수로 사용합니다. 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 정책 파일의 정책을 사용합니다.
다음 정책을 원격 시스템의 ipsecinit.conf 파일에 입력합니다.
# Communicate with web server about nonweb stuff # {laddr webserver} ipsec {encr_algs aes encr_auth_algs sha1 sa shared}
원격 시스템은 시스템의 IPsec 정책이 일치할 경우에만 비웹 트래픽에 대해 웹 서버와 안전하게 통신할 수 있습니다.
ipsecconf 명령을 인수 없이 실행하면 시스템에서 구성된 정책을 볼 수 있습니다.
시작하기 전에
ipsecconf 명령은 전역 영역에서 실행해야 합니다. 배타적 IP 영역의 경우 비전역 영역에서 ipsecconf 명령을 실행합니다.
Solaris 10 4/09 이전 릴리스를 실행 중인 경우 네트워크 IPsec 관리 프로파일을 사용할 수 없습니다. 네트워크 보안 프로파일을 사용합니다.
네트워크 보안 프로파일을 포함하는 역할을 만들고 해당 역할을 사용자에게 지정하려면 네트워크 보안에 대한 역할을 구성하는 방법을 참조하십시오.
수동으로 키를 지정하는 경우 키 입력 자료는 임의여야 합니다. 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을 참조하십시오.
% od -x|-X -A n file | head -n
8진수 덤프를 16진수 형식으로 표시합니다. 16진수 형식은 키 입력 자료에 유용합니다. 16진수가 4자 청크로 인쇄됩니다.
8진수 덤프를 16진수 형식으로 표시합니다. 16진수가 8자 청크로 인쇄됩니다.
표시에서 입력 오프셋 기준을 제거합니다.
난수의 소스로 사용됩니다.
출력의 처음 n개 라인만 표시되도록 제한합니다.
한 라인의 숫자 간 공백을 제거하여 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를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법 절차에 필요한 키 입력 자료를 제공합니다. partym 및 enigma의 두 시스템에 대한 키를 생성합니다. 한 시스템에서 키를 생성한 다음 첫번째 시스템의 키를 두 시스템에서 모두 사용합니다.
시작하기 전에
공유 IP 영역에 대한 키 입력 자료를 수동으로 관리하려면 전역 영역에 있어야 합니다.
아우바운드 트래픽에 대한 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 시스템에서 난수를 생성하는 방법을 참조하십시오.
기본 관리자 역할에는 기본 관리자 프로파일이 포함됩니다. 역할을 만들어 사용자에게 지정하려면 Oracle Solaris 관리: 기본 관리의 2 장, Solaris Management Console 작업(작업)을 참조하십시오.
주 - 원격으로 로그인하면 보안이 중요한 트래픽이 도청될 수 있습니다. 원격 로그인을 보호해도 시스템의 보안은 원격 로그인 세션 보안으로 약해집니다. 원격 로그인을 보호하려면 ssh 명령을 사용하십시오.
# ipseckey >
> flush >
공격자가 SA를 끊지 않도록 하려면 키 입력 자료를 바꿔야 합니다.
주 - 통신 시스템에서 키 바꾸기를 조정해야 합니다. 한 시스템에서 SA를 바꿀 때 원격 시스템에서도 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를 바꿉니다.
esp 또는 ah를 지정합니다.
최대 8자의 난수를 16진수 형식으로 지정합니다. 문자 앞에 0x 접두어를 사용합니다. SPI(보안 매개변수 색인)가 허용하는 숫자보다 더 많이 입력하는 경우 시스템에서는 남은 숫자를 무시합니다. SPI가 허용하는 숫자보다 더 적게 입력하는 경우 시스템에서는 숫자를 더 추가합니다.
한 시스템의 IP 주소를 지정합니다.
addr의 피어 시스템에 대한 IP 주소를 지정합니다.
encr 또는 auth 중 하나를 지정합니다. encr 접두어는 esp 프로토콜과 함께 사용됩니다. auth 접두어는 ah 프로토콜과 함께 사용되며 esp 프로토콜을 인증하는 데 사용됩니다.
ESP 또는 AH에 대한 알고리즘을 지정합니다. 각 알고리즘에는 특정 길이의 키가 필요합니다.
인증 알고리즘에는 MD5 및 SHA1이 포함됩니다. Solaris 10 4/09 릴리스부터 SHA256 및 SHA512가 지원됩니다. 암호화 알고리즘에는 DES, 3DES, AES 및 Blowfish가 포함됩니다.
알고리즘에 필요한 길이로 16진수의 난수를 지정합니다. 예를 들어, MD5 알고리즘에는 128비트 키의 32자 문자열이 필요합니다. 3DES 알고리즘에는 192비트 키의 48자 문자열이 필요합니다.
단계 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를 사용해야 합니다.
다음 명령을 입력하여 패킷을 보호합니다.
> 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를 지정해야 합니다.
Solaris 10 4/09 이전 릴리스에서 이 단계는 재부트 시 IPsec에서 키 입력 자료를 사용할 수 있도록 합니다.
/etc/inet/secret/ipseckeys 파일의 라인은 ipseckey 명령줄 언어와 동일합니다.
# 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
# chmod 400 /etc/inet/secret/ipseckeys
enigma에서 사용된 동일한 키 입력 자료를 사용합니다.
두 시스템의 키 입력 자료는 동일해야 합니다. 다음 예와 같이 ipseckeys 파일의 설명만 다릅니다. dst enigma이 enigma 시스템에서 인바운드되고 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
# svcadm enable svc:/network/ipsec/manual-key
현재 릴리스에서 키를 바꾸려면 예 20-4를 참조하십시오.
예 20-4 IPsec SA 바꾸기
이 예에서 관리자는 현재 Oracle Solaris 10 릴리스를 실행 중인 시스템을 구성하고 있습니다. 관리자는 새 키를 생성하고 ipseckeys 파일에서 키 입력 정보를 변경한 다음 서비스를 다시 시작합니다.
먼저 관리자는 Oracle Solaris 시스템에서 난수를 생성하는 방법을 완료하여 키를 생성합니다.
그런 다음 관리자는 /etc/inet/secret/ipseckeys 파일에서 생성된 키를 사용합니다.
관리자는 동일한 알고리즘을 사용했습니다. 따라서 관리자는 SPI, encrkey 및 authkey 값만 변경하면 됩니다.
add esp spi 0x8xzy1492 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg aes \ auth_alg sha1 \ encrkey 0a1f3886b06ebd7d39f6f89e4c29c93f2741c6fa598a38af969907a29ab1b42a \ authkey a7230aabf513f35785da73e33b064608be41f69a # # add esp spi 0x177xce34\ src 192.168.13.213 dst 192.168.116.16 \ encr_alg aes \ auth_alg sha1 \ encrkey 4ef5be40bf93498017b2151d788bb37e372f091add9b11149fba42435fefe328 \ authkey 0e1875d9ff8e42ab652766a5cad49f38c9152821
마지막으로 관리자는 manual-key 서비스를 다시 시작합니다. 다시 시작 명령은 새 키를 추가하기 전에 기존 키를 비웁니다.
# svcadm restart manual-key
패킷이 보호되는지 확인하려면 snoop 명령을 사용하여 연결을 테스트합니다. 다음 접두어가 snoop 출력에 나타날 수 있습니다.
AH: 접두어는 AH가 헤더를 보호하고 있음을 나타냅니다. auth_alg를 사용하여 트래픽을 보호하는 경우 AH:를 보게 됩니다.
ESP: 접두어는 암호화된 데이터가 보내지고 있음을 나타냅니다. encr_auth_alg 또는 encr_alg를 사용하여 트래픽을 보호하는 경우 ESP:를 보게 됩니다.
시작하기 전에
snoop 출력을 만들려면 수퍼 유저 또는 동등한 역할로 로그인해야 합니다. 연결을 테스트하려면 두 시스템에 대한 액세스 권한이 있어야 합니다.
% su - Password: Type root password #
partym의 터미널 창에서 enigma 시스템으로부터 패킷을 스누핑합니다.
# snoop -d hme0 -v enigma Using device /dev/hme (promiscuous mode)
다른 터미널 창에서 enigma 시스템에 원격으로 로그인합니다. 암호를 제공합니다. 그런 다음 수퍼 유저로 로그인하고 enigma 시스템에서 partym 시스템으로 패킷을 보냅니다. 패킷은 snoop -v enigma 명령으로 캡처해야 합니다.
% ssh enigma Password: Type your password % su - Password: Type root password # ping partym
partym 시스템에서 초기 IP 헤더 정보 이후 AH 및 ESP 정보가 포함된 출력을 볼 수 있어야 합니다. 다음과 유사한 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(역할 기반 액세스 제어)를 사용하여 시스템을 관리 중인 경우 이 절차에 따라 네트워크 관리 역할 또는 네트워크 보안 역할을 제공합니다.
현재 릴리스에서 출력은 다음과 같이 표시됩니다.
% 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 프로파일의 명령을 실행할 수 있습니다.
% 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)로 실행됩니다.
단계 1의 권한 프로파일 정의를 사용하여 결정합니다.
Network Management 권한 프로파일과 함께 Network Security 또는 Network IPsec Management 권한 프로파일을 가진 역할은 대표적으로 해당 권한으로 ifconfig, snoop, ipsecconf 및 ipseckey 명령을 실행할 수 있습니다.
역할을 만들고, 사용자에게 역할을 지정하고, 이름 서비스에 변경 사항을 등록하려면 System Administration Guide: Security Services의 Configuring RBAC (Task Map)을 참조하십시오.
예 20-5 역할 간 네트워크 보안 책임 구분
이 예에서는 관리자가 두 역할 간에 네트워크 보안 책임을 구분합니다. 한 역할은 Wifi 및 링크 보안을 관리하고, 다른 역할은 IPsec 및 IKE를 관리합니다. 각 역할은 교대당 한 사람씩 세 명의 사용자에게 지정됩니다.
역할은 관리자가 다음과 같이 만듭니다.
관리자는 첫번째 역할 이름을 LinkWifi로 지정합니다.
관리자는 Network Wifi, Network Link Security 및 Network Management 권한 프로파일을 역할에 지정합니다.
그런 다음 관리자는 LinkWifi 역할을 해당 사용자에게 지정합니다.
관리자는 두번째 역할 이름을 IPsec Administrator로 지정합니다.
관리자는 Network IPsec Management 및 Network Management 권한 프로파일을 역할에 지정합니다.
그런 다음 관리자는 IPsec Administrator 역할을 해당 사용자에게 지정합니다.
다음 단계에서는 IPsec, IKE 및 수동 키 관리에 대한 SMF 서비스의 가장 일반적인 사용을 제공합니다. 기본적으로 policy 및 ipsecalgs 서비스는 사용으로 설정됩니다. 또한 기본적으로 ike 및 manual-key 서비스는 사용 안함으로 설정됩니다.
# svcadm refresh svc:/network/ipsec/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
# svcadm enable svc:/network/ipsec/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
# svcadm disable svc:/network/ipsec/ike
# svcadm enable svc:/network/ipsec/manual-key
# 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
# svcadm disable svc:/network/ipsec/manual-key
# svcadm refresh svc:/network/ipsec/ipsecalgs
일반 오류
svcs service 명령을 사용하여 서비스의 상태를 찾습니다. 서비스가 maintenance 모드인 경우 svcs -x service 명령 출력의 디버깅 제안을 따릅니다.