Red Hat Training

A Red Hat training course is available for RHEL 8

34.6. 신뢰에 대한 DNS 및 영역 설정 구성

신뢰에서 IdM(Identity Management) 및 AD(Active Directory)를 연결하기 전에 서버가 서로를 보고 도메인 이름을 올바르게 확인해야 합니다. 다음과 같이 도메인 이름을 사용할 수 있도록 DNS를 구성하려면 다음을 수행합니다.

  • 통합된 DNS 서버 및 인증 기관을 사용하는 하나의 기본 IdM 서버입니다.
  • AD 도메인 컨트롤러 1개.

DNS 설정에는 다음이 필요합니다.

  • IdM 서버의 DNS 영역 구성
  • AD에서 조건부 DNS 전달 구성
  • DNS 구성의 정확성 확인

34.6.1. 고유한 기본 DNS 도메인

Windows에서 모든 도메인은 Kerberos 영역과 동시에 DNS 도메인입니다. 도메인 컨트롤러에서 관리하는 모든 도메인에는 고유한 전용 DNS 영역이 있어야 합니다. IdM(Identity Management)이 Active Directory(AD)에서 재정의할 때에도 적용됩니다. AD는 IdM에 자체 DNS 도메인이 있을 것으로 예상합니다. 신뢰 설정이 작동하려면 DNS 도메인을 Linux 환경 전용으로 사용해야 합니다.

각 시스템에는 고유한 기본 DNS 도메인이 구성되어 있어야 합니다. 예를 들어 다음과 같습니다.

  • AD의 경우 ad.example.com 및 IdM용 idm.example.com
  • example.com for AD 및 idm.example.com for IdM
  • AD의 경우 ad.example.com 및 IdM용 example.com

가장 편리한 관리 솔루션은 각 DNS 도메인이 통합된 DNS 서버에서 관리되지만 다른 표준 호환 DNS 서버를 사용할 수 있는 환경입니다.

Kerberos 영역 이름을 기본 DNS 도메인 이름의 대문자로 표시
Kerberos 영역 이름은 모든 문자 대문자가 있는 기본 DNS 도메인 이름과 동일해야 합니다. 예를 들어 도메인 이름이 AD의 경우 ad.example.com 이고 IdM용 idm.example.com 인 경우 Kerberos 영역 이름은 AD.EXAMPLE.COMIDM.EXAMPLE.COM 여야 합니다.
신뢰의 모든 DNS 도메인에서 확인할 수 있는 DNS 레코드
모든 시스템은 신뢰 관계에 관련된 모든 DNS 도메인의 DNS 레코드를 확인할 수 있어야 합니다.
IdM 및 AD DNS 도메인
IdM에 결합된 시스템을 여러 DNS 도메인에 배포할 수 있습니다. Red Hat은 Active Directory가 소유한 것과 다른 DNS 영역에 IdM 클라이언트를 배포하는 것이 좋습니다. 기본 IdM DNS 도메인에는 AD 트러스트를 지원하기 위한 적절한 SRV 레코드가 있어야 합니다.
참고

IdM과 Active Directory 간에 신뢰가 있는 일부 환경에서는 Active Directory DNS 도메인에 포함된 호스트에 IdM 클라이언트를 설치할 수 있습니다. 그러면 호스트는 IdM의 Linux 중심 기능을 활용할 수 있습니다. 이는 권장되지 않으며 몇 가지 제한 사항이 있습니다. 자세한 내용은 Active Directory DNS 도메인에 IdM 클라이언트 구성을 참조하십시오.

다음 명령을 실행하여 시스템 설정과 관련된 필수 SRV 레코드 목록을 가져올 수 있습니다.

$ ipa dns-update-system-records --dry-run

생성된 목록은 예를 다음과 같이 찾을 수 있습니다.

