Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

35.2.2. libreswan IPsec 정책 생성

필요한 인증서를 libreswan 인증서 데이터베이스로 가져온 후 클러스터의 호스트 간 통신을 보호하는 정책을 생성합니다.

libreswan 3.19 이상을 사용하는 경우 opportunistic 그룹 구성을 사용하는 것이 좋습니다. 그렇지 않으면 명시적인 연결이 필요합니다.

35.2.2.1. opportunistic 그룹 구성

다음 구성은 두 개의 libreswan 연결을 생성합니다. 첫 번째는 OpenShift Container Platform 인증서를 사용하여 트래픽을 암호화하는 반면, 두 번째는 클러스터 외부 트래픽의 암호화에 예외를 생성합니다.

  1. /etc/ipsec.d/openshift-cluster.conf 파일에 다음을 추가합니다.

    conn private
    	left=%defaultroute
    	leftid=%fromcert
    	# our certificate
    	leftcert="NSS Certificate DB:<cert_nickname>" 1
    	right=%opportunisticgroup
    	rightid=%fromcert
    	# their certificate transmitted via IKE
    	rightca=%same
    	ikev2=insist
    	authby=rsasig
    	failureshunt=drop
    	negotiationshunt=hold
    	auto=ondemand
    	encapsulation=yes 2
    
    conn clear
    	left=%defaultroute
    	right=%group
    	authby=never
    	type=passthrough
    	auto=route
    	priority=100
    1
    <cert_nickname>을 1단계의 인증서 닉네임으로 바꿉니다.
    2
    NAT를 사용하지 않는 경우 캡슐화를 강제하려면 구성에 캡슐화=yes 를 포함해야 합니다. AmazonAzure 내부 클라우드 네트워크는 IPsec ESP 또는 AH 패킷을 라우팅하지 않습니다. 이러한 패킷은 UDP 에 캡슐화해야 하며 이 패킷이 구성된 경우 NAT 탐지는 UDP 캡슐화에서 ESP 를 구성합니다. NAT를 사용하거나 이전에 설명한 대로 Network/Cloud-Provider 제한사항에 있지 않은 경우 이 매개변수와 값을 생략합니다.
  2. 구성된 각 연결에 해당 정책 파일이 있는 /etc/ipsec.d/policies/ 의 정책 파일을 사용하여 각 정책을 적용할 IP 서브넷과 호스트를 libreswan 에 알려줍니다. 따라서 위의 예에서 두 개의 연결 privateclear 에는 각각 /etc/ipsec.d/policies/ 에 파일이 있습니다.

    /etc/ipsec.d/policies/private 에는 호스트가 IP 주소를 수신하는 클러스터의 IP 서브넷이 포함되어야 합니다. 기본적으로 원격 호스트의 클라이언트 인증서가 로컬 호스트의 인증 기관 인증서에 대해 인증되면 클러스터 서브넷의 호스트 간의 모든 통신이 암호화됩니다. 원격 호스트의 인증서가 인증되지 않으면 두 호스트 간의 모든 트래픽이 차단됩니다.

    예를 들어 모든 호스트가 172.16.0.0/16 주소 공간의 주소를 사용하도록 구성된 경우 개인 정책 파일에는 172.16.0.0/16 이 포함됩니다. 암호화할 서브넷 수가 이 파일에 추가될 수 있으므로 IPsec을 사용하여 해당 서브넷에 대한 모든 트래픽도 발생할 수 있습니다.

  3. 트래픽이 들어올 수 있는지 확인하기 위해 모든 호스트와 서브넷 게이트웨이 간의 통신을 암호화 해제하고 클러스터에 종료할 수 있는지 확인합니다. 게이트웨이를 /etc/ipsec.d/policies/ clear 파일에 추가합니다.

    172.16.0.1/32

    추가 호스트 및 서브넷을 이 파일에 추가하면 이러한 호스트 및 서브넷에 대한 모든 트래픽이 암호화되지 않습니다.