IKE 정책 작성
사용자 지정 IKE(Internet Key Exchange) 정책을 사용하여 IKE 협상 1단계에서 사용되는 보안 매개변수를 정의할 수 있습니다. 이 단계에서 VPN과 피어 장치는 서로를 인증하고 2단계 협상에 사용될 보안 통신 채널을 구축하기 위해 인증 정보와 보안 정책을 교환합니다.
IKEv1 은 더 이상 사용되지 않는 프로토콜이며 IKEv2 을 사용하는 것이 좋습니다. VPN 연결에서 IKEv1 정책을 사용하는 경우, IKEv1 은 단일 알고리즘만 지원하므로 연결된 IPsec 정책에도 하나의 알고리즘만 포함되어야 합니다. 여러 알고리즘을 사용하는 IPsec 정책은 IKEv1 에서 지원되지 않습니다.
일관된 알고리즘 선택을 보장하려면 IBM Cloud VPN 게이트웨이와 피어 게이트웨이 모두에서 정확한 IKE 및 IPsec 알고리즘과 그 우선 순위를 일치시키세요. 알고리즘 선택에 영향을 미치는 요소에 대한 자세한 내용은 사이트 간 VPN 연결에서 IKE 및 IPsec에 대한 암호화 알고리즘은 어떻게 선택되나요?
콘솔에서 IKE 정책 만들기
콘솔에서 IKE 정책을 생성하려면 다음 단계를 따르십시오
-
‘VPC용 VPN’ 목록 페이지에서 ‘사이트 간 게이트웨이’ > ‘IKE 정책’을 선택합니다.
-
‘생성’을 클릭하고 다음 정보를 입력하십시오:
- 위치- 이 IKE 정책에 적용할 지역을 선택하십시오.
- 이름 - IKE 정책의 이름을 입력하십시오.
- 리소스 그룹 - 이 IKE 정책에 대한 리소스 그룹을 선택합니다.
- IKE 버전- IKE 프로토콜 버전을 선택합니다. 일부 공급업체는 IKEv1 와 IKEv2 를 모두 지원하지 않습니다. 피어 공급업체 설명서를 확인하여 어떤 IKE 버전이 지원되는지 확인하세요.
- 암호화- IKE에 사용할 암호화 알고리즘을 선택합니다. 기본적으로 가장 낮은 강도의 알고리즘이 선택됩니다. 각 필드에 대해 여러 값을 선택하고 우선순위에 따라 순서를 바꿀 수 있습니다. VPN 게이트웨이는 피어 게이트웨이와 협상하여 상호 지원되는 최상의 알고리즘을 선택합니다.
- 인증- IKE에 사용할 인증 알고리즘을 선택합니다. 기본적으로 가장 낮은 강도의 알고리즘이 선택됩니다. 각 필드에 대해 여러 값을 선택하고 우선순위에 따라 순서를 바꿀 수 있습니다.
- Diffie-Hellman 그룹- IKE에 사용할 DH 그룹을 선택합니다. 기본적으로 가장 낮은 DH 그룹이 선택됩니다. 여러 DH 그룹을 선택하고 우선순위에 따라 그룹을 재정렬할 수 있습니다.
- 키 수명- 1단계 터널의 수명(초)을 선택합니다.
-
작성을 클릭하십시오.
-
VPN 연결 세부사항 페이지에서 원하는 IKE 정책을 사용하도록 IKE 정책 필드를 설정하십시오.
성공적인 IKE/IPsec 협상을 보장하려면 각 카테고리(인증, 암호화 및 DH 그룹)에서 하나 이상의 일치하는 알고리즘으로 두 피어를 구성하세요. 피어 간에 이러한 설정을 정렬하면 연결 실패를 방지하는 데 도움이 됩니다.
CLI를 사용하여 IKE 정책 생성하기
시작하기 전에 CLI 환경을 설정 하십시오.
CLI에서 IKE 정책을 생성하려면 다음 명령을 입력하십시오:
ibmcloud is ike-policy-create IKE_POLICY_NAME AUTHENTICATION_ALGORITHMS DH_GROUPS ENCRYPTION_ALGORITHMS IKE_VERSION [--key-lifetime KEY_LIFETIME] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
여기서:
- IKE_POLICY_NAME- IKE 정책의 이름입니다.
- AUTHENTICATION_ALGORITHMS- 인증 알고리즘. 중 하나입니다:
sha256,sha384,sha512, 또는 쉼표로 구분된 인증 알고리즘 목록(sha512, sha384, sha256,). 알고리즘의 순서에 따라 협상 중 우선순위가 결정됩니다. - DH_GROUPS- 디피-헬만 그룹. 중 하나
14,15,16,17,18,19,20,21,22,23,24,31, 또는 쉼표로 구분된 DH 그룹 목록(14,15,16,17,18). 그룹의 순서에 따라 협상 중 우선순위가 결정됩니다. - ENCRYPTION_ALGORITHMS- 암호화 알고리즘. 중 하나입니다:
aes128,aes192,aes256, 또는 쉼표로 구분된 암호화 알고리즘 목록(aes256,aes192,aes128). 알고리즘의 순서에 따라 협상 중 우선순위가 결정됩니다. - IKE_VERSION- IKE 프로토콜 버전입니다. 다음 중 하나입니다:
1,2. - --key-lifetime- 키의 유효 기간(초). 최대:
86400. 최소:1800. 기본값은28800입니다. - --resource-group-id- 리소스 그룹의 ID입니다. 이 옵션은 --resource-group-name과 상호 배타적입니다.
- --resource-group-name- 리소스 그룹의 이름입니다. 이 옵션은 --resource-group-id와 상호 배타적입니다.
- --output은 JSON 형식으로 출력을 지정합니다.
- -q, --quiet - 상세 출력을 억제합니다.
md5 및 sha1 인증 알고리즘, 2 및 5 DH 그룹, triple_des 암호화 알고리즘은 2022년 9월 20일에 사용 중단되었으며 콘솔에서 더 이상 지원되지 않습니다.
CLI에서 IKE 정책 업데이트하기
시작하기 전에 CLI 환경을 설정 하십시오.
CLI에서 IKE 정책을 업데이트하려면 다음 명령을 입력하십시오:
ibmcloud is ike-policy-update IKE_POLICY [--name NEW_NAME] [--authentication-algorithms AUTHENTICATION_ALGORITHMS] [--dh-groups DH_GROUPS] [--encryption-algorithms ENCRYPTION_ALGORITHMS] [--authentication-algorithm sha256 | sha384 | sha512] [--dh-group 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 31] [--encryption-algorithm aes128 | aes192 | aes256] [--ike-version 1 | 2] [--key-lifetime KEY_LIFETIME] [--output JSON] [-q, --quiet]
여기서:
-
--name- IKE 정책의 이름.
-
--인증 알고리즘- 쉼표로 구분된 인증 알고리즘 목록(권장). 알고리즘의 순서는 협상 과정에서 해당 알고리즘의 우선순위를 결정합니다.
-
--authentication-algorithm- 인증 알고리즘 (사용 중단됨). 다음 중 하나:
sha256,sha384,sha512. -
--dh-groups- 쉼표로 구분된 DH 그룹 목록(권장). 그룹의 순서에 따라 협상 중 우선순위가 결정됩니다.
-
--dh-group- DH 그룹(더 이상 사용되지 않음).
14,15,16,17,18,19,20,21,22,23,24,31중 하나입니다. -
-- 암호화 알고리즘- 쉼표로 구분된 암호화 알고리즘 목록(권장). 알고리즘의 순서는 협상 과정에서 해당 알고리즘의 우선순위를 결정합니다.
-
--encryption-algorithm- 암호화 알고리즘 (사용 중단됨). 다음 중 하나:
aes128,aes192,aes256. -
--ike-version- IKE 프로토콜 버전. 다음 중 하나입니다:
1,2.단일 명령에서 동일한 알고리즘 범주에 대해 단수 및 배열 기반 속성을 혼합하지 마세요.
명령 예제
authentication algorithms, dh_groups, encryption algorithms 의 단수 값은 더 이상 사용되지 않으며, CLI에서 IKE 정책을 만들 수 없습니다. 대신 쉼표로 구분된 여러 값을 사용합니다.
-
쉼표로 구분된 인증 알고리즘(SHA 512 및 SHA 256), DH 그룹(14, 15, 16, 17), 암호화 알고리즘(AES 256, AES 192, AES 128) 및 IKE 버전 2를 사용하여 IKE 정책을 만듭니다:
ibmcloud is ike-policy-create my-ike-policy sha512,sha256 14,15,16,17 aes256,aes192,aes128 2 -
단일 인증 알고리즘(SHA 256), 단일 암호화 알고리즘(AES 128), DH 그룹 14 및 IKE 버전 2를 사용하여 IKE 정책을 만듭니다:
ibmcloud is ike-policy-create my-ike-policy sha256 14 aes128 2 -
동일한 매개변수를 사용하고 유효 기간을 3600초로 설정하여 IKE 정책을 생성합니다:
ibmcloud is ike-policy-create my-ike-policy sha256 14 aes128 2 --key-lifetime 3600 -
동일한 매개변수와 특정 리소스 그룹 ID를 사용하여 IKE 정책을 생성합니다:
ibmcloud is ike-policy-create my-ike-policy sha256 14 aes128 2 --resource-group-id fee82deba12e4c0fb69c3b09d1f12345 --output JSON -
IKE 정책을 업데이트하여 이름, 인증 알고리즘을 SHA 512 및 SHA 256으로, 암호화 알고리즘을 AES 256, AES 192로, DH 그룹을 15 및 16으로 변경합니다.
ibmcloud is ike-policy-update my-ike-policy --name new-ike-policy --authentication-algorithms sha512,sha256 --encryption-algorithms aes256,aes192 --dh-groups 15,16 --output JSON성공적인 IKE/IPsec 협상을 보장하려면 각 카테고리(인증, 암호화 및 DH 그룹)에서 하나 이상의 일치하는 알고리즘으로 두 피어를 구성하세요. 피어 간에 이러한 설정을 정렬하면 연결 실패를 방지하는 데 도움이 됩니다.
API를 사용하여 IKE 정책 생성하기
배열 기반 속성(권장)을 사용하여 여러 알고리즘이 포함된 IKE 정책을 만들려면 다음 단계를 따르세요:
-
올바른 변수를 사용하여 API 환경을 설정하십시오.
-
다음과 같이 API 명령에 사용할 추가 변수를 저장하십시오.
ResourceGroupId - get resource groups 명령을 사용하여 리소스 그룹 ID를 찾은 후 변수를 채우십시오.
export ResourceGroupId=<your_resourcegroup_id>
-
IKE 정책을 만듭니다:
curl -X POST "$vpc_api_endpoint/v1/ike_policies?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-new-ike-policy", "authentication_algorithms": ["sha256","sha384","sha512"], "encryption_algorithms": ["aes128","aes256"], "dh_groups": [14,15,16], "ike_version": 2, "resource_group": { "id": "'$ResourceGroupId'" } }'
IKE 협상을 위한 단일 속성 authentication_algorithm, dh_group, encryption_algorithm 은 더 이상 사용되지 않습니다. 배열 기반 속성을 사용하여 IKE 정책을 만듭니다. API를 사용할 때 IKE 정책의 단일 및 배열 기반 알고리즘 속성에 대해 자세히 알아보려면 여러 IKE 및 IPsec 알고리즘으로 업데이트하기를 참조하세요.
단일 속성(더 이상 사용되지 않음)을 사용하여 API로 IKE 정책을 만들려면 다음 단계를 따르세요:
-
올바른 변수를 사용하여 API 환경을 설정하십시오.
-
다음과 같이 API 명령에 사용할 추가 변수를 저장하십시오.
ResourceGroupId - get resource groups 명령을 사용하여 리소스 그룹 ID를 찾은 후 변수를 채우십시오.
export ResourceGroupId=<your_resourcegroup_id>
-
IKE 정책을 만듭니다:
curl -X POST "$vpc_api_endpoint/v1/ike_policies?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-new-ike-policy", "dh_group": 14, "authentication_algorithm": "sha256", "encryption_algorithm": "aes128", "ike_version": 2, "resource_group": { "id": "'$ResourceGroupId'" } }'
API로 IKE 정책 업데이트하기
배열 기반 속성(권장)을 사용하여 API로 IKE 정책을 업데이트하려면 다음 단계를 따르세요:
-
올바른 변수를 사용하여 API 환경을 설정하십시오.
-
다음과 같이 API 명령에 사용할 추가 변수를 저장하십시오.
ResourceGroupId - get resource groups 명령을 사용하여 리소스 그룹 ID를 찾은 후 변수를 채우십시오.
export ResourceGroupId=<your_resourcegroup_id>
-
IKE 정책을 업데이트합니다:
curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-updated-ike-policy", "authentication_algorithms": ["sha512","sha384","sha256"], "encryption_algorithms": ["aes256","aes128"], "dh_groups":[15,16,14], "ike_version": 2, "key_lifetime": 3600, "resource_group": { "id": "'$ResourceGroupId'" } }'
단일 속성(더 이상 사용되지 않음)을 사용하여 API로 IKE 정책을 업데이트하려면 다음 단계를 따르세요:
더 이상 사용되지 않는 단수 속성 또는 배열 기반 속성을 사용하여 IKE 정책을 업데이트할 수 있습니다. 두 가지 형식 모두 허용되지만 단일 요청에서 동일한 알고리즘 카테고리에 대해 단수 및 배열 기반 속성을 혼합해서는 안 됩니다.
-
올바른 변수를 사용하여 API 환경을 설정하십시오.
-
다음과 같이 API 명령에 사용할 추가 변수를 저장하십시오.
ResourceGroupId - get resource groups 명령을 사용하여 리소스 그룹 ID를 찾은 후 변수를 채우십시오.
export ResourceGroupId=<your_resourcegroup_id>
-
IKE 정책을 업데이트합니다:
curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-updated-ike-policy", "authentication_algorithm": "sha384", "encryption_algorithm": "aes256", "dh_group": 15, "ike_version": 2, "key_lifetime": 3600, "resource_group": { "id": "'$ResourceGroupId'" } }'
사이트 간 VPN 게이트웨이에 대한 전체 API 집합을 보려면 VPC API 참조를 참조하세요.
Terraform을 사용하여 IKE 정책 작성
다음 예제에서는 Terraform을 사용하여 IKE 정책을 생성할 수 있습니다:
resource "ibm_is_ike_policy" "is_ike_policy" {
name = "my-ike-policy"
authentication_algorithm = "sha256"
encryption_algorithm = "aes128"
dh_group = 14
ike_version = 2
}
-
다음 예제에서는 Terraform을 사용하여 배열 기반 속성을 가진 IKE 정책을 생성할 수 있습니다(권장):
resource "ibm_is_ike_policy" "is_ike_policy" { name = "my-ike-policy" authentication_algorithms = ["sha512", "sha384"] encryption_algorithms = ["aes192", "aes128"] dh_groups = [15, 16] ike_version = 2 key_lifetime = 1800 } -
다음 예제에서는 Terraform을 사용하여 단일 속성을 가진 IKE 정책(사용 중단 예정)을 생성할 수 있습니다:
resource "ibm_is_ike_policy" "is_ike_policy" { name = "my-ike-policy" authentication_algorithm = "sha256" encryption_algorithm = "aes128" dh_group = 14 ike_version = 2 }단일 요청 내에서 동일한 알고리즘 범주에 속하는 단수형 속성과 배열 기반 속성을 혼합하여 사용하지 마십시오.
자세한 내용은 Terraform 레지스트리를 참조하십시오.
다음 단계
IKE 정책을 만든 후 필요에 따라 다음 작업을 완료합니다:
- IPsec 정책 만들기 자동 협상 IPsec 정책 대신 사용자 지정 IPsec 정책을 사용하기로 결정한 경우.
- VPN 게이트웨이를 만드는 동안 VPN 연결을 만들지 않은 경우, 게이트웨이가 프로비저닝된 후에 만들 수 있습니다. 자세한 정보는 VPN 게이트웨이에 연결 추가를 참조하십시오.
- 라우트 기반 VPN의 경우, 라우팅 테이블을 작성하거나 선택하십시오. 그런 다음, VPN 연결 유형을 사용하여 라우트를 작성하십시오.