IPA DNS records:
  _kerberos-master._tcp.idm.example.com. 86400 IN SRV 0 100 88 server.idm.example.com.
  _kerberos-master._udp.idm.example.com. 86400 IN SRV 0 100 88 server.idm.example.com.
  _kerberos._tcp.idm.example.com. 86400 IN SRV 0 100 88 server.idm.example.com.
  _kerberos._tcp.idm.example.com. 86400 IN SRV 0 100 88 server.idm.example.com.
  _kerberos.idm.example.com. 86400 IN TXT "IDM.EXAMPLE.COM"
  _kpasswd._tcp.idm.example.com. 86400 IN SRV 0 100 464 server.idm.example.com.
  _kpasswd._udp.idm.example.com. 86400 IN SRV 0 100 464 server.idm.example.com.
  _ldap._tcp.idm.example.com. 86400 IN SRV 0 100 389 server.idm.example.com.
  _ipa-ca.idm.example.com. 86400 IN A 192.168.122.2

동일한 IdM 영역에 속하는 다른 DNS 도메인의 경우 AD에 대한 신뢰가 구성되면 SRV 레코드를 구성할 필요가 없습니다. 그 이유는 AD 도메인 컨트롤러에서 SRV 레코드를 사용하지 않고 trust에 대한 이름 접미사 라우팅 정보를 기반으로 합니다.

34.6.2. IdM 웹 UI에서 DNS 전달 영역 구성

IdM 웹 UI를 사용하여 IdM(Identity Management) 서버에 DNS 전달 영역을 추가하려면 다음 절차를 따르십시오.

DNS 전달 영역을 사용하면 특정 영역에 대한 DNS 쿼리를 다른 DNS 서버로 전달할 수 있습니다. 예를 들어 AD(Active Directory) 도메인에 대한 DNS 쿼리를 AD DNS 서버로 전달할 수 있습니다.

사전 요구 사항

  • 관리자 권한이 있는 사용자 계정을 사용하여 IdM 웹 UI에 액세스할 수 있습니다.
  • DNS 서버가 올바르게 구성되어 있습니다.

절차

  1. 관리자 권한으로 IdM 웹 UI에 로그인합니다. 자세한 내용은 웹 브라우저에서 IdM 웹 UI 액세스를 참조하십시오.
  2. Network Services 탭을 클릭합니다.
  3. DNS 탭을 클릭합니다.
  4. 드롭다운 메뉴에서 DNS Forward Zones 항목을 클릭합니다.

    Screenshot of the IdM Web UI displaying the contents of the DNS drop-down submenu of the "Network Services" tab. The DNS drop-down menu has four options: DNS Zones - DNS Forward Zones - DNS Servers - DNS Global Configuration. "DNS Forward Zones" is highlighted.

  5. Add 버튼을 클릭합니다.
  6. DNS 전달 영역 추가 대화 상자에서 영역 이름을 추가합니다.
  7. Zone forwarders 항목에서 추가 버튼을 클릭합니다.
  8. Zone forwarders 필드에서 전달 영역을 생성할 서버의 IP 주소를 추가합니다.
  9. Add 버튼을 클릭합니다.

    Screenshot of the "Add DNS forward zone" pop-up window with text entry fields for "Zone name" - "Reverse zone IP network" - "Zone forwarders." The "Forward policy" option has three radial buttons for "forward first" - "forward only" - "forward disabled." There is a checkbox for "Skip overlap check" and there are four buttons at the bottom: "Add" - "Add and Add Another" - "Add and Edit" - "Cancel."

전달된 영역이 DNS 설정에 추가되어 DNS Forward Zones 설정에서 확인할 수 있습니다. 웹 UI는 다음과 같은 팝업 메시지를 사용하여 성공을 알립니다. DNS Forward Zone이 성공적으로 추가되었습니다.

참고

Web UI는 전달 영역을 구성에 추가한 후 DNSSEC 검증 실패에 대한 경고를 표시할 수 있습니다.

Screenshot displaying a pop-up window that reads "DNSSEC validation failed - record ad.example.com SOA failed DNSSEC validation on server 192.168.122.2. Please verify your DNSSEC configuration or disable DNSSEC validation on all IPA servers."

