3.2. Kerberos로 관리 인터페이스 보안


JBoss EAP는 보안 도메인에 Kerberos 인증을 제공하는 것 외에도 Kerberos를 사용하여 관리 인터페이스를 보호하는 기능도 제공합니다.

3.2.1. Elytron을 사용하여 Kerberos로 관리 인터페이스 보안

HTTP 관리 인터페이스에 대한 Kerberos 인증을 구성하려면 다음을 수행합니다.

  1. 애플리케이션에 대한 Kerberos 인증을 구성하는 것과 동일한 지침에 따라 Kerberos 인증을 수행하는 http-authentication-factory 를 생성합니다.

    중요

    관리 인터페이스를 사용하여 Kerberos 인증을 구성할 때 JBoss EAP가 KDC에 대해 인증하도록 구성하는 서비스 주체에 세심한 주의를 기울여야 합니다. 이 서비스 주체는 service-name/hostname 형식을 사용합니다. JBoss EAP는 웹 기반 관리 콘솔 및 원격 에 대해 인증하는 경우(예: 관리 CLI의 remote /localhost) 서비스 이름이 될 때 HTTP 가 서비스 이름(예: HTTP/localhost )이 될 것으로 예상합니다.

  2. http-authentication-factory 를 사용하도록 관리 HTTP 인터페이스를 업데이트합니다.

    /core-service=management/management-interface=http-interface:write-attribute(name=http-authentication-factory, value=example-krb-http-auth)

관리 CLI에 대한 SASL 인증에 대한 Kerberos 인증을 구성하려면 다음을 수행합니다.

  1. 애플리케이션에 대한 Kerberos 인증을 구성하는 것과 동일한 지침에 따라 보안 도메인과 kerberos-security-factory 를 생성합니다.
  2. 구성 가능-sasl-server-factoryGSSAPI 를 추가합니다.

    /subsystem=elytron/configurable-sasl-server-factory=configured:list-add(name=filters, value={pattern-filter=GSSAPI})
  3. 보안 도메인 및 kerberos -security-factory를 사용하는 asasl-authentication -factory 를 생성합니다.

    예: sasl-authentication-factory

    /subsystem=elytron/sasl-authentication-factory=example-sasl-auth:add(sasl-server-factory=configured, security-domain=exampleFsSD, mechanism-configurations=[{mechanism-name=GSSAPI, mechanism-realm-configurations=[{realm-name=exampleFsSD}], credential-security-factory=krbSF}])

  4. the sasl-authentication-factory 를 사용하도록 관리 SASL 인터페이스를 업데이트합니다.

    예제: Update sasl-authentication-factory

    /core-service=management/management-interface=http-interface:write-attribute(name=http-upgrade.sasl-authentication-factory, value=example-sasl-auth)
    
    reload

레거시 코어 관리 인증을 사용하여 관리 인터페이스에서 Kerberos 인증을 활성화하려면 다음 단계를 수행해야 합니다.

참고

