Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon iOS VPN 앱에서 인증서 기반 프록시 인증을 구현하려면 어떻게해야합니까?


iOS VPN 앱에서 인증서 기반 프록시 인증을 구현하려면 어떻게해야합니까?


iOS VPN 앱의 인증서 기반 프록시 인증에는 VPN 및 프록시 설정 구성에 중점을 둔 몇 가지 기술 단계가 포함되면서 인증서를 iOS 장치에 단단히 배포하고 관리하도록합니다. 이 방법은 디지털 인증서를 사용하여 클라이언트를 VPN 서버 및 프록시로 인증하여 사용자 입력 자격 증명의 필요성을 제거하거나 줄임으로써 보안을 향상시킵니다.
iOS의

VPN 프록시 구성

iOS에서 VPN 프록시 구성은 VPN 연결의 프록시 설정을 지정하여 수행 할 수 있습니다. 이 구성은 수동 또는 자동으로 관리 할 수 ​​있습니다.

- 수동 프록시 설정을 사용하려면 프록시 주소, 포트 및 필요한 인증을 지정해야합니다.
-PAC (Proxy Auto-Configuration) 파일을 사용하거나 WPAD (Web Proxy Auto-Discovery Protocol)를 사용하여 자동 프록시 구성을 설정할 수 있습니다. 예를 들어, PAC 파일은 HTTPS를 통해 호스팅되어 URL을 통해 장치에 제공 될 수 있습니다.

VPN 프록시 구성을 사용하면 VPN이 기본 경로를 제공하거나 VPN이 분할 터널 모드에서 작동하는 경우 VPN의 DNS 검색 도메인 내 호스트에 대해 프록시가 모든 네트워크 연결에 적용되도록합니다. 이 설정은 VPN 터널의 일부로 프록시를 통해 트래픽을 인증하는 데 중요합니다.

인증서 설정 및 유효성 검사

인증서 기반 인증 구현은 다음과 같은 주요 인증서 고려 사항이 필요합니다.

-VPN 서버는 클라이언트 장치에 대한 서버의 진위를 검증하기 위해 주제 대체 이름 (CourdeAltName) 필드에 DNS 이름 또는 IP 주소가 포함 된 ID 인증서를 제시해야합니다.
-이 인증서는 클라이언트 장치에서 신뢰하는 인증 기관 (CA)에서 서명해야합니다.
- 클라이언트 장치에는 서버 인증서를 신뢰하려면 CA 인증서가 설치되어 있어야합니다.
- 클라이언트 인증서를 수락하고 검증하려면 VPN 서버를 구성해야합니다. 이 인증서는 신뢰할 수있는 CA에서 발행해야하며 서버는 클라이언트 인증서의 필드를 사용하여 사용자 그룹 또는 역할을 식별 할 수 있습니다.
- 인증서는 유효하고 신뢰할 수 있으며 만료되지 않아야합니다. 일부 프로토콜과 달리 iOS VPN 설정의 서버는 전체 인증서 신뢰 체인을 보내지 않으므로 장치에는 이미 전체 신뢰 체인이 설치되어 있어야합니다.

iOS 장치에 인증서 배포

iOS 장치는 인증서를 MDM (Mobile Device Management) 시스템을 통해 종종 Microsoft Intune과 같은 모바일 장치 관리 (MDM) 시스템을 통해 제대로 배포 할 때 인증서 기반 인증을 효과적으로 사용할 수 있습니다. 배포를위한 주요 단계는 다음과 같습니다.

1. 장치에서 VPN 서버의 루트 CA 인증서 가져 오기 및 신뢰. 여기에는 일반적으로 장치에 신뢰할 수있는 인증서 프로파일을 설치하는 것이 포함됩니다.
2. 클라이언트 인증 인증서 구성 및 배포. 이는 간단한 인증서 등록 프로토콜 (SCEP) 또는 공개 키 암호화 표준 (PKC) 인증서를 지원하는 프로필을 통해 푸시 할 수 있습니다.
3. 인증서 인증을 연결하는 방법으로 지정하는 VPN 프로파일 지정.
4. 주요 사용 필드에서 클라이언트 인증을 위해 인증서가 적절하게 표시되도록합니다.

MDM 도구는 이러한 인증서를 관리하여 보안 정책을 준수하고 보안 배포를 자동화하여 노출 된 개인 키의 위험을 줄이는 데 도움이됩니다. MDM을 사용하지 않으면 IOS 장치에 인증서를 수동으로 설치하면 인증서 기반 VPN 인증에 실패합니다. 시스템이 VPN 클라이언트 앱이 수동으로 설치된 인증서에 자유롭게 액세스하는 것을 제한하기 때문입니다.

Per-App VPN 및 인증서 인증