DNSSEC (Domain Name System Security Extensions)는 공격으로부터 DNS를 보호하기 위해 디지털 서명으로 DNS 데이터를 보호합니다. 이 서비스는 IdM 서버에서 기본적으로 활성화됩니다. 원격 DNS 서버에서 DNSSEC를 사용하지 않기 때문에 경고가 표시됩니다. 원격 DNS 서버에서 DNSSEC를 활성화하는 것이 좋습니다.

원격 서버에서 DNSSEC 검증을 활성화할 수 없는 경우 IdM 서버에서 DNSSEC를 비활성화할 수 있습니다.

  1. 편집할 적절한 구성 파일을 선택합니다.

    • IdM 서버에서 RHEL 8.0 또는 RHEL 8.1을 사용하는 경우 /etc/named.conf 파일을 엽니다.
    • IdM 서버가 RHEL 8.2 이상을 사용하는 경우 /etc/named/ipa-options-ext.conf 파일을 엽니다.
  2. 다음 DNSSEC 매개변수를 추가합니다.

    dnssec-enable no;
    dnssec-validation no;
  3. 구성 파일을 저장하고 닫습니다.
  4. DNS 서비스를 다시 시작하십시오.

    # systemctl restart named-pkcs11

검증 단계

  • 원격 DNS 서버의 이름과 함께 nslookup 명령을 사용합니다.

    $ nslookup ad.example.com
    Server:        192.168.122.2
    Address:       192.168.122.2#53
    
    No-authoritative answer:
    Name:          ad.example.com
    Address:       192.168.122.3

    도메인 전달을 올바르게 구성한 경우 원격 DNS 서버의 IP 주소가 표시됩니다.

34.6.3. CLI에서 DNS 전달 영역 구성

CLI(명령줄 인터페이스)를 사용하여 IdM(Identity Management) 서버에 새 DNS 전달 영역을 추가하려면 다음 절차를 따르십시오.

DNS 전달 영역을 사용하면 특정 영역에 대한 DNS 쿼리를 다른 DNS 서버로 전달할 수 있습니다. 예를 들어 AD(Active Directory) 도메인에 대한 DNS 쿼리를 AD DNS 서버로 전달할 수 있습니다.

사전 요구 사항

  • 관리자 권한이 있는 사용자 계정으로 CLI에 액세스할 수 있습니다.
  • DNS 서버가 올바르게 구성되어 있습니다.

절차

  • AD 도메인에 대한 DNS 전달 영역을 생성하고 --forwarder 옵션을 사용하여 원격 DNS 서버의 IP 주소를 지정합니다.

    # ipa dnsforwardzone-add ad.example.com --forwarder=192.168.122.3 --forward-policy=first
참고

구성에 새 전달 영역을 추가한 후 /var/log/ message 시스템 로그에 DNSSEC 검증 실패에 대한 경고가 표시될 수 있습니다.

named-pkcs11[2572]: no valid DS resolving 'host.ad.example.com/A/IN':  192.168.100.25#53

DNSSEC (Domain Name System Security Extensions)는 공격으로부터 DNS를 보호하기 위해 디지털 서명으로 DNS 데이터를 보호합니다. 이 서비스는 IdM 서버에서 기본적으로 활성화됩니다. 원격 DNS 서버에서 DNSSEC를 사용하지 않기 때문에 경고가 표시됩니다. 원격 DNS 서버에서 DNSSEC를 활성화하는 것이 좋습니다.

원격 서버에서 DNSSEC 검증을 활성화할 수 없는 경우 IdM 서버에서 DNSSEC를 비활성화할 수 있습니다.

  1. 편집할 적절한 구성 파일을 선택합니다.

    • IdM 서버에서 RHEL 8.0 또는 RHEL 8.1을 사용하는 경우 /etc/named.conf 파일을 엽니다.
    • IdM 서버가 RHEL 8.2 이상을 사용하는 경우 /etc/named/ipa-options-ext.conf 파일을 엽니다.
  2. 다음 DNSSEC 매개변수를 추가합니다.

    dnssec-enable no;
    dnssec-validation no;
  3. 구성 파일을 저장하고 닫습니다.
  4. DNS 서비스를 다시 시작하십시오.

    # systemctl restart named-pkcs11

