Sun 엔터프라이즈 인증 메커니즘 안내서

2장 SEAM 계획

이 장에서는 SEAM의 설치와 유지 보수 방법에 대해 설명합니다. 또한 SEAM을 설치 및 구성하기 전에 반드시 해결해야 할 문제에 대해 설명합니다.

다음은 시스템 관리자나 다른 기술 지원자가 해결해야 할 문제에 대한 목록입니다.

SEAM 구성 사항 결정

SEAM을 설치하기 전에 몇 가지 구성 문제를 해결해야 합니다. 설치가 끝난 후에도 구성을 변경할 수 있지만, 시스템에 새 클라이언트를 모두 추가한 다음 변경 작업을 하는 것은 어렵습니다. 또한 일부 변경 사항의 경우 제품 전체를 다시 설치해야 하므로 장기적인 안목으로 계획을 수립하는 것이 좋습니다.

영역

영역은 도메인과 같은 논리적인 네트워크로서 동일한 마스터 KDC를 가진 시스템 그룹을 정의합니다. DNS 도메인 이름을 설정할 때와 마찬가지로, SEAM을 설치하기 전에 영역 이름, 각 영역의 크기와 개수, 다른 영역과의 관계 등의 문제를 먼저 해결해야 합니다.

영역 이름

영역 이름에는 모든 ASCII 문자열을 사용할 수 있습니다. 보통 DNS 도메인 이름과 동일하지만 대문자를 사용합니다. 따라서 익숙한 이름을 사용하면서 SEAM에서 발생하는 문제와 DNS 이름 공간에서 발생하는 문제를 구별할 수 있습니다. DNS를 사용하지 않을 경우 다른 문자열을 사용할 수도 있으나 표준 인터넷 이름 지정 구조를 따르는 영역 이름을 사용하는 것이 좋습니다.

영역의 개수

설치에 필요한 영역의 개수는 여러 요인에 따라 달라집니다.

영역 계층

여러 영역을 구성하려면 영역 간의 연결 방법을 결정해야 합니다. 관련 도메인에 자동 경로를 제공하도록 영역들 간에 계층 관계를 설정할 수 있지만, 이 경우 계층 구조에 포함된 모든 영역이 제대로 구성되어 있어야만 합니다. 자동 경로를 사용하면 관리 업무가 줄어들지만, 도메인 수준이 많을 경우 처리가 너무 많이 필요하기 때문에 기본 경로를 사용하지 않게 됩니다.

또한 직접 연결을 설정할 수도 있습니다. 직접 연결은 두 개의 계층 도메인 간에 너무 많은 수준이 존재하거나 계층 관계가 없을 때 가장 유용합니다. 연결을 정의하려면 해당 연결을 사용하는 모든 호스트의 /etc/krb5/krb5.conf 파일에서 정의해야 합니다. 따라서 연결을 설정하려면 추가 작업이 필요합니다. 영역의 개요에 대해서는 "영역" 을, 여러 영역을 구성하는 절차에 대해서는 "영역간 인증 구성"을 참고하십시오.

영역과 호스트 이름 매핑

영역과 호스트 이름의 매핑은 krb5.conf파일의 domain_realm섹션에서 정의됩니다. 필요에 따라 전체 도메인이나 각 호스트에 대해 이러한 매핑을 정의할 수 있습니다. 자세한 내용은 krb5.conf(4)를 참고하십시오.

클라이언트와 서비스 주체 이름

DNS 서비스가 이미 구성되어 있고 모든 호스트에서 실행 중이라면 SEAM을 더욱 간편하게 설정할 수 있습니다. 단, DNS를 사용 중일 경우 모든 호스트에서 이를 사용하거나 모두 사용하지 않는 경우여야 합니다. DNS가 사용 가능하다면 주체는 각 호스트의 전체 도메인 이름(FQDN)을 포함하고 있어야 합니다. 예를 들어, 호스트 이름이 boston이면 DNS 도메인 이름은 acme.com, 영역 이름은 ACME.COM, 호스트의 주체 이름은 host/boston.acme.com@ACME.COM이 되어야 합니다.. 이 책의 예제에서는 각 호스트의 전체 도메인 이름(FQDN)을 사용합니다.

