Sun Java System Application Server Enterprise Edition 8.1 2005Q2 관리 설명서

영역에 대한 관리 콘솔 작업

Procedure영역을 만드는 방법

Application Server는 다음의 세 가지 영역으로 미리 구성됩니다. file, certificateadmin-realm. ldap, solaris 및 사용자 정의 영역을 만들 수도 있습니다. 일반적으로 서버에는 각 유형마다 한 가지 영역이 있는데, Application Server에는 두 가지 파일 영역이 있습니다. fileadmin-realm. 이는 두 가지 다른 용도에 사용한 동일한 유형의 두 가지 영역입니다. 시스템의 각 가상 서버에 대해 다른 인증서 데이터베이스를 보유할 수도 있습니다.

  1. 관리 콘솔 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 해당 인스턴스의 구성 노드를 확장합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 확장합니다.

    • 모든 인스턴스의 기본 설정을 구성하려면 default-config 노드를 확장합니다.

  3. 보안 노드를 확장합니다.

  4. 영역 노드를 선택합니다.

  5. 영역 페이지에서 새로 만들기를 누릅니다.

    영역 만들기 페이지가 표시됩니다.

  6. 이름 필드에 영역 이름을 입력합니다.

  7. 만들 영역의 클래스 이름을 지정합니다.

    유효한 선택은 다음 표에 나와 있습니다.

    영역 이름  

    클래스 이름 

    file

    com.sun.enterprise.security.auth.realm.file.FileRealm

    certificate

    com.sun.enterprise.security.auth.realm.certificate.CertificateRealm

    ldap

    com.sun.enterprise.security.auth.realm.ldap.LDAPRealm

    solaris

    com.sun.enterprise.security.auth.realm.solaris.SolarisRealm

    custom

    로그인 영역 클래스의 이름 

  8. 영역에 대한 필수 등록 정보와 원하는 선택적인 등록 정보를 추가합니다.

    1. 등록 정보 추가를 누릅니다.

    2. 이름 필드에 등록 정보 이름을 입력합니다.

    3. 값 필드에 해당 등록 정보의 값을 입력합니다.

  9. 확인을 누릅니다.

해당 asadmin 명령

create-auth-realm

Procedure영역을 편집하는 방법

  1. 관리 콘솔 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 해당 인스턴스의 구성 노드를 확장합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 확장합니다.

    • 모든 인스턴스의 기본 설정을 구성하려면 default-config 노드를 확장합니다.

  3. 보안 노드를 확장합니다.

  4. 영역 노드를 확장합니다.

  5. 기존 영역의 이름을 선택합니다.

    영역 편집 페이지가 표시됩니다.

  6. 기존 등록 정보와 등록 정보 값을 원하는 대로 편집합니다.

  7. 다른 등록 정보를 추가하려면 등록 정보 추가 버튼을 누릅니다.

    페이지에 새로운 행이 표시됩니다. 유효한 등록 정보 이름과 등록 정보 값을 입력합니다.

  8. 저장을 눌러 변경 사항을 저장합니다.

Procedure영역을 삭제하는 방법

  1. 관리 콘솔 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 해당 인스턴스의 구성 노드를 확장합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 확장합니다.

    • 모든 인스턴스의 기본 설정을 구성하려면 default-config 노드를 확장합니다.

  3. 보안 노드를 확장합니다.

  4. 영역 노드를 선택합니다.

  5. 삭제할 영역 옆에 있는 확인란을 선택합니다.

  6. 삭제를 누릅니다.

해당 asadmin 명령

delete-auth-realm

Procedure기본 영역을 설정하는 방법

기본 영역은 응용 프로그램의 배포 설명자가 영역을 지정하지 않은 경우에 Application Server가 인증 및 권한 부여를 위해 사용하는 영역입니다.

  1. 관리 콘솔 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 해당 인스턴스의 구성 노드를 확장합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 확장합니다.

    • 모든 인스턴스의 기본 설정을 구성하려면 default-config 노드를 확장합니다.

  3. 보안 노드를 선택합니다.

    보안 페이지가 표시됩니다.

  4. 기본 영역 필드의 드롭다운 목록에서 원하는 영역을 선택합니다.

  5. 저장을 눌러 변경 사항을 저장하거나 기본값 로드를 눌러 변경 사항을 삭제하고 Application Server 기본값을 복원합니다.

  6. 콘솔에 다시 시작해야 함이 표시된 경우 서버를 다시 시작합니다.

