7장. IdM (Identity Management)


7.1. 보안 LDAP 통신

LDAP 서버에서 ID 정보를 인증하거나 검색하도록 ID 서비스(keystone)를 구성한 경우 CA 인증서를 사용하여 ID 서비스의 LDAP 통신을 보호할 수 있습니다.

이 섹션에서는 Active Directory에서 CA 인증서를 가져오는 방법, CA 인증서 파일을 Privacy Enhanced mail(PEM) 파일 형식으로 변환하는 방법, ID 서비스에 대한 보안 LDAP 통신을 구성하는 세 가지 방법을 간략하게 설명합니다. 각 방법의 절차는 CA 신뢰의 위치와 방법에 따라 수행해야 합니다.

7.1.1. Active Directory에서 CA 인증서 가져오기

다음 코드는 Active Directory를 쿼리하여 CA 인증서를 가져오는 방법의 예를 보여줍니다. CA_NAME은 인증서의 이름이며(mmc.exe에서 볼 수 있음) 설정에 따라 나머지 매개변수를 변경할 수 있습니다.

CA_NAME="WIN2012DOM-WIN2012-CA"
AD_SUFFIX="dc=win2012dom,dc=com" LDAPURL="ldap://win2012.win2012dom.com"
ADMIN_DN="cn=Administrator,cn=Users,$AD_SUFFIX"
ADMINPASSWORD="MyPassword"

CA_CERT_DN="cn=latexmath:[$CA_NAME,cn=certification authorities,cn=public key services,cn=services,cn=configuration,$]AD_SUFFIX"

TMP_CACERT=/tmp/cacert.`date +'%Y%m%d%H%M%S'`.$$.pem

ldapsearch -xLLL -H
latexmath:[$LDAPURL -D `echo \"$]ADMIN_DN"`-W -s base -b`echo
"$CA_CERT_DN"` objectclass=* cACertificate

7.1.2. CA 인증서를 PEM 파일 형식으로 변환

아래 예제와 같이 /path/cacert.pem이라는 파일을 만들고 Active Directory에서 CA 인증서를 가져온 LDAP 쿼리의 내용을 헤더 및 footer 내에 포함합니다.

-----BEGIN CERTIFICATE-----
MIIDbzCCAlegAwIBAgIQQD14hh1Yz7tPFLXCkKUOszANB... -----END
CERTIFICATE-----

문제 해결을 위해 다음 쿼리를 실행하여 LDAP가 작동하는지 확인하고 PEM 인증서 파일이 올바르게 생성되었는지 확인할 수 있습니다.

LDAPTLS_CACERT=/path/cacert.pem ldapsearch -xLLL -ZZ -H $LDAPURL -s base -b "" "objectclass=*" currenttime

쿼리에서 다음과 유사한 결과를 반환해야 합니다.

dn: currentTime:
20141022050611.0Z

다음 명령을 실행하여 웹 서버에서 호스팅한 경우 CA 인증서를 가져올 수 있습니다.

  • $HOST=redhat.com
  • $PORT=443
# echo Q | openssl s_client -connect $HOST:$PORT | sed -n -e '/BEGIN CERTIFICATE/,/END CERTIFICATE/ p'

7.1.3. ID 서비스에 대한 보안 LDAP 통신 구성 방법

7.1.3.1. 방법 1

PEM 파일을 사용하여 CA 신뢰가 LDAP 수준에서 구성된 경우 이 방법을 사용합니다. CA 인증서 파일의 위치를 수동으로 지정합니다. 다음 절차에서는 OpenLDAP 라이브러리를 사용하는 모든 애플리케이션뿐만 아니라 ID 서비스뿐만 아니라 LDAP 통신을 보호합니다.

  1. PEM 형식의 CA 인증서 체인이 포함된 파일을 /etc/openldap/certs 디렉터리에 복사합니다.
  2. /etc/openldap/ldap.conf 를 편집하고 다음 지시문을 추가하여 [CA_FILE]을 CA 인증서 파일의 위치 및 이름으로 바꿉니다.

    TLS_CACERT /etc/openldap/certs/[CA_FILE]
  3. openstack-keystone 서비스를 다시 시작합니다.

    # systemctl restart openstack-keystone.service

7.1.3.2. 방법 2

NSS(Network Security Services) 데이터베이스를 사용하여 LDAP 라이브러리 수준에서 CA 신뢰가 구성된 경우 이 방법을 사용합니다. certutil 명령을 사용하여 OpenLDAP 라이브러리에서 사용하는 NSS 인증서 데이터베이스로 CA 인증서를 가져오고 신뢰합니다. 다음 절차에서는 OpenLDAP 라이브러리를 사용하는 모든 애플리케이션뿐만 아니라 ID 서비스뿐만 아니라 LDAP 통신을 보호합니다.

  1. [CA_FILE]을 CA 인증서 파일의 위치 및 이름으로 교체하여 인증서를 가져오고 신뢰합니다.

    # certutil -d /etc/openldap/certs -A -n "My CA" -t CT,, -a -i [CA_FILE]
  2. CA 인증서를 올바르게 가져왔는지 확인합니다.

    # certutil -d /etc/openldap/certs -L

    CA 인증서가 나열되고 신뢰 속성은 gRPC( ,)로 설정됩니다.

  3. openstack-keystone 서비스를 다시 시작합니다.

    # systemctl restart openstack-keystone.service

7.1.3.3. 방법 3

PEM 파일을 사용하여 Keystone 수준에서 CA 신뢰가 구성된 경우 이 방법을 사용합니다. ID 서비스와 LDAP 서버 간의 통신을 보호하는 마지막 방법은 ID 서비스에 대해 TLS를 구성하는 것입니다.

그러나 위의 두 방법과 달리 이 방법은 ID 서비스의 LDAP 통신만 보호하고 OpenLDAP 라이브러리를 사용하는 다른 애플리케이션의 LDAP 통신을 보호하지 않습니다.

다음 절차에서는 openstack-config 명령을 사용하여 /etc/keystone/keystone.conf 파일의 값을 편집합니다.

  1. TLS를 활성화합니다.

    # openstack-config --set /etc/keystone/keystone.conf ldap use_tls True
  2. 인증서 위치를 지정하고 [CA_FILE]을 CA 인증서 이름으로 교체합니다.

    # openstack-config --set /etc/keystone/keystone.conf ldap tls_cacertfile [CA_FILE]
  3. LDAP 서버에서 들어오는 TLS 세션에서 수행되는 클라이언트 인증서 검사를 지정하고 [CERT_BEHAVIOR]을 아래에 나열된 동작 중 하나로 교체합니다.

    수요
    인증서는 항상 LDAP 서버에서 요청합니다. 인증서를 제공하지 않거나 제공된 인증서를 기존 인증 기관 파일에 대해 확인할 수 없는 경우 세션이 종료됩니다.
    allow
    인증서는 항상 LDAP 서버에서 요청합니다. 이 세션은 인증서를 제공하지 않더라도 정상적으로 진행됩니다. 인증서가 제공되지만 기존 인증 기관 파일에 대해 확인할 수 없는 경우 인증서가 무시되고 세션은 정상적으로 진행됩니다.
    never
    인증서가 요청되지 않습니다.
    # openstack-config --set /etc/keystone/keystone.conf ldap tls_req_cert [CERT_BEHAVIOR]
  4. openstack-keystone 서비스를 다시 시작합니다.

    # systemctl restart openstack-keystone.service
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.