검증 단계

  • 원격 DNS 서버의 이름과 함께 nslookup 명령을 사용합니다.

    $ nslookup ad.example.com
    Server:        192.168.122.2
    Address:       192.168.122.2#53
    
    No-authoritative answer:
    Name:          ad.example.com
    Address:       192.168.122.3

    도메인 전달이 올바르게 구성된 경우 nslookup 요청에 원격 DNS 서버의 IP 주소가 표시됩니다.

34.6.4. AD에서 DNS 전달 구성

IdM(Identity Management) 서버의 AD(Active Directory)에서 DNS 전달을 설정하려면 다음 절차를 따르십시오.

사전 요구 사항

  • AD가 설치된 Windows Server
  • 두 서버에서 DNS 포트가 열려 있습니다.

절차

  1. Windows Server에 로그인합니다.
  2. 서버 관리자 열기 .
  3. Open DNS Manager.
  4. Conditional Forwarders 에서 다음을 사용하여 새 조건부 전달자를 추가합니다.

    • IdM 서버 IP 주소
    • 정규화된 도메인 이름(예: server.idm.example.com)
  5. 설정을 저장합니다.

34.6.5. DNS 구성 확인

신뢰를 구성하기 전에 IdM(Identity Management) 및 AD(Active Directory) 서버가 서로 해결할 수 있는지 확인합니다.

사전 요구 사항

  • sudo 권한으로 로그인해야 합니다.

절차

  1. TCP 서비스 레코드를 통해 UDP 및 LDAP를 통해 Kerberos에 대한 DNS 쿼리를 실행합니다.

    [admin@server ~]# dig +short -t SRV _kerberos._udp.idm.example.com.
    0 100 88 server.idm.example.com.
    
    [admin@server ~]# dig +short -t SRV _ldap._tcp.idm.example.com.
    0 100 389 server.idm.example.com.

    명령에서 모든 IdM 서버를 나열해야 합니다.

  2. IdM Kerberos 영역 이름을 사용하여 TXT 레코드에 대한 DNS 쿼리를 실행합니다. 가져온 값은 IdM을 설치할 때 지정한 Kerberos 영역과 일치해야 합니다.

    [admin@server ~]# dig +short -t TXT _kerberos.idm.example.com.
    "IDM.EXAMPLE.COM"

    이전 단계에서 예상 레코드를 모두 반환하지 않은 경우 누락된 레코드로 DNS 구성을 업데이트합니다.

    • IdM 환경에서 통합 DNS 서버를 사용하는 경우 시스템 레코드를 업데이트할 옵션 없이 ipa dns-update-system-records 명령을 입력합니다.

      [admin@server ~]$ ipa dns-update-system-records
    • IdM 환경에서 통합 DNS 서버를 사용하지 않는 경우:

      1. IdM 서버에서 IdM DNS 레코드를 파일로 내보냅니다.

        [admin@server ~]$ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate

        이 명령은 관련 IdM DNS 레코드를 사용하여 dns_ historys_file.nsupdate 라는 파일을 생성합니다.

      2. nsupdate 유틸리티 및 dns_ historys_file.nsupdate 파일을 사용하여 DNS 서버에 DNS 업데이트 요청을 제출합니다. 자세한 내용은 RHEL 7 설명서에서 nsupdate를 사용하여 외부 DNS 레코드 업데이트에서 참조하십시오. 또는 DNS 레코드 추가에는 DNS 서버 설명서를 참조하십시오.
  3. TCP 서비스 레코드를 통해 Kerberos 및 LDAP에 대한 DNS 쿼리를 실행하는 명령을 사용하여 AD의 서비스 레코드를 확인할 수 있는지 확인합니다.

    [admin@server ~]# dig +short -t SRV _kerberos._tcp.dc._msdcs.ad.example.com.
    0 100 88 addc1.ad.example.com.
    
    [admin@server ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com.
    0 100 389 addc1.ad.example.com.