호스트의 전체 도메인 이름(FQDN)이 포함된 주체 이름의 경우, /etc/resolv.conf에서 DNS 도메인 이름을 나타내는 문자열을 매핑하는 것이 중요합니다. 이 문자열은 대소문자를 구분합니다. SEAM에서 DNS 도메인 이름은 소문자여야 하므로, 주체의 전체 도메인 이름(FQDN)을 입력할 때는 소문자만 사용할 수 있습니다.

DNS 서비스가 없어도 SEAM을 실행할 수 있으나, 다른 영역과의 통신 기능 등 일부 주요 기능을 사용할 수 없게 됩니다. DNS가 구성되어 있지 않을 경우에는 인스턴스 이름으로 간단한 호스트 이름을 사용할 수 있습니다. 이런 경우 주체는 host/boston@ACME.COM이 됩니다.DNS를 나중에 활성화할 경우 모든 호스트 주체를 삭제하고 KDC 데이터베이스에서 교체해야 합니다.

KDC 포트와 관리 서비스

기본적으로 포트 88750은 KDC에 사용되고 포트 749는 KDC 관리 데몬에 사용됩니다. 다른 포트 번호를 사용하려면 모든 클라이언트에서 /etc/services/etc/krb5/krb5.conf 파일을 변경하고, 각 KDC에서 /etc/krb5/kdc.conf 파일을 업데이트해야 합니다.

슬레이브 KDC

슬레이브 KDC는 마스터 KDC처럼 클라이언트에 대한 증명서를 만듭니다. 슬레이브 KDC는 마스터를 사용할 수 없을 경우 백업을 제공합니다. 각 영역에는 최소한 한 개 이상의 슬레이브 KDC가 있어야 합니다. 다음과 같은 요인에 따라 슬레이브 KDC가 추가로 필요할 수도 있습니다.

슬레이브 KDC를 너무 많이 추가할 수도 있습니다. KDC 데이터베이스가 각 서버에 전파되야 하기 때문에, KDC 서버를 많이 설치할수록 영역을 통해 업데이트된 데이터를 가져오는 시간이 오래 걸립니다. 또한 각 슬레이브에는 KDC 데이터베이스의 사본이 있으므로 슬레이브가 많을수록 보안에 대한 위험이 증가합니다.

또한 여러 개의 슬레이브 KDC를 마스터 KDC와 쉽게 스왑되도록 구성할 수도 있습니다. 한 개 이상의 슬레이브 KDC에서 이러한 절차를 따르면, 마스터 KDC를 사용하지 못할 경우 마스터로 쉽게 스왑되도록 미리 구성할 수 있는 장점이 있습니다. 스왑 가능한 슬레이브 KDC를 구성하는 방법에 대해서는 "마스터 및 슬레이브 KDC 스와핑"를 참고하십시오.

데이터베이스 전파

마스터 KDC에 저장된 데이터베이스는 정기적으로 슬레이브 KDC로 전파되어야 합니다. 먼저 해결해야 할 문제는 슬레이브 KDC의 업데이트 주기입니다. 모든 클라이언트에게 최신 정보를 제공하는 것은 정보 업데이트에 소요되는 시간에 따라 달라집니다. 데이터베이스 전파에 대한 자세한 내용은 "Kerberos 데이터베이스 관리"를 참고하십시오.

클록 동기화

Kerberos 인증 시스템에 참여하는 모든 호스트는 내부 클록을 지정된 시간 범위 내에 동기화해야 합니다. 이것을 클록 불균형이라 하며 또 다른 Kerberos 보안 기능을 제공합니다. 하나의 참여 호스트에서라도 클록 불균형이 초과하게 되면 요청은 거부됩니다.

모든 클록을 동기화하는 방법은 네트워크 시간 프로토콜(NTP) 소프트웨어를 사용하는 것입니다. 자세한 내용은 "KDC와 SEAM 클라이언트의 클록 동기화"를 참고하십시오. NTP를 사용하지 않고 클록을 동기화하는 방법도 있습니다. 클록 불균형으로 인한 액세스 실패를 방지하려면 특정 동기화 방식을 사용해야 합니다.

SEAM 사전 구성 프로시저

SEAM 제품에는 NFS 서버에 정보를 저장하는 사전 구성 프로시저가 포함되어 있으며, 이러한 정보는 소프트웨어 설치 스크립트에서 사용됩니다. 이 프로시저는 선택적으로 사용되지만, 설치 시간이 줄어들고 수동으로 데이터를 입력할 경우 발생 가능한 오류를 줄일 수 있으므로 사용하는 것이 좋습니다.