.. _integrate-external:

외부 인증서버 설정
=====================

LDAP, RADIUS, IMAP, POP3, SMTP 또는 기타 타사 시스템을 사용하여 외부 인증 시스템에 인증하도록 정책 서버를 구성할 수 있습니다.

RADIUS
---------

사용자 인증을 위해 기존의 외부 RADIUS 서버와 연동하도록 정책 서버를 구성 할 수 있습니다. 사용자가 접속인증페이지(CWP) 나 에이전트를 통해 인증되면 사용자 비밀번호 가 RADIUS 서버를 통해 인증 됩니다.

#. 왼쪽 상단 항목의 **설정** 으로 이동합니다.
#. 왼쪽 설정 항목에서 **사용자 인증 > 인증연동** 으로 이동합니다.

**RADIUS 인증연동** 메뉴에서 아래를 설정:

#. **서버주소** : 연동하고자하는 외부 RADIUS 인증서버의 IP주소 또는 FQDN 을 설정합니다.
#. **서버포트** : RADIUS 인증서버 서비스포트를 설정합니다.(*기본포트: 1812*)
#. **인증키** : RADIUS 인증서버와의 상호인증을 위한 인증키를 설정합니다.
#. **수정** 버튼을 클릭합니다.

.. _integrate-external-ldap:

LDAP (Active Directory) 서버 연동
---------------------------------------

**사용자 인증** 을 **Active Directory** 와 연동 하도록 **정책 서버** 를 구성 할 수 있습니다.

#. 상단 항목의 **설정** 으로 이동합니다.
#. 왼쪽 설정 항목에서 **사용자 인증 > 인증연동** 으로 이동합니다.
#. 인증연동 창에서 **LDAP 인증연동** 메뉴를 찾습니다.
#. 아래 옵션을 찾아 입력:

   - **서버주소**: LDAP(ActiveDirectory) 인증연동을 위한 서버시스템의 주소/도메인을 설정합니다.
   - **서버포트**: LDAP 서비스 포트번호를 설정합니다. (*표준값: Non-SSL=389, SSL=636*)
   - **Base DN**: LDAP Base DN을 설정합니다. (*예: CN=Users,DC=geni,DC=genians,DC=com*)
   - **Bind DN**: 사용자 검색을 위한 Bind DN 값을 설정합니다. Anonymous검색이 가능 할 경우 공백.(*도메인 예:Administrator@genians.com / Bind 계정에는 관리자 권한이 있어야합니다.*)
   - **Bind Password**: 사용자 검색을 위한 Bind DN 비밀번호를 설정합니다.
   - **Serch Attribute**: 사용자 ID를 담고있는 속성값 이름(ActiveDirectory: sAMAccountName)을 설정합니다.
   - **SSL 접속**: LDAP 서버 접속시 SSL연결을 사용할지 여부를 선택합니다.
   - **Secondary LADP사용** : Secondary LDAP 사용여부를 선택합니다.

#. **수정** 버튼을 클릭합니다.
#. 테스트 를 클릭 하여 구성 설정을 테스트합니다. (*테스트 계정은 BASE DN 에있는 모든 사용자 계정이 될 수 있습니다*)

.. note:: 알려진 이슈

     * 오류 메시지: **"LDAP 서버에 연결하지 못했습니다. URI=ldaps://[IP]:[PORT]/, ERRMSG='-1:Can't contact LDAP server, TLSv1.0=-1:Can't contact LDAP server' "**
     * 해결 방법: LDAP 서버 펌웨어를 최신 패치로 업데이트합니다. "보안패치가 되지 않은 서버의 LDAP을 통해 Active Directory에 대해 인증하려고 하는 알려진 문제" 이며, 이는 암호화 호환성으로 인해 발생합니다.


**이메일** 은 대부분의 조직에서 제공하는 서비스이므로 사용자 디렉토리를 제공하는 것이 가장 쉽습니다.
**이메일** 에서 사용되는 **SMTP** , **POP3** 및 **IMAP** 을 사용하여 사용자의 아이디 와 비밀번호 를 확인할 수 있습니다 .

IMAP
----

#. 상단 항목의 **설정** 으로 이동합니다.
#. 왼쪽 설정 항목에서 **사용자 인증 > 인증연동** 으로 이동합니다.
#. 메인창에서 **IMAP 인증연동** 을 찾습니다.
#. **IMAP 서버**, **IMAP 포트**, **사용자도메인** 을 입력합니다.
#. **수정** 버튼을 클릭합니다.
#. **인증테스트 > 테스트** 버튼을 클릭하여 사용자 인증을 테스트합니다.

**예제**