Apple은 VPN 연결을 시스템 전체가 아닌 개별 앱으로 범위로 만들 수있는 Per-App VPN 구성을 지원합니다. 인증서 인증으로 Per-App VPN을 설정할 때 :

- 신뢰할 수있는 루트 인증서 프로파일을 생성하고 장치로 밀어야합니다.
- 클라이언트 인증서를 제공하는 인증서 프로필 (SCEP 또는 PKC)이 구성되고 할당됩니다.
- VPN 프로파일이 작성되어 클라이언트 인증서를 인증 방법으로 지정합니다.
-VPN은 Per-App VPN 인증을 활성화하기 위해 장치 그룹에 할당됩니다.

이는 인증서 기반 인증 보안을 보존하면서 관리자가 VPN 사용을 특정 엔터프라이즈 애플리케이션으로 제한 할 수있게 해주므로 기업 환경에서 특히 유용합니다.

사용자 정의 iOS VPN 앱의 기술 구현

인증서 기반 프록시 인증을 사용하는 사용자 정의 iOS VPN 앱을 구축하는 개발자의 경우 다음 구성 요소와 API가 필수적입니다.

- NetWorkextension 프레임 워크를 사용하여 VPN 연결을 구성하고 관리하십시오.
-VPN 연결 매개 변수를 지정하도록 nevpnmanager 또는 netunnelProvider를 구성하십시오.
- 클라이언트 인증서를 앱의 키 체인에 단단히로드하십시오. 이 인증서는 VPN 연결 프로파일에서 액세스 할 수 있어야합니다.
- 클라이언트 인증서를 참조하고 서버 인증서를 확인하여 VPN 터널 및 프록시 통신 모두에 대한 TLS 인증을 설정합니다.
- 프록시 설정을 프로그래밍 방식으로 처리하고 VPN 구성의 일부로 프록시 서버 주소와 포트를 지정하여 PAC 파일을 지원할 수 있습니다.
- 인증서가 최신 상태인지 확인하기 위해 VPN 연결 라이프 사이클의 일부로 인증서 유효성 검사 로직 구현.
- 인증서가 만료 될 때 SCEP와 같은 보안 프로토콜을 사용하여 인증서 갱신 또는 재 등장 메커니즘을 제공하십시오.

개발자는 또한 iOS의 인증서 액세스 및 VPN 구성에 대한 Apple의 요구 사항 및 제한 사항을 고려해야합니다. 예를 들어, 앱에는 적절한 권한이 있어야하며 사용자는 MDM을 통해 관리하지 않는 한 프로파일 또는 인증서의 설치를 수동으로 수락해야 할 수도 있습니다.

도전 및 고려 사항

-IOS는 VPN 앱이 MDM을 통해 관리되는 프로파일 외부의 클라이언트 인증서를 사용하여 엔터프라이즈 배포 전략이 필요합니다.
- 클라이언트 인증서의 수동 설치는 종종 iOS 샌드 박스 및 인증서 액세스 제한으로 인해 연결 문제로 이어집니다.
- 클라이언트 인증서 유효성 검사를 처리하고 인증서 속성을 사용자 권한과 일치 시키도록 VPN 서버를 올바르게 구성해야합니다.
-VPN을 통한 프록시 구성은 VPN의 터널링 및 라우팅 메커니즘과 호환되어야합니다. 분할 터널링에는 추가 프록시 구성이 필요할 수 있습니다.
- 전반적인 보안은 발행, 갱신 및 취소를 포함한 신중한 인증서 수명주기 관리에 따라 다릅니다.

요약

iOS VPN 앱에서 인증서 기반 프록시 인증을 구현하려면 VPN을 프록시 설정 (수동 또는 PAC 기반)을 사용하도록 VPN을 구성하고 MDM 솔루션을 통해 신뢰할 수있는 CA 및 클라이언트 인증서를 배포하고 VPN 프로파일에서 인증서 인증을 지정해야합니다. 개발하려면 Apple의 Networkextension 프레임 워크를 활용하여 키 체인에 단단히 저장된 인증서를 사용하여 VPN 연결을 구성하여 VPN 및 프록시 레벨 모두에서 TLS 인증을 보장해야합니다. iOS 시스템 제한으로 인해 인증서 배포 및 관리는 일반적으로 Enterprise MDM 도구를 통해 처리하여 완벽하고 안전한 인증 경험을 가능하게합니다.

이 아키텍처는 인증서를 사용하여 강력한 인증을 보장하고, 비밀번호 종속성을 제거하여 보안을 향상 시키며, IOS 보안 및 관리 프레임 워크를 준수하는 Per-App VPN 구성과 같은 엔터프라이즈 시나리오를 지원합니다.