특정 영역에 대한 추가 정보

이 절에서는 다음 항목에 대해 설명합니다.

LDAP 영역 만들기

ldap 영역은 LDAP 서버의 정보를 사용하여 인증을 수행합니다. 사용자 정보에는 사용자 이름, 비밀번호 및 사용자가 속한 그룹이 포함됩니다. LDAP 영역을 사용하려면 디렉토리에 사용자 및 그룹을 이미 정의했어야 합니다.

LDAP 영역을 만들려면 영역을 만드는 방법의 단계를 수행하여 새 영역을 추가하고 다음 표에 나와 있는 등록 정보를 추가합니다.

표 9–2 ldap 영역의 필수 등록 정보

등록 정보 이름 

설명 

값 

디렉토리 

디렉토리 서버의 LDAP URL입니다. 

ldap://호스트 이름:포트 형식의 LDAP URL(예: ldap://myldap.foo.com:389)입니다.

base-dn 

트리 범위 검색을 수행한 후 사용자 데이터 위치에 대한 기본 고유 이름(DN)입니다. 이 때 사용자 데이터 위치는 사용자 데이터 이상의 어떤 수준이나 가능합니다. 검색 트리를 더 작게 할수록 성능이 더 좋아집니다. 

검색용 도메인, 예: dc=siliconvalley, dc=BayArea, dc=sun, dc=com.

jaas-context 

해당 영역을 사용하는 로그인 모듈 유형입니다. 

ldapRealm이어야 합니다.

ldap 영역에 대한 선택적인 등록 정보가 다음에 표시됩니다.

표 9–3 ldap 영역에 대한 선택적인 등록 정보

등록 정보 이름 

설명 

기본값 

search-filter 

사용자를 찾기 위해 사용하는 검색 필터입니다. 

uid=%s(%s는 주제 이름으로 확장)

group-base-dn 

그룹 데이터의 위치에 대한 기본 DN입니다. 

base-dn과 동일하지만 필요한 경우 조정할 수 있습니다.

group-search-filter 

사용자의 그룹 구성원을 찾기 위한 검색 필터입니다. 

uniquemember=%d(%d는 사용자 요소 DN으로 확장)

group-target 

그룹 이름 항목을 포함하는 LDAP 속성 이름입니다. 

CN 

search-bind-dn 

검색 필터 조회를 수행하기 위해 디렉토리 인증에 사용한 선택적인 DN입니다. 익명의 검색을 허용하지 않는 디렉토리에만 필요합니다. 

 

search-bind-password 

search-bind-dn에 지정한 DN의 LDAP 비밀번호입니다.

 

예를 들어, LDAP 디렉토리에 LDAP 사용자(Joe Java)가 다음과 같이 정의되어 있다고 가정합니다.

uid=jjava,ou=People,dc=acme,dc=com
uid=jjava
givenName=joe
objectClass=top
objectClass=person
objectClass=organizationalPerson
objectClass=inetorgperson
sn=java
cn=Joe Java

ldap 영역을 만들거나 편집할 때 예 코드를 사용하면 다음 표에 표시된 값을 입력할 수 있습니다.

표 9–4 예 ldap 영역 값

등록 정보 이름 

등록 정보 값 

directory

서버에 대한 LDAP URL, 예: ldap://ldap.acme.com:389

base-dn

ou=People,dc=acme,dc=com

더 높은 단계에서 검색(예: dc=acme, dc=com)할 수 있지만 트리의 더 많은 부분을 검색할수록 성능은 떨어집니다.

jaas-context

ldapRealm

Solaris 영역 만들기

solaris 영역은 시스템 구성에 결정된 대로 기본 Solaris 사용자 데이터베이스에서 사용자 및 그룹 정보를 가져옵니다. solaris 영역은 인증을 위해 기본 PAM 인프라를 호출합니다. 구성된 PAM 모듈에 루트 권한이 필요할 경우 이 영역을 사용하려면 도메인을 루트로 실행해야 합니다. 자세한 내용은 Solaris 설명서에서 보안 서비스를 참조하십시오.