표시된 관리 CLI 명령은 JBoss EAP 독립 실행형 서버를 실행 중이라고 가정합니다. JBoss EAP 관리형 도메인의 관리 CLI 사용에 대한 자세한 내용은 JBoss EAP 관리 CLI 가이드를 참조하십시오.

  1. 관련 시스템 속성을 활성화합니다.

    이전 섹션에서 설명한 대로 Kerberos 서버 연결을 위해 필요한 모든 JBoss EAP 시스템 속성을 활성화합니다.

  2. Kerberos 서버 ID를 보안 영역에 추가합니다.

    보안 영역에서 Kerberos 인증을 사용하려면 Kerberos 서버에 대한 연결을 추가해야 합니다. 다음 예제에서는 Kerberos 서버 ID를 기존 Management Realm에 추가하는 방법을 보여줍니다. service-name,hostname, MY-REALM 을 적절한 값으로 교체해야 합니다.

    보안 영역에 서버 ID를 추가하기 위한 CLI의 예

    /core-service=management/security-realm=ManagementRealm/server-identity=kerberos:add()
    
    /core-service=management/security-realm=ManagementRealm/server-identity=kerberos/keytab=service-name\/hostname@MY-REALM:add(path=/home\/username\/service.keytab, debug=true)
    
    reload

    중요

    관리 인터페이스를 사용하여 Kerberos 인증을 구성할 때 JBoss EAP가 KDC에 대해 인증하도록 구성하는 서비스 주체에 세심한 주의를 기울여야 합니다. 이 서비스 주체는 service-name/hostname 형식을 사용합니다. JBoss EAP는 웹 기반 관리 콘솔 및 원격 에 대해 인증하는 경우(예: 관리 CLI의 remote /localhost) 서비스 이름이 될 때 HTTP 가 서비스 이름(예: HTTP/localhost )이 될 것으로 예상합니다.

  3. 보안 영역에서 인증 방법을 업데이트합니다.

    Kerberos 서버 ID를 올바르게 구성한 후 이를 사용하려면 보안 영역의 인증 방법을 업데이트해야 합니다.

    예제: 보안 영역에 Kerberos 인증 추가

    /core-service=management/security-realm=ManagementRealm/authentication=kerberos:add()
    
    reload

    중요

    보안 영역에 정의된 인증 메커니즘이 있는 순서에 따라 JBoss EAP는 관리 인터페이스에 액세스할 때 해당 순서대로 사용자를 인증하려고 합니다.

  4. Kerberos를 사용하여 두 인터페이스의 보안을 모두 유지합니다.

    Kerberos를 사용하여 웹 기반 관리 콘솔과 관리 CLI를 모두 보호하려면 각각에 대해 구성된 Kerberos 서버 ID가 필요합니다. 추가 ID를 추가하려면 다음 명령을 사용합니다.

    /core-service=management/security-realm=ManagementRealm/server-identity=kerberos/keytab=remote\/hostname@MY-REALM:add(path=/home\/username\/remote.keytab, debug=true)
    
    reload

3.2.3. 관리 인터페이스에 연결

관리 인터페이스에 연결하기 전에 유효한 Kerberos 티켓이 있어야 합니다. 보안 영역이 Kerberos를 통해 사용자를 인증하지 못하면 레거시 보안 솔루션을 사용할 때 <authentication> 요소에 지정된 후속 방법을 사용하여 사용자를 인증하려고 합니다. elytron 하위 시스템은 레거시 보안 솔루션과 유사하게 작동합니다. Kerberos 인증 메커니즘이 실패하면 인증은 관리 인터페이스를 보호하는 인증 팩토리에 정의된 다른 메커니즘으로 대체됩니다. 일반적으로 DIGEST 또는 BASIC은 대체로 사용됩니다.

브라우저를 사용하여 웹 기반 관리 콘솔에 연결하면 보안 영역이 해당 티켓을 기반으로 사용자를 인증하려고 시도합니다.

관리 CLI에 연결할 때 -Djavax.security.auth.useSubjectCredsOnly=false 매개변수를 사용해야 합니다. 이렇게 하면 GSSAPI 구현에서 운영 체제 수준에서 관리되는 ID를 사용할 수 있습니다. 환경을 설정하는 방법에 따라 다음 매개변수를 사용해야 할 수도 있습니다.

-Djava.security.krb5.realm=REALM_NAME
영역 이름을 지정합니다.
-Djava.security.krb5.kdc=KDC_HOSTNAME
KDC의 위치를 지정합니다.
--no-local-auth
는 로컬 인증을 비활성화합니다. 이 기능은 스크립트를 실행 중인 동일한 시스템에서 실행 중인 JBoss EAP 인스턴스에 연결을 시도하는 경우 유용합니다.

명령 예

$ EAP_HOME/bin/jboss-cli.sh -c -Djavax.security.auth.useSubjectCredsOnly=false --no-local-auth

주의

클라이언트와 서버 간에 HTTP 프록시를 사용하는 경우 인증된 여러 클라이언트 간에 인증된 연결을 동일한 서버에 공유하지 않도록 주의해야 합니다. 이 작업을 수행하지 않으면 서버에서 보안 컨텍스트 연결 추적을 쉽게 손실할 수 있습니다. 서버 인증 무결성에 클라이언트를 올바르게 수행하는 프록시는 Proxy 지원을 제공합니다. session-Authentication HTTP 헤더를 프록시의 HTTP 응답에 있는 클라이언트에 보냅니다. 프록시 서버에서 401 Unauthorized 응답을 사용하여 이 헤더를 제공하지 않는 한 클라이언트는 프록시를 통해 SPNEGO HTTP 인증 메커니즘을 활용하지 않아야 합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동