탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 관리: 보안 서비스 Oracle Solaris 11.1 Information Library (한국어) |
Kerberos 서비스가 DNS 및 nsswitch 서비스와 상호 작용하는 방식
Kerberos를 사용하여 서비스에 대한 액세스 권한 얻기
암호화 유형으로 암호화 작업을 수행할 때 사용할 암호화 알고리즘과 모드를 식별할 수 있습니다. aes, des3-cbc-sha1 및 rc4-hmac 암호화 유형으로는 더 높은 강도의 암호화 작업에 사용할 수 있는 키를 만들 수 있습니다. 이처럼 높은 강도의 작업을 수행하면 Kerberos 서비스의 전반적인 보안이 향상됩니다.
클라이언트가 KDC로부터 티켓을 요청할 경우 KDC는 클라이언트 및 서버 모두와 호환되는 암호화 유형을 사용하는 키를 사용해야 합니다. Kerberos 프로토콜은 KDC가 티켓 응답의 클라이언트 부분에 특정 암호화 유형을 사용하도록 클라이언트에 요청할 수는 있지만, 서버에서 암호화 유형을 KDC로 지정하도록 허용하지 않습니다.
주 - 설치된 마스터 KDC에서 Solaris 10 릴리스가 실행 중이지 않은 경우 마스터 KDC를 업그레이드하기 전에 슬레이브 KDC를 Solaris 10 릴리스로 업그레이드해야 합니다. Solaris 10 마스터 KDC는 이전 슬레이브에서 처리할 수 없는 새 암호화 유형을 사용하게 됩니다.
다음 목록은 암호화 유형을 변경하기 전에 고려해야 하는 몇 가지 문제에 대해 설명합니다.
KDC는 주체 데이터베이스에서 서버 주체 항목과 연관된 첫번째 키/암호화 유형을 서버에서 지원한다고 가정합니다.
KDC에서는 주체에 대해 생성된 키가 주체가 인증될 시스템과 호환되는지 확인해야 합니다. 기본적으로 kadmin 명령은 지원되는 모든 암호화 유형에 대한 키를 만듭니다. 주체가 사용되는 시스템에서 암호화 유형의 이 기본 집합을 지원하지 않을 경우 주체를 생성할 때 암호화 유형을 제한해야 합니다. 암호화 유형을 제한하려면 kadmin addprinc에서 -e 플래그를 사용하거나, kdc.conf 파일에서 supported_enctypes 매개변수를 이 일부로 설정하십시오. supported_enctypes 매개변수는 Kerberos 영역에 있는 대부분의 시스템이 기본 암호화 유형 집합의 일부를 지원하는 경우에 사용해야 합니다. supported_enctypes를 설정하면 특정 영역에 대한 주체를 만들 때 암호화 유형의 기본 집합인 kadmin addprinc이 사용되도록 지정됩니다. 일반적으로 다음 두 방법 중 하나를 사용하여 Kerberos에서 사용하는 암호화 유형을 제어하는 것이 가장 좋습니다.
시스템에서 지원하는 암호화 유형을 결정할 때 시스템에서 실행 중인 Kerberos의 버전과 서버 주체를 작성할 서버 응용 프로그램에서 지원하는 암호화 알고리즘을 고려해야 합니다. 예를 들어 nfs/hostname 서비스 주체를 만들 때 암호화 유형을 해당 호스트의 NFS 서버에서 지원하는 유형으로 제한해야 합니다. Solaris 10 릴리스에서 지원되는 모든 암호화 유형은 NFS 서버에서도 지원됩니다.
kdc.conf 파일의 master_key_enctype 매개변수를 사용하면 주체 데이터베이스의 항목을 암호화하는 마스터 키의 암호화 유형을 제어할 수 있습니다. KDC 주체 데이터베이스가 이미 생성된 경우에는 이 매개변수를 사용하지 마십시오. master_key_enctype 매개변수를 데이터베이스 생성 시에 사용하여 기본 마스터 키의 암호화 유형을 des-cbc-crc에서 더 강력한 암호화 유형으로 변경할 수 있습니다. 모든 슬레이브 KDC가 선택한 암호화 유형을 지원하며, 슬레이브 KDC를 구성할 때 kdc.conf에 동일한 master_key_enctype 항목이 있는지 확인하십시오. kdc.conf에서 supported_enctypes가 설정된 경우, master_key_enctype이 supported_enctypes의 암호화 유형 중 하나로 설정되었는지도 확인하십시오. 이러한 문제를 제대로 처리하지 않으면 마스터 KDC가 슬레이브 KDC와 함께 작동하지 않을 수 있습니다.
클라이언트의 경우, krb5.conf의 두 매개변수를 통해 KDC에서 티켓을 가져올 때 클라이언트가 요청하는 암호화 유형을 제어할 수 있습니다. default_tkt_enctypes 매개변수는 클라이언트가 KDC로부터 TGT(티켓 부여 티켓)를 요청할 때 사용할 암호화 유형을 지정합니다. TGT는 클라이언트가 더 효율적인 방식으로 다른 서버 티켓을 획득하는 데 사용됩니다. default_tkt_enctypes를 설정하면 클라이언트가 TGT를 사용하여 서버 티켓을 요청할 때(이를 TGS 요청이라고 함) 클라이언트와 KDC 간의 통신을 보호하는 데 사용되는 암호화 유형을 클라이언트에서 어느 정도 제어할 수 있습니다. default_tkt_enctypes에 지정된 암호화 유형은 KDC에 저장된 주체 데이터베이스의 주체 키 암호화 유형 중에서 하나라도 일치해야 합니다. 그렇지 않을 경우 TGT 요청이 실패합니다. default_tkt_enctypes 매개변수는 상호 운용성 문제의 원인이 될 수 있으므로 대부분의 경우 이 매개변수를 설정하지 않는 것이 좋습니다. 기본적으로 클라이언트 코드는 지원되는 모든 암호화 유형을 요청하며, KDC는 주체 데이터베이스에서 찾은 키를 기준으로 암호화 유형을 선택합니다.
default_tgs_enctypes 매개변수는 서버 티켓을 얻는 데 사용되는 TGS 요청에서 클라이언트가 요청하는 암호화 유형을 제한합니다. 이 매개변수는 또한 클라이언트와 서버가 공유하는 세션 키를 만들 때 KDC에서 사용하는 암호화 유형도 제한합니다. 예를 들어 보안 NFS를 수행할 때 클라이언트가 3DES 암호화만 사용하려고 하는 경우 default_tgs_enctypes를 des3-cbc-sha1으로 설정해야 합니다. 클라이언트 및 서버 주체의 주체 데이터베이스에 des-3-cbc-sha1 키가 있는지 확인하십시오. default_tkt_enctype과 마찬가지로, KDC와 서버에서 자격 증명이 제대로 설정되지 않은 경우 상호 운용성 문제가 발생할 수 있으므로 대부분의 경우 이 매개변수를 설정하지 않는 것이 좋습니다.
서버의 경우, kdc.conf의 permitted_enctypes를 사용하여 서버에서 허용하는 암호화 유형을 제어할 수 있습니다. 또한 keytab 항목을 만들 때 사용되는 암호화 유형을 지정할 수 있습니다. 마찬가지로, 일반적으로 암호화 유형을 제어하는 데 이 방법을 사용하지 않는 것이 좋습니다. 대신 KDC는 사용할 키 또는 암호화 유형을 결정할 때 서버 응용 프로그램과 통신하지 않으므로 KDC가 사용할 암호화 유형을 결정하도록 하십시오.