solaris 영역에는 사용할 로그인 모듈 유형을 지정하는 하나의 필수 등록 정보 jaas-context가 있습니다. 등록 정보 값은 solarisRealm이어야 합니다.


주 –

solaris 영역은 Solaris 9 이상만 지원합니다.


사용자 정의 영역 만들기

네 개의 기본 제공 영역 외에 사용자 데이터를 다른 방식(예: 관계형 데이터베이스)으로 저장하는 사용자 정의 영역을 만들 수 있습니다. 사용자 정의 영역의 개발은 이 문서에서 다루지 않습니다. 자세한 내용은 Application Server Developer's Guide의 Securing Applications 장을 참조하십시오.

관리자가 기본적으로 알아야 할 사항은 JAAS(Java Authentication and Authorization Service) 패키지에서 파생된 LoginModule이라는 클래스에서 사용자 정의 영역을 구현한다는 점입니다.

Procedure사용자 정의 영역을 만드는 방법

  1. 영역을 만드는 방법에 있는 사용자 정의 영역의 이름과 LoginModule 클래스의 이름을 입력하는 요약 절차를 수행합니다.

    사용자 정의 영역에 고유한 이름(예: myCustomRealm)을 사용할 수 있습니다.

  2. 다음 표에 표시된 사용자 정의 영역에 대한 등록 정보를 추가합니다.

    등록 정보 이름 

    등록 정보 값 

    jaas-context 

    LoginModule 클래스 이름(예: simpleCustomRealm)입니다.

    auth-type 

    영역의 설명(예: “간단한 사용자 정의 영역”)입니다. 

  3. 확인을 누릅니다.

  4. 도메인의 로그인 구성 파일 domain-dir/config/login.conf를 편집하고 파일의 끝 부분에 JAAS LoginModule의 정규화된 클래스 이름을 다음과 같이 추가합니다.


    realmName {
        fully-qualified-LoginModule-classname required;
    };

    예를 들면 다음과 같습니다.


    myCustomRealm {
        com.foo.bar.security.customrealm.simpleCustomLoginModule required;
    };
  5. LoginModule 클래스와 모든 종속 클래스를 domain-dir/lib/classes 디렉토리에 복사합니다.

  6. 콘솔에 다시 시작해야 함이 표시되면 서버를 다시 시작합니다.

  7. 영역이 제대로 로드되었는지 확인합니다.

    서버가 영역을 로드했는지 domain-dir/logs/server.log를 확인합니다. 서버가 영역의 init() 메소드를 호출해야 합니다.

인증서 영역 편집

certificate 영역은 SSL 인증을 지원합니다. 이 영역은 Application Server의 보안 컨텍스트에서 사용자 아이디를 설정하고 이 아이디를 truststore 및 keystore 파일의 암호화 방법을 통해 인증된 클라이언트 인증서에서 얻은 사용자 데이터로 채웁니다( 인증서 파일 정보를 참조하십시오). certutil을 사용하여 이 파일에 사용자를 추가합니다.

certificate 영역을 사용하여 J2EE 컨테이너는 사용자 인증서의 고유 이름(DN)을 기반으로 인증 처리를 수행합니다. DN은 인증서가 공개 키를 식별하는 엔티티 이름입니다. 이 이름에서는 X.500 표준을 사용하므로 인터넷에서 고유합니다. 키 저장소 및 트러스트 저장소에 대한 자세한 내용은 NSS(Network Security Services) 도구 사용certutil 설명서를 참조하십시오.

다음 표는 certificate 영역에 대한 선택적 등록 정보를 나열합니다.

표 9–5 certificate 영역에 대한 선택적 등록 정보

등록 정보 

설명 

assign-groups 

쉼표로 구분한 그룹 이름 목록입니다. 유효한 인증서를 제공하는 모든 클라이언트가 이 그룹에 할당됩니다. 예를 들어 사용자 그룹의 이름인 employee,manager가 있습니다.

jaas-context 

