Horizon Cloud 포드의 게이트웨이 구성에서 RADIUS 2단계 인증 설정을 구성한 후에는 특정 게이트웨이 관련 IP 주소에서 전송되는 클라이언트 요청을 허용하도록 해당하는 2단계 인증 시스템 구성을 지정해야 합니다.

게이트웨이의 Unified Access Gateway 인스턴스는 특정 IP 주소에서 2단계 인증 서버와의 통신을 시도합니다. 네트워크 관리자는 2단계 인증 서버의 네트워크에서 포드의 Azure VNet(Virtual Network) 및 서브넷이 표시되는지 확인합니다. 해당 네트워크 가시성과 포드 게이트웨이 유형(외부 또는 내부)의 조합에 따라 해당 통신을 수락할 수 있도록 2단계 인증 서버 구성에서 구성해야 하는 특정 게이트웨이 관련 IP 주소가 결정됩니다.

중요:

2단계 인증 시스템에 해당되는 설명서를 따라야 합니다.

RADIUS 2단계 인증 시스템은 허용되는 RADIUS 클라이언트 개념을 사용합니다. 예를 들어, FreeRADIUS 클라이언트 구성에 대한 FreeRADIUS wiki에 설명된 것처럼, /etc/raddb/clients.conf 파일에는 RADIUS 클라이언트의 정의가 다음과 같이 포함됩니다.
client NAME {
  ipaddr = IPADDRESS
  secret = SECRET
}

RSA SecurID 2단계 인증 시스템은 RSA Authentication Manager와 통신하도록 등록된 인증 에이전트의 개념을 사용합니다. 예를 들어 SecurID Authentication Manager 설명서 - 인증 에이전트 추가에 설명된 대로 RSA Authentication Manager의 보안 콘솔을 사용하여 필요한 IP 주소를 내부 데이터베이스에 추가합니다.

이 항목에서는 2단계 인증 서버에서 포드의 게이트웨이 간 통신을 사용하도록 설정하고 각 포드 업데이트 후에 해당 통신이 복원되도록 하기 위해 사용해야 하는 Horizon Cloud 포드의 정보를 설명합니다.

게이트웨이 구성의 Unified Access Gateway 인스턴스에서 통신을 수락하려면 2단계 인증 서버가 적절한 IP 주소에서의 통신을 허용해야 합니다.

일반적으로 네트워크 관리자는 2단계 인증 서버가 VNet 및 배포된 포드에 연결된 서브넷에 대해 갖는 네트워크 액세스 권한을 결정합니다. 2단계 인증 서버에 연결할 때 Unified Access Gateway 인스턴스가 사용하는 특정 소스 IP는 다음에 따라 좌우됩니다.

  • 게이트웨이 구성에서 RADIUS 또는 RSA SecurID 유형을 구성했는지 여부
  • 게이트웨이 구성이 내부 또는 외부인지
  • 네트워크 관리자가 포드 VNet 내부에서 액세스할 수 있도록 2단계 인증 서버를 구성했는지 또는 RADIUS 서버가 VNet 외부에 있는지 여부
  • 2단계 인증 서버를 포드의 VNet 내에서 액세스할 수 있으며, 해당 VNet의 포드 서브넷에서 네트워크 관리자가 2단계 인증 서버에 대한 액세스 권한을 구성한 경우
RSA SecurID - 외부 및 내부 게이트웨이 구성
RSA Authentication Manager 서버는 개별 Unified Access Gateway 인스턴스에서 NICS의 통신을 확인합니다. RSA Authentication Manager 구성에서 다음 NIC IP 주소를 인증 에이전트로 등록합니다.
  • 외부 게이트웨이의 경우 게이트웨이의 dmz 서브넷에 있는 4개의 NIC
  • 내부 게이트웨이의 경우 게이트웨이의 tenant 서브넷에 있는 4개의 NIC
