실패는 자격 증명 문제처럼 보입니다: openfortivpn이 비밀번호를 묻고 전송하면 게이트웨이는 거부로 답하거나 로그인 페이지로 다시 리디렉션합니다. 그러면 사용자는 비밀번호를 다시 입력하고, 도메인이 붙은 계정 이름을 시도하고, 결국 브라우저의 포털 URL을 호스트 필드에 붙여 넣습니다. 바로 이 마지막 행동이 작은 구성 실수를 혼란스러운 실수로 바꿉니다.

https://vpn.example.com/ext 같은 Fortinet 포털 주소는 여러 정보를 한꺼번에 담고 있으며, 그중 일부만 VPN 클라이언트에 속합니다.

엔드포인트와 realm은 별개의 입력입니다

openfortivpn은 host 또는 host:port 형식의 엔드포인트와 함께 계정, 그리고 배포에서 사용하는 경우 realm 값을 기대합니다. realm은 계정을 평가하기 전에 어떤 인증 정책을 적용할지 게이트웨이에 알려 줍니다. 별도의 필드이며, 클라이언트가 URL에서 잘라내는 접미사가 아닙니다.

운영자가 realm이 ext임을 확인한 배포에서는 비밀이 아닌 호출이 다음과 같습니다: openfortivpn vpn.example.com:443 --username=alice --realm=ext. 같은 값은 구성 파일에 host, port, username, realm 항목으로 들어갑니다. 비밀번호는 두 형식 모두에 쓰지 말고 클라이언트가 묻도록 하여 셸 기록이나 누구나 읽을 수 있는 파일에 남지 않게 하십시오. 첫 번째 클라이언트가 아직 터널을 잡고 있는 동안의 두 번째 시도는 realm과 무관한 이유로 실패합니다.

openfortivpn 설명서 두 옵션을 모두 나열하므로 지원팀에 전화하기 전에 정확한 표기를 확인하기 쉽습니다. 다만 게이트웨이에 어떤 realm이 구성되어 있는지는 알려 주지 못합니다.

경로 세그먼트가 자동으로 realm이 되지는 않습니다

포털 URL은 호스트 이름 뒤에 로그인 애플리케이션, 언어 선택기, 리디렉션 대상, 세션 식별자 등 온갖 것을 모읍니다. 마지막 경로 세그먼트를 잘라 내고 realm이라고 부르는 방식은 위험할 만큼 자주 통합니다. 구성된 값은 운영자에게 묻거나 조직이 배포하는 프로필에서 읽으십시오.

realm은 사용자 이름의 도메인 접미사나 게이트웨이가 위치한 지역과도 같지 않습니다. 어떤 배포는 alice를 원하고 다른 배포는 alice@corp를 원하며, 게이트웨이가 둘 중 무엇을 받아들일지는 realm이 결정합니다. 잘못된 realm을 보상하려고 계정 형식을 바꾸면 보통 두 번째의, 정보가 더 적은 거부가 나옵니다.

호스트를 바꿔 realm 오류를 고치지 마십시오

호스트 이름을 IP 주소로 바꾸는 것은 계층 하나를 없애는 듯 느껴지지만 고치는 것보다 더 많이 깨뜨립니다. TLS 이름 검증은 인증서를 클라이언트가 사용한 이름과 비교하며, IP 주소는 인증서의 대체 주체 이름에 거의 나타나지 않습니다. 서버 이름 표시는 주소에 따라 달라지므로 한 주소에서 여러 포털을 호스팅하는 게이트웨이는 잘못된 포털로 응답할 수 있습니다. 인증 매개변수를 고치는 동안 호스트 이름과 신뢰 구성을 그대로 두십시오.

환경에서 인증서를 신뢰하지 않는다면 신뢰 저장소를 고치거나 예상 인증서를 의도적으로 고정하십시오. realm 오류를 피하려고 검증을 끄는 것은 로그인 문제를 조용한 가로채기 위험과 맞바꾸는 일입니다.

거부된 로그인과 실패한 터널을 구분하십시오

인증 실패와 터널 실패는 서로 다른 시점에 발생하고 메시지도 다릅니다. 이름 확인 오류는 어떤 TLS 핸드셰이크보다도 먼저 일어납니다. TLS 거부는 자격 증명을 보내기 전에 일어납니다. realm이나 계정 거부는 포털에서 HTTP 수준의 응답으로 돌아옵니다. 그 단계를 지나야 PPP 협상이 시작되고, 그때서야 라우팅 및 DNS 문제 가 나타납니다.

올바른 realm은 없는 경로를 만들지 않고, 지원되지 않는 로그인 방식을 동작하게 하지도 않습니다. 포털이 브라우저 기반 흐름을 고집한다면 비밀번호 교환을 반복하며 세션이 맞기를 바라는 대신 그 흐름에 대해 클라이언트가 지원하는 경로를 사용하십시오.

값은 다음 실행이 찾을 수 있는 곳에 두십시오

연결이 성공하면 게이트웨이, 포트, 계정, realm을 셸 별칭 대신 관리되는 프로필에 기록하십시오. 저장소나 구성 관리 시스템에 보관된 프로필은 다음 실행이 다른 프로필의 realm을 조용히 가져가지 않게 합니다.

연결 하나를 처음부터 끝까지 다시 테스트하고 적용된 정책과 실제로 필요한 리소스에 대한 접근을 모두 확인하십시오. 인증 성공은 그 점검의 시작이지 끝이 아닙니다.

관련 글