해당 영역을 사용하는 로그인 모듈 유형입니다. certificate 영역의 경우 값은 certificateRealm이어야 합니다.

file 영역과 admin-realm 영역 편집

서버는 모든 사용자, 그룹 및 비밀번호 정보를 file 영역의 경우 keyfile이라는 파일에, admin-realm의 경우 admin-keyfile이라는 파일에 보관합니다. 두 경우 모두에서 file 등록 정보는 keyfile의 위치를 지정합니다. 다음 표는 file 영역에 대한 필수 등록 정보를 나타냅니다.

표 9–6 file 영역의 필수 등록 정보

등록 정보 이름 

설명 

기본값 

file 

keyfile의 전체 경로 및 이름입니다. 

domain-dir/config/keyfile

jaas-context 

해당 영역을 사용하는 로그인 모듈 유형입니다. 

fileRealm만 유효한 값입니다.

처음에는 keyfile이 비어 있으므로 file 영역을 사용하기 전에 사용자를 추가해야 합니다. 자세한 내용은 file 영역 사용자 관리를 참조하십시오.

처음부터 admin-keyfile에는 관리자 이름, 암호화된 형식의 관리자 비밀번호 및 사용자가 속한 그룹(기본적으로 asadmin)이 포함되어 있습니다. 사용자를 admin-realm에 추가하는 방법에 대한 자세한 내용은 관리 도구에 대한 액세스 권한을 부여하는 방법을 참조하십시오.


주 –

admin-realm에 있는 asadmin 그룹의 사용자는 관리 콘솔과 asadmin 도구를 사용할 수 있는 권한이 있습니다. 서버 관리 권한이 있는 사용자만 이 그룹에 추가합니다.


NSS(Network Security Services)를 사용하여 사용자 관리

Enterprise Edition의 경우에만, file 영역 사용자 관리에 설명된 대로 관리 콘솔을 사용하거나 또는 NSS 도구를 사용하여 사용자를 관리할 수 있습니다. NSS(Network Security Services)는 보안을 사용하는 클라이언트 및 서버 응용 프로그램의 교차 플랫폼 개발을 지원하기 위해 설계된 라이브러리 집합입니다. NSS가 구축된 응용 프로그램은 SSL v2 및 v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 인증서 및 기타 보안 표준을 지원할 수 있습니다. 자세한 내용은 다음 URL 링크를 참조하십시오.

file 영역 사용자 관리

관리 콘솔을 사용하여 file 영역 사용자를 관리합니다. file 영역의 사용자와 그룹은 file 등록 정보에 위치가 지정된 keyfile에 나열됩니다.


주 –

이 단계를 사용하여 admin-realm을 포함한 모든 file 영역에 사용자를 추가할 수도 있습니다. 이 절에서 참조한 file 영역 대신 대상 영역 이름으로 대체하기만 하면 됩니다.


file 영역의 사용자는 공통 특성에 따라 분류된 사용자 범주인 J2EE 그룹에 속할 수 있습니다. 예를 들어, 전자 상거래 응용 프로그램의 고객은 CUSTOMER 그룹에 속할 수 있지만, 대량 소비자는 PREFERRED 그룹에 속할 수 있습니다. 사용자를 그룹으로 범주화하면 많은 수의 사용자 액세스를 더 쉽게 제어할 수 있습니다.

Application Server 설치 후 처음에는 설치 중에 입력한 관리자만 유일한 사용자가 됩니다. 기본적으로 이 사용자는 Application Server를 수정할 수 있는 권한을 제공하는 admin-realm 영역의 asadmin 그룹에 속합니다. 이 그룹에 지정된 사용자는 관리자 권한이 있습니다. 즉, asadmin 도구와 관리 콘솔에 액세스할 수 있는 권한을 갖습니다.

file 영역 사용자를 관리하려면 다음 작업을 수행합니다.

Procedure파일 사용자 페이지에 액세스하는 방법

  1. 관리 콘솔 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 해당 인스턴스의 구성 노드를 확장합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 확장합니다.

    • 모든 인스턴스의 기본 설정을 구성하려면 default-config 노드를 확장합니다.

  3. 보안 노드를 확장합니다.

  4. 영역 노드를 확장합니다.

  5. file 노드를 선택합니다.

  6. 영역 편집 페이지에서 사용자 관리 버튼을 누릅니다.

    파일 사용자 페이지가 표시됩니다. 이 페이지에서 다음 작업을 수행합니다.

