탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1의 네트워크 보안 Oracle Solaris 11.1 Information Library (한국어) |
3. 웹 서버 및 Secure Sockets Layer 프로토콜
IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법
IPsec를 사용하여 비웹 트래픽에서 웹 서버를 보호하는 방법
터널 모드를 사용하여 IPsec로 VPN을 보호하는 예
VPN을 보호하기 위한 IPsec 작업에 대한 네트워크 토폴로지 설명
터널 모드에서 IPsec를 사용하여 VPN을 보호하는 방법
다음 작업 맵에서는 IPsec를 관리할 때 사용할 수 있는 작업을 안내합니다.
|
다음 절차에서는 IPsec를 사용하여 두 시스템 사이의 트래픽을 보호하는 방법의 단계 4에 대한 키 입력 자료를 제공합니다. partym 및 enigma의 두 시스템에 대한 키를 생성합니다. 한 시스템에서 키를 생성한 다음 첫번째 시스템의 키를 두 시스템에서 모두 사용합니다.
시작하기 전에
비전역 영역에 대한 키 입력 자료를 수동으로 관리하려면 전역 영역에 있어야 합니다.
root 역할이 있어야 합니다. 자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
아우바운드 트래픽에 대한 3개의 16진수 임의 숫자 및 인바운드 트래픽에 대한 3개의 16진수 임의 숫자가 필요합니다. 따라서 한 시스템에서 다음 숫자를 생성해야 합니다.
spi 키워드에 대한 값으로 2개의 16진수 임의 숫자. 하나는 아웃바운드 트래픽용입니다. 다른 하나는 인바운드 트래픽용입니다. 각 숫자 모두 최대 8자까지만 허용됩니다.
AH의 SHA-2 알고리즘에 대한 2개의 16진수 임의 숫자. 각 숫자 모두 512자까지만 허용됩니다. 하나는 dst enigma용입니다. 다른 하나는 dst partym용입니다.
ESP의 3DES 알고리즘에 대한 2개의 16진수 임의 숫자. 각 숫자의 길이는 168자여야 합니다. 하나는 dst enigma용입니다. 다른 하나는 dst partym용입니다.
사이트에 임의 숫자 생성기가 있을 경우 생성기를 사용하십시오.
Oracle Solaris 11.1 관리: 보안 서비스의 pktool 명령을 사용하여 대칭 키를 생성하는 방법 및 해당 절의 IPsec 예에 나온 대로 pktool 명령을 사용합니다.
# 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. # # Backslashes indicate command continuation. # # for outbound packets on enigma add esp spi 0x8bcd1407 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg 3des \ auth_alg sha512 \ encrkey d41fb74470271826a8e7a80d343cc5aa... \ authkey e896f8df7f78d6cab36c94ccf293f031... # # for inbound packets add esp spi 0x122a43e4 \ src 192.168.13.213 dst 192.168.116.16 \ encr_alg 3des \ auth_alg sha512 \ encrkey dd325c5c137fb4739a55c9b3a1747baa... \ authkey ad9ced7ad5f255c9a8605fba5eb4d2fd...
# chmod 400 /etc/inet/secret/ipseckeys
# ipseckey -c -f /etc/inet/secret/ipseckeys
주 - 두 시스템의 키 입력 자료는 동일해야 합니다.
# svcadm enable svc:/network/ipsec/manual-key:default
# svcadm refresh ipsec/manual-key
다음 순서
IPsec 정책 설정을 완료하지 않았으면 IPsec 정책을 사용으로 설정하거나 새로 고치는 IPsec 절차로 돌아가십시오.
Oracle Solaris의 RBAC(role-based access control) 기능을 사용하여 시스템을 관리하는 경우 이 절차에 따라 네트워크 관리 역할 또는 네트워크 보안 역할을 제공합니다.
시작하기 전에
역할을 만들고 지정하려면 root 역할이 있어야 합니다. 일반 사용자는 사용 가능한 권한 프로파일 내용을 표시하여 확인할 수 있습니다.
% getent prof_attr | grep Network | more Console User:RO::Manage System as the Console User... Network Management:RO::Manage the host and network configuration... Network Autoconf Admin:RO::Manage Network Auto-Magic configuration via nwamd... Network Autoconf User:RO::Network Auto-Magic User... Network ILB:RO::Manage ILB configuration via ilbadm... Network LLDP:RO::Manage LLDP agents via lldpadm... Network VRRP:RO::Manage VRRP instances... Network Observability:RO::Allow access to observability devices... Network Security:RO::Manage network and host security...:profiles=Network Wifi Security,Network Link Security,Network IPsec Management... Network Wifi Management:RO::Manage wifi network configuration... Network Wifi Security:RO::Manage wifi network security... Network Link Security:RO::Manage network link security... Network IPsec Management:RO::Manage IPsec and IKE... System Administrator:RO::Can perform most non-security administrative tasks: profiles=...Network Management... Information Security:RO::Maintains MAC and DAC security policies: profiles=...Network Security...
Network Management 프로파일은 System Administrator 프로파일의 보조 프로파일입니다. 역할에 System Administrator 권한 프로파일을 포함시킨 경우 해당 역할은 Network Management 프로파일의 명령을 실행할 수 있습니다.
% getent exec_attr | grep "Network Management" ... Network Management:solaris:cmd:::/sbin/dlstat:euid=dladm;egid=sys ... Network Management:solaris:cmd:::/usr/sbin/snoop:privs=net_observability Network Management:solaris:cmd:::/usr/sbin/spray:euid=0 ...
단계 1의 권한 프로파일 정의를 사용하여 결정합니다.
모든 네트워크 보안을 처리하는 역할을 만들려면 Network Security 권한 프로파일을 사용합니다.
IPsec 및 IKE만 처리하는 역할을 만들려면 Network IPsec Management 권한 프로파일을 사용합니다.
Network Management 권한 프로파일과 함께 Network Security 또는 Network IPsec Management 권한 프로파일을 가진 역할은 대표적으로 해당 권한으로 ipadm, ipseckey 및 snoop 명령을 실행할 수 있습니다.
역할을 만들고, 사용자에게 역할을 지정하고, 이름 지정 서비스에 변경 사항을 등록하려면 Oracle Solaris 11.1 관리: 보안 서비스의 RBAC 초기 구성(작업 맵)을 참조하십시오.
예 7-4 역할 간 네트워크 보안 책임 구분
이 예에서는 관리자가 두 역할 간에 네트워크 보안 책임을 구분합니다. 한 역할은 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 서비스는 사용 안함으로 설정됩니다.
시작하기 전에
root 역할이 있어야 합니다. 자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# svcadm refresh svc:/network/ipsec/policy
# svccfg -s policy setprop config/config_file=/etc/inet/MyIpsecinit.conf # svccfg -s policy listprop config/config_file config/config_file astring /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:default
# svccfg -s ike setprop config/admin_privilege = astring: "modkeys" # svccfg -s ike listprop config/admin_privilege config/admin_privilege astring 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:default
# svcadm refresh manual-key
# svccfg -s manual-key setprop config/config_file=/etc/inet/secret/MyIpseckeyfile # svccfg -s manual-key listprop config/config_file config/config_file astring /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 명령 출력의 디버깅 제안을 따릅니다.
패킷이 보호되는지 확인하려면 snoop 명령을 사용하여 연결을 테스트합니다. 다음 접두어가 snoop 출력에 나타날 수 있습니다.
AH: 접두어는 AH가 헤더를 보호하고 있음을 나타냅니다. auth_alg를 사용하여 트래픽을 보호하는 경우 AH:를 보게 됩니다.
ESP: 접두어는 암호화된 데이터가 보내지고 있음을 나타냅니다. encr_auth_alg 또는 encr_alg를 사용하여 트래픽을 보호하는 경우 ESP:를 보게 됩니다.
시작하기 전에
연결을 테스트하려면 두 시스템에 대한 액세스 권한이 있어야 합니다.
snoop 출력을 만들려면 root 역할을 가진 사용자여야 합니다. 자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
% su - Password: Type root password #
partym의 터미널 창에서 enigma 시스템으로부터 패킷을 스누핑합니다.
# snoop -d net0 -v enigma Using device /dev/bge (promiscuous mode)
다른 터미널 창에서 enigma 시스템에 원격으로 로그인합니다. 암호를 제공합니다. 그런 다음 root 역할을 맡고 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 ----- ...