RADIUS - 내부 게이트웨이 구성
내부 게이트웨이 구성용으로 배포된 Unified Access Gateway 인스턴스는 해당 NIC의 개인 IP 주소를 사용하여 해당 2단계 인증 서버에 연결합니다. 2단계 인증 서버는 NIC의 개인 IP 주소에 해당하는 소스 IP 주소에서 들어오는 요청을 볼 수 있습니다. 네트워크 관리자가 해당 서버에 포드 관리에서 액세스할 수 있는지 또는 테넌트 서브넷의 IP 주소 범위에서 액세스할 수 있는지를 구성했습니다. Microsoft Azure에 있는 내부 게이트웨이의 리소스 그룹에는 해당 서브넷에 해당하는 4개의 NIC가 있습니다. 이 중 2개의 두 Unified Access Gateway 인스턴스에 대해 현재 활성 상태이고, 나머지 2개는 유휴 상태였다가 포드가 업데이트를 거친 후에 활성화됩니다. 포드 작업을 진행하는 동안과 각 포드를 업데이트한 후에 게이트웨이와 2단계 인증 서버 간의 통신 연결을 지원하려면 해당 서버에 표시되는 서브넷에 해당하는 Microsoft Azure 내부 게이트웨이 리소스 그룹의 4개 NIC IP 주소에서의 클라이언트 연결을 허용하도록 해당 서버를 구성해야 합니다. 아래의 포드 게이트웨이 NIC의 IP 주소에서 통신 허용 섹션을 참조하십시오.
참고: 내부 게이트웨이에 구성된 RSA SecurID 유형의 경우 테넌트 서브넷에 있는 4개의 NIC에 대한 NIC IP 주소를 추가합니다.
RADIUS - VNet 내에서 액세스할 수 있는 외부 게이트웨이 구성 및 2단계 인증 서버
네트워크 관리자가 포드와 동일한 VNet에서 2단계 인증 서버에 액세스할 수 있도록 구성한 경우 Unified Access Gateway 인스턴스는 해당 NIC의 개인 IP 주소를 사용하여 해당 서버에 연결합니다. 2단계 인증 서버는 NIC의 개인 IP 주소에 해당하는 소스 IP 주소에서 들어오는 요청을 볼 수 있습니다. 네트워크 관리자가 서버에 포드 관리, 테넌트 또는 DMZ 서브넷의 IP 주소 범위 중에서 어떤 방식으로 액세스할 수 있는지를 구성했습니다. Microsoft Azure에 있는 외부 게이트웨이의 리소스 그룹에는 해당 서브넷에 해당하는 4개의 NIC가 있습니다. 이 중 2개의 두 Unified Access Gateway 인스턴스에 대해 현재 활성 상태이고, 나머지 2개는 유휴 상태였다가 포드가 업데이트를 거친 후에 활성화됩니다. 포드 작업을 진행하는 동안과 각 포드를 업데이트한 후에 게이트웨이와 2단계 인증 서버 간의 통신 연결을 지원하려면 해당 서버에 표시되는 서브넷에 해당하는 Microsoft Azure 외부 게이트웨이 리소스 그룹의 4개 NIC IP 주소에서의 클라이언트 연결을 허용하도록 해당 서버를 구성해야 합니다. 아래의 포드 게이트웨이 NIC의 IP 주소에서 통신 허용 섹션을 참조하십시오.
RADIUS - 포드의 VNet 외부에서 액세스할 수 있는 외부 게이트웨이 구성 및 2단계 인증 서버
네트워크 관리자가 포드의 VNet 외부에서 2단계 인증 서버를 구성한 경우 외부 게이트웨이 구성의 Unified Access Gateway 인스턴스는 해당 서버에 연결하기 위해 외부 게이트웨이의 Azure Load Balancer 리소스의 IP 주소를 사용합니다. 외부 게이트웨이의 로드 밸런서 리소스 IP 주소에서 클라이언트 연결을 허용하도록 해당 서버를 구성해야 합니다. 아래의 외부 게이트웨이의 로드 밸런서에서 통신 허용 섹션을 참조하십시오.

포드 게이트웨이 NIC의 IP 주소에서 통신 허용

포드가 배포되면 포드 배포자가 Microsoft Azure 구독에서 게이트웨이 리소스 그룹에 NIC 집합을 생성합니다. 다음 스크린샷에는 내부 게이트웨이 유형 및 외부 게이트웨이 유형에 대한 NIC의 예가 나와 있습니다. 이 스크린샷에서는 포드 ID가 모자이크 처리되어 있지만 배포자가 해당 이름에 -management, -tenant-dmz를 사용해서 NIC 이름을 지정하는 패턴을 확인할 수 있습니다. 포드 리소스 그룹의 이름은 Microsoft Azure에 배포된 포드에 대해 생성된 리소스 그룹을 참조하십시오.


포드 배포자가 내부 게이트웨이 구성에 대해 생성하는 NIC 및 VM의 스크린샷.


포드 배포자가 외부 게이트웨이 구성에 대해 생성하는 NIC 및 VM의 스크린샷.

네트워크에서 2단계 인증 서버가 표시되는 서브넷에 해당하는 2단계 인증 설정을 사용하도록 설정한 게이트웨이 구성에 대해 NIC의 IP 주소를 가져와야 하고 해당 IP 주소를 2단계 인증 서버 구성에서 허용 클라이언트로 지정해야 합니다.