Procedure사용자를 추가하는 방법

  1. 새로 만들기를 눌러 새로운 사용자를 file 영역에 추가합니다.

  2. 파일 사용자 페이지에서 다음 정보를 입력합니다.

    • 사용자 아이디(필수) - 사용자의 이름입니다.

    • 비밀번호(필수) - 사용자의 비밀번호입니다.

    • 비밀번호 확인(필수) - 검증을 위해 다시 입력하는 사용자 비밀번호입니다.

    • 그룹 목록(선택 사항) - 사용자가 속하는 쉼표로 구분되는 그룹 목록입니다. 이 그룹을 다른 위치에 정의할 필요는 없습니다.

  3. 이 사용자를 file 영역의 사용자 목록에 추가하려면 확인을 누릅니다. 저장하지 않고 종료하려면 취소를 누릅니다.

해당 asadmin 명령

create-file-user

Procedure사용자 정보를 편집하는 방법

  1. 사용자 아이디 열에서 수정할 사용자 이름을 누릅니다.

    파일 영역 사용자 편집 페이지가 표시됩니다.

  2. 비밀번호 필드와 비밀번호 확인 필드에 새로운 비밀번호를 입력하여 사용자의 비밀번호를 변경합니다.

  3. 그룹 목록 필드에서 그룹을 추가하거나 삭제하여 사용자가 속한 그룹을 변경합니다.

    그룹 이름을 쉼표로 구분합니다. 그룹을 미리 정의할 필요는 없습니다.

  4. 이 사용자를 file 영역의 사용자 목록에 저장하려면 저장을 누릅니다.

    저장하지 않고 종료하려면 닫기를 누릅니다.

Procedure사용자를 삭제하는 방법

  1. 삭제할 사용자의 이름 왼쪽에 있는 확인란을 선택합니다.

  2. 삭제를 누릅니다.

  3. 닫기를 눌러 영역 편집 페이지로 돌아갑니다.

해당 asadmin 명령

delete-file-user

상호 인증 구성

상호 인증의 경우 서버측 인증과 클라이언트측 인증이 모두 활성화됩니다. 상호 인증을 테스트하려면 유효한 인증서를 가진 클라이언트가 있어야 합니다. 상호 인증에 대한 자세한 내용은 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html에 있는 J2EE 1.4 TutorialSecurity 장을 참조하십시오.

응용 프로그램에서 상호 SSL 인증 활성화

특정 응용 프로그램에 대한 상호 인증을 활성화하려면 deploytool을 사용하여 인증 방법을 Client-Certificate로 설정합니다. deploytool 사용에 대한 자세한 내용은 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html에 있는 J2EE 1.4 Tutorial Security 장을 참조하십시오.

Procedure모든 응용 프로그램에 대한 상호 인증을 활성화하는 방법

Application Server는 HTTPS 인증에 certificate 영역을 사용합니다.

  1. 관리 콘솔 트리 구성 요소에서 구성 노드를 확장합니다.

  2. 구성할 인스턴스를 선택합니다.

    • 특정 인스턴스를 구성하려면 해당 인스턴스의 구성 노드를 확장합니다. 예를 들어, 기본 인스턴스 server에 대해 server-config 노드를 확장합니다.

    • 모든 인스턴스의 기본 설정을 구성하려면 default-config 노드를 확장합니다.

  3. 보안 노드를 확장합니다.

  4. 영역 노드를 확장합니다.

  5. certificate 영역을 선택합니다.

  6. 등록 정보 추가 버튼을 누릅니다.

    1. 이름 필드에 clientAuth를 입력합니다.

    2. 값 필드에 true를 입력합니다.

  7. 저장을 누릅니다.

  8. 콘솔에 다시 시작해야 함이 표시되면 Application Server를 다시 시작합니다.

    서버를 다시 시작한 후에는 certificate 영역을 사용하는 모든 응용 프로그램에 대해 클라이언트 인증이 필요합니다.