============================ ===================== ======== ==============
Service Name                 Server Name           Port     Domain
============================ ===================== ======== ==============
Google G Suites              imap.gmail.com        993      Your Domain
Exchange Online (Office 365) outlook.office365.com 993      Your Domain
============================ ===================== ======== ==============

POP3
----

#. 상단 항목의 **설정** 으로 이동합니다.
#. 왼쪽 설정 항목에서 **사용자 인증 > 인증연동** 으로 이동합니다.
#. 메인창에서 **POP3 인증연동** 을 찾습니다.
#. **POP3 서버**, **POP3 포트**, **사용자도메인** 을 입력합니다.
#. **수정** 버튼을 클릭합니다.
#. **인증테스트 > 테스트** 버튼을 클릭하여 사용자 인증을 테스트합니다.

**예제**

============================ ===================== ======== ==============
Service Name                 Server Name           Port     Domain
============================ ===================== ======== ==============
Google G Suites              pop.gmail.com         995      Your Domain
Exchange Online (Office 365) outlook.office365.com 995      Your Domain
============================ ===================== ======== ==============

.. _intergrate-external-smtp:

SMTP
----

#. 상단 항목의 **설정** 으로 이동합니다.
#. 왼쪽 설정 항목에서 **사용자 인증 > 인증연동** 으로 이동합니다.
#. 메인창에서 **SMTP 인증연동** 을 찾습니다.
#. **SMTP 서버**, **SMTP 포트**, **사용자도메인** 을 입력합니다.
#. **수정** 버튼을 클릭합니다.
#. **인증테스트 > 테스트** 버튼을 클릭하여 사용자 인증을 테스트합니다.

.. note:: Genian ZTNA는 오직 smtps만 지원합니다. (SMTP over SSL)

**예제**

============================ ===================== ======== ==============
Service Name                 Server Name           Port     Domain
============================ ===================== ======== ==============
Google G Suites              smtp.gmail.com        465      Your Domain
============================ ===================== ======== ==============

문제 해결
^^^^^^^^^^^^^^

.. error:: **Gmail SMTP 인증연동에 확인 된 이슈 :** 

                * 인증 테스트: 인증 실패. Authentication failed.SMTP(535-5.7.8:Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentialsy32sm41405227qt)
                * Genian ZTNA 로그 : Login failed. ERRMSG='Authorize(Account disabled)'
                * **수정** : Google 계정 설정/보안에서 보안이 낮은 앱 액세스를 설정합니다.


.. _intergrate-external-saml:

SAML 2.0
--------

`SAML`_ (Security Assertion Markup Language)은 당사자 간에 인증 및 인증 데이터를 교환 할 수 있는 개방형 표준입니다.
SAML은 인증이 필요한 최종 사용자 및 SP(서비스 공급자)와 인증 서비스를 제공하는 IdP(인증 공급자)로 구성 됩니다.
Genian ZTNA가 SAML을 통해 Google과 통합되면 Genian ZTNA는 SP가 되고 Google은 IdP가 됩니다.

다음은 SAML 연동을 위한 기본 구성 단계입니다.

#. 상단 항목의 **설정** 으로 이동합니다.
#. 왼쪽 설정 항목에서 **사용자 인증 > 인증연동** 으로 이동합니다.
#. 메인창에서 **SAML2** 를 찾습니다.
#. **SP Entity ID** 및 **SP ACS URL** 값을 복사합니다.
#. Genian ZTNA 의 복사 된 해당값을*IdP server* 에 입력합니다. 
#. **IdP Entity ID** 및 **IdP SSO URL** 에 IdP 서버로 부터 얻은 값들을 입력합니다. 
#. **x509 Certificate** 의 경우 IdP 서버에서 발급한 인증서를 입력합니다.
#. **수정** 버튼을 클릭합니다.
#. **인증테스트 > 테스트** 버튼을 클릭하여 사용자 인증을 테스트합니다.

.. toctree::
   :maxdepth: 1

   integrate-external/saml-okta
   integrate-external/saml-okta-adminconsole
   
인증 연동 테스트
-------------------

**RADIUS**, **LDAP**, **IMAP**, **POP3** 또는 **SMTP** 의 연동 구성을 테스트하여 성공적인 연결을 확인 할 수 있습니다.

#. 왼쪽 상단 항목의 **설정** 으로 이동합니다.
#. 왼쪽 설정 항목에서 **사용자 인증 > 인증연동** 으로 이동합니다.
#. 메인창에서 **인증 테스트** 을 찾습니다.
#. 설정을 변경한 경우 **수정** 을 클릭합니다.
#. **테스트** 를 클릭하여 변경한 설정에 대해 테스트합니다.

.. _SAML: https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language