중요: 업데이트 후 2단계 인증 서버와 포드 간의 연결이 중단되는 것을 방지하려면 2단계 인증 설정으로 구성한 각 게이트웨이에 대해 아래에 설명된 4개 NIC의 IP 주소가 2단계 인증 서버의 구성에서 허용 클라이언트로 지정되어 있어야 합니다. 진행 중인 포드 작업 중에는 NIC 중 절반만 활성화되지만 포드가 업데이트될 때 전환됩니다. 포드 업데이트 후에 NIC의 다른 절반은 활성화되고 업데이트 전 NIC는 다음번 포드 업데이트 때까지 유휴 상태를 유지했다가 업데이트 후에 다시 전환됩니다. 활성 및 유휴 상태와 관계없이 모든 NIC IP 주소를 2단계 인증 서버 구성에 추가하지는 않은 경우 2단계 인증 서버는 포드 업데이트 후의 현재 활성 상태인 NIC 집합의 연결 요청을 거부하며, 해당 게이트웨이를 사용하는 최종 사용자의 로그인 프로세스는 중단됩니다.

2단계 인증 서버 구성에 추가할 게이트웨이의 NIC IP 주소를 가져오려면 다음을 수행합니다.

  1. 네트워크 관리자로부터 포드의 서브넷에 2단계 인증 서버(관리, 테넌트 또는 dmz)가 표시되는지에 대한 정보를 획득합니다.
  2. 구독한 Microsoft Azure Portal에 로그인하고 게이트웨이의 리소스 그룹을 찾습니다.
  3. 네트워크 관리자가 2단계 인증 서버가 표시된다고 확인한 서브넷에 해당하는 NIC의 경우, 각 NIC를 클릭하고 해당 IP 주소를 복사합니다.
  4. 사용 중인 2단계 인증 시스템 유형에 대한 설명서에 따라 2단계 인증 서버가 해당 NIC의 통신을 수락하도록 해당 IP 주소를 추가합니다.
RADIUS 2단계 인증 서버를 사용하는 경우 게이트웨이의 NIC IP 주소를 추가하는 예
다음 코드 블록은 네트워크 관리자가 동일한 VNet 내에 포트의 테넌트 서브넷에 액세스할 수 있도록 RADIUS 서버를 구성한 경우, 내부 게이트웨이의 포드 테넌트 서브넷에 IP 주소가 있는 NIC의 클라이언트 구성 줄 일부를 보여 줍니다. 이 포드를 배포할 때 포드의 테넌트 서브넷이 192.168.25.0/22로 구성되었습니다. 포드가 처음 배포되면 NIC1 및 NIC2가 활성화 상태이고 NIC3 및 NIC4가 유휴 상태가 됩니다. 그러나 이 4개의 NIC를 RADIUS 서버 구성에 모두 추가하여 포드 업데이트 후 NIC3 및 NIC4가 활성 상태로 전환되고 NIC1 및 NIC2가 유휴 상태가 되면 RADIUS 서버가 이 게이트웨이의 연결을 계속 수락합니다. RADIUS 서버와 관련된 적절한 구문을 사용해야 합니다.
client UAGTENANTNIC1 {
  ipaddr = 192.168.25.5
  secret = myradiussecret
}
client UAGTENANTNIC2 {
  ipaddr = 192.168.25.6
  secret = myradiussecret
}
client UAGTENANTNIC3 {
  ipaddr = 192.168.25.7
  secret = myradiussecret
}
client UAGTENANTNIC4 {
  ipaddr = 192.168.25.8
  secret = myradiussecret
}

RADIUS 2단계 인증 - 외부 게이트웨이 로드 밸런서에서의 통신 허용

2단계 인증 서버가 포드의 VNet 외부에 있는 경우 해당 서버를 지정한 외부 게이트웨이에서, 외부 게이트웨이의 Azure Load Balancer 리소스 공용 IP 주소를 해당 2단계 인증 서버 구성에 허용 클라이언트로 추가해야 합니다. Microsoft Azure Portal을 사용하고 게이트웨이 리소스 그룹에서 로드 밸런서 리소스를 찾아 해당 로드 밸런서 IP 주소를 획득할 수 있습니다.

  1. 구독한 Microsoft Azure Portal에 로그인하고 게이트웨이의 리소스 그룹을 찾습니다.
  2. 게이트웨이의 리소스 그룹에서 로드 밸런서 리소스를 클릭합니다. 이름 패턴은 vmw-hcs-podID-uag-lb를 따릅니다. 해당 IP 주소가 해당 개요 정보에 나열됩니다.
  3. 사용 중인 2단계 인증 시스템 유형에 대한 설명서에 따라 2단계 인증 서버가 해당 IP 주소의 통신을 수락하도록 게이트웨이의 로드 밸런서 IP 주소를 추가합니다.
RADIUS 2단계 인증 서버를 사용하는 경우 외부 게이트웨이의 로드 밸런서 IP 주소를 추가하는 예
다음 코드 블록은 예입니다. RADIUS 서버와 관련된 적절한 구문을 사용해야 합니다.
client MYPODUAGEXTLBIP {
  ipaddr = 52.191.236.223
  secret = myradiussecret
}