보안
NCache 이 시스템은 인증, 권한 부여 및 암호화된 통신을 통해 캐시 서버 노드를 보호하는 보안 프레임워크를 제공합니다. LDAP/Active Directory 기반 사용자 유효성 검사 및 역할 기반 접근 제어를 지원합니다. NCache 운영, RSA 기반 자격 증명 교환 및 안전한 통신을 위한 TLS 암호화를 포함합니다. 이러한 다계층 접근 방식은 관리와 데이터 계층 액세스를 분리하여 인증된 사용자만 캐시와 상호 작용할 수 있도록 보장하는 동시에 회선 속도 처리량을 유지합니다.
인증 및 승인
NCache LDAP 통합 보안 기능을 제공하여 캐시 노드를 보호합니다. 노드가 보호되면 해당 노드에 두 가지 액세스 수준이 정의됩니다.
- 머신 레벨 권한 부여대상 서버에서 OS 수준의 관리자가 수행합니다.
- NCache-레벨 권한 부여이것은 누가 관리할 수 있는지를 제어합니다. NCache 그리고 누가 보안 캐시에 접근할 수 있는지.
주의 사항
보안 노드의 모든 캐시는 자동으로 보호됩니다.
OS 레벨 관리자(또는 머신 관리자)는 서버 머신에서 로컬 관리자 권한을 가진 사용자입니다. 이 사용자는 LDAP 또는 Active Directory 사용자일 필요는 없습니다. 머신 관리자가 추가되지 않은 경우 NCache 보안상의 이유로 해당 사용자는 노드 관리자 또는 캐시 사용자로 취급되지 않습니다. 이러한 사용자는 활성화 또는 비활성화 권한만 가질 수 있습니다. NCache 보안.
일단 NCache 노드에서 보안이 활성화되었습니다. NCache 등록된 보안 사용자를 사용하여 관리 및 캐시 작업에 대한 권한을 부여합니다. NCache 다음과 같은 유형의 보안 사용자를 지원합니다.
- 노드 관리자
- 캐시 사용자
- gMSA 캐시 사용자
머신 관리자
머신 관리자는 서버에서 로컬 관리자 권한을 가진 운영 체제 수준의 사용자입니다. NCache 보안 기능을 활성화 또는 비활성화합니다. 이 사용자는 시스템 수준에서 보안 구성 변경을 승인하는 데 사용됩니다.
머신 관리자 권한은 자동으로 부여되지 않습니다. NCache 관리 또는 캐시 접근 권한. 수행하려면 NCache 보안이 활성화된 후 관리 작업을 수행하려면 사용자를 노드 관리자로 추가해야 합니다. NCache 보안.
머신 관리자 계정이 LDAP 또는 Active Directory 디렉터리를 조회할 수 없는 경우, 별도의 디렉터리 탐색 자격 증명을 제공하여 노드 관리자 신원을 확인할 수 있습니다.
노드 관리자
노드 관리자는 슈퍼유저 또한 캐시에 대한 완전한 제어 권한을 가지며, 캐시를 생성, 수정, 삭제하고 기타 모든 캐시 관리 작업을 수행할 수 있습니다.
캐시 사용자
그러나 일부 사용자가 캐시 API 액세스만 갖도록 제한하고 관리 작업을 수행하지 않으려면 캐시 사용자를 구성하는 것이 좋습니다. 사용자가 관련 API를 통해서만 추가, 제거, 업데이트 및 검색을 포함한 데이터 작업을 수행하도록 제한할 수 있습니다.
그러나 사용자에 대해 서로 다른 액세스 수준을 정의하고 모든 사용자가 캐시에서 모든 유형의 작업을 수행하도록 허용하고 싶지 않은 경우. 그러면 노드 관리자가 캐시를 원활하게 관리하고 운영할 수 있는 모든 권한을 가지므로 캐시 사용자를 구성할 필요가 없습니다.
gMSA 캐시 사용자
NCache gMSA 계정을 특수한 유형의 캐시 사용자로 지원하여 특정 환경에서 작동하는 애플리케이션에 사용할 수 있습니다. Windows gMSA ID표준 LDAP 사용자와 달리 gMSA 계정은 암호를 제공하거나 저장할 필요가 없으며, 대신 NCache 클라이언트 SDK는 런타임에 Windows에서 Kerberos 토큰을 자동으로 가져오고, 인증을 Windows 인증(SSPI/LSA)에 위임하여 Kerberos 키 배포 센터(KDC)에서 Kerberos 티켓을 발급받습니다. gMSA 계정을 추가할 수 있습니다. 캐시 사용자(노드 관리자 아님) 표준 LDAP 사용자와 동일한 방식으로 Active Directory에 대해 인증됩니다. 계정 이름을 지정할 때는 '$' 접미사를 사용해야 합니다(예: user1gmsa$).
주의 사항
gMSA 계정은 다음과 같이 지원됩니다. 캐시 사용자 gMSA 지원에는 다음이 필요합니다. NCache 5.3.7 이상.
자격 증명 유효성 검사 및 캐싱
NCache 구성된 도메인 컨트롤러를 통해 LDAP 및 Active Directory 사용자를 검증합니다. 사용자 또는 그룹이 추가될 때 NCache 보안, NCache 해당 ID가 디렉터리에 존재하는지 확인합니다.
유효성 검사 중에 도메인 컨트롤러를 사용할 수 없는 경우 작업이 실패하고 사용자를 추가하거나 인증할 수 없습니다.
프로세스 진행 중 반복적인 인증 횟수를 줄이기 위해, NCache 자격 증명 캐싱 기능을 제공합니다. 이 기능을 활성화하면 이미 인증된 사용자의 자격 증명이 캐시됩니다. NCache 따라서 사용자는 동일한 프로세스 주기 동안 반복적으로 인증을 받을 필요가 없습니다.
자격 증명 캐싱은 기본적으로 비활성화되어 있습니다. 활성화하려면 다음 설정을 하세요. NCacheServer.EnableCredentialCaching True로 태그를 지정하세요 NCache 서비스 구성 파일.
동종 보안 설정
한 노드에 대한 보안 설정을 설정한 후에는 해당 클러스터의 모든 노드에 동일한 보안 설정이 적용되었는지 확인해야 합니다. 한 노드에서 노드 관리자 역할을 하는 사용자는 해당 클러스터의 다른 모든 노드에서도 관리자 권한을 가져야 합니다. 마찬가지로, 한 노드에서 캐시 사용자 역할을 하는 사용자는 나머지 노드에서도 캐시 사용자 권한을 가져야 합니다.
클러스터의 모든 노드에서 동일한 보안 설정이 보장되지 않으면 캐시를 관리하고 운영하는 동안 다양한 문제가 발생할 수 있습니다.
주의 사항
- 캐시 클러스터의 첫 번째 노드인 보안 노드는 취약한 노드의 추가를 방지해야 합니다.
- 캐시 클러스터의 첫 번째 노드인 취약한 노드는 보안 노드의 추가를 방지해야 합니다.
데이터 암호화
분산 캐싱 시스템에서 통신은 대부분 네트워크 채널을 통해 발생합니다. 데이터는 직렬화된 형식으로 캐시에 이동하고 상주하며, 연결을 도청하는 사람은 누구나 데이터가 암호화되지 않은 경우 쉽게 가로챌 수 있습니다. NCache 데이터 암호화를 통해 정보를 암호문으로 변환할 수 있습니다. 권한이 있는 사람(즉, 적절한 키를 가진 사람)만 코드를 해독하고 원본 정보에 접근할 수 있습니다. NCache AES, 3DES 및 AES FIPS를 지원합니다. 암호화 알고리즘.
데이터 암호화 워크플로
캐시에 데이터를 추가하면 클라이언트 측에서 구성된 암호화 알고리즘과 암호화 키를 사용하여 암호화됩니다. 암호화된 데이터는 캐시에 저장되어 안전하게 보호됩니다. 이제 암호화된 데이터를 가져오면 캐시에서 데이터를 검색하여 클라이언트 측에서 사용하기 전에 복호화합니다. 이러한 종단 간 암호화 방식은 전송 중 및 저장 중 모두 데이터를 안전하게 보호하여 NCache 민감한 정보를 캐싱하기 위한 안전한 솔루션입니다.
암호화 키 관리
암호화 키 관리 NCache 암호화 키를 포함한 모든 암호화 키를 안전하게 처리하는 것이 포함됩니다. 키 암호화 키(KEK), 데이터 암호화 키(DEK)예산 및 자격 증명 암호화 키(CEK), 아래에 논의된 대로.
키 암호화 키(KEK): AES 256 암호화를 기반으로 하는 키 암호화 키(KEK)는 데이터 암호화 키(DEK)를 암호화하여 보호합니다. 이 키는 다음에서 구성해야 합니다. NCache 서버의 서비스 구성 파일입니다. 분산 환경의 모든 캐시 서버에서 일관성과 보안을 보장하려면 각 서버에서 동일한 키 암호화 키(KEK)를 사용해야 합니다.
데이터 암호화 키(DEK): 데이터 암호화 키(DEK)는 사용자 데이터가 캐시에 저장되기 전에 암호화하는 역할을 합니다. 이 DEK는 KEK를 사용하여 암호화됩니다. 이러한 접근 방식을 통해 권한이 부여된 도구나 프로세스만 암호화 키를 검색하고 사용할 수 있습니다.
자격 증명 암호화 키(CEK): NCache 클라이언트 구성 파일에 저장된 사용자 자격 증명을 암호화합니다(클라이언트.ncconf) 자격 증명 암호화 키(CEK)를 사용합니다. 이 키는 다음에서 구성해야 합니다. NCache 서비스 구성 파일입니다. KEK와 마찬가지로 각 서버에서 동일한 자격 증명 암호화 키(CEK)를 사용해야 합니다. 이를 통해 일관성을 보장하고 분산 환경에서 클라이언트 자격 증명을 효과적으로 보호할 수 있습니다.
관리 도구를 위한 키 교환 및 인증 메커니즘
NCache 관리 도구에 대한 보안 키 교환 및 인증을 위해 고급 암호화 기술을 사용합니다. NCache 아래에 설명된 대로 Management Center, PowerShell 등.
키 암호화 키 관리
관리 도구의 경우, 키 교환 프로세스는 프로세스 수명 주기 동안 RSA-256 공개/개인 키 쌍을 생성하는 과정을 포함합니다. 도구는 공개 키를 서버와 공유합니다. 서버는 이 공개 키를 사용하여 KEK를 암호화하고 암호화된 KEK를 도구와 공유합니다. 관리 도구는 개인 키를 사용하여 KEK를 복호화합니다. 이 RSA 키 쌍은 도구 수명 주기 동안만 유효하므로 단기적이고 안전한 교환이 보장됩니다. 사용자 접근 제어(UAC)가 활성화된 경우, 권한이 있는 도구와 클라이언트만 서버에서 KEK를 가져올 수 있습니다.
자격 증명 암호화 키 관리
관리 도구는 RSA 기반 보안 키 교환을 사용하여 캐시 서버에서 CEK를 가져옵니다. KEK 관리와 유사하게, 이 도구는 수명 주기 동안 RSA 기반 256 공개/개인 키 쌍을 생성합니다. 공개 키는 서버와 공유되며, 서버는 도구의 공개 키를 사용하여 CEK를 암호화하고 암호화된 CEK를 도구와 공유합니다. 그런 다음 관리 도구는 개인 키를 사용하여 CEK를 복호화하고 이를 사용하여 사용자 자격 증명을 암호화합니다. 클라이언트.ncconf 파일.
고객을 위한 키 교환
마찬가지로, 클라이언트는 서버에 연결하여 RSA 기반 보안 키 교환을 사용하여 CEK를 요청합니다. 서버는 클라이언트의 공개 키로 CEK를 암호화하고, 클라이언트는 개인 키로 이를 복호화하여 저장된 자격 증명을 복호화할 수 있습니다. 클라이언트.ncconf.
TLS 암호화
DaVinci에는 NCache 포함하는 데이터 암호화 기능을 통해 메모리 내 데이터와 네트워크를 통한 전송 중에 데이터를 보호합니다. 그러나 데이터 암호화에는 추가 성능 비용이 발생합니다. 반면에, 전송 계층 보안 (TLS) 업계 표준 관행에 따라 네트워크 전송 중 데이터 보안에 대한 보다 포괄적인 접근 방식을 제공합니다.
TLS도 성능에 영향을 미치긴 하지만 대안인 데이터 암호화에 비해 리소스를 덜 사용하는 경향이 있습니다. 그렇기 때문에 더욱 중요한 것은 NCache 다양한 방식으로 네트워크를 통해 이동하는 데이터와 관련된 작업:
- 서버와 클라이언트 사이
- 서로 다른 서버 사이
- 캐시와 브리지 사이
In NCacheTLS를 사용하여 네트워크를 통해 전송되는 통신 유형을 암호화할 수 있습니다. 이 옵션을 선택하면 데이터 보안을 완벽하게 제어할 수 있습니다. 일반적으로 WAN 복제를 위한 브리지 통신과 같이 공용 인터넷 트래픽은 암호화합니다. 하지만 보안에 민감한 애플리케이션의 경우 클라이언트와 서버 간, 그리고 서로 다른 서버 간의 트래픽을 암호화하는 것이 좋습니다.
TLS 인증서 고려 사항
TLS를 구현할 때 인증서는 다음 중 하나에 저장됩니다. 개인 보험 또는 신뢰할 수 있는 루트 인증 기관 저장소 두 곳 모두에서 이용 가능합니다. 사용자 로컬 머신 수준. 로컬 컴퓨터 수준에 있는 인증서는 모든 사용자가 액세스할 수 있는 반면, 사용자 수준 인증서는 특정 사용자에게만 액세스할 수 있습니다.
또한 이러한 인증서에는 유효성 검사가 필요합니다. 클라이언트 측에서 TLS에 대한 서버 측 인증서의 유효성을 검사하여 클라이언트가 인증서 발급 기관을 신뢰하는지 확인해야 합니다. 공개적으로 인정되는 인증서 발급자를 사용하는 경우 클라이언트의 신뢰할 수 있는 루트 인증 기관 저장소에 발급자의 인증서를 설치할 필요가 없을 수도 있습니다. 그러나 자체 서명 인증서나 개인 인증서의 경우 발급자의 인증서가 클라이언트 측의 신뢰할 수 있는 루트 인증 기관 저장소에 설치되어 있는지 확인해야 합니다. TLS 핸드셰이크 실패.
클라이언트와 서버 간 상호 TLS의 경우 클라이언트는 해당 인증서를 서버와 공유해야 합니다. 이 경우 서버는 클라이언트의 인증서 발급 기관을 신뢰해야 하며, 클라이언트는 이를 서버의 신뢰할 수 있는 루트 인증 기관 저장소에 배치해야 합니다. 마찬가지로 서버 간에 TLS를 활성화하는 경우 통신에 관련된 다른 서버는 서로의 인증서를 검증해야 합니다.
NCache 서버 상자에서 인증서를 검색할 때 특정 순서를 따릅니다.
- 로컬 머신: 신뢰할 수 있는 루트
- 로컬 머신: 개인
- 현재 사용자: 신뢰할 수 있는 루트
- 현재 사용자: 개인
이러한 고려 사항을 이해하면 배포가 보장됩니다. NCache TLS 암호화가 원활하게 진행됩니다.
다음에 대한 HTTPS NCache 관리 센터
TLS와 유사하게 HTTPS(Hypertext Transfer Protocol Secure)는 네트워크를 통한 통신을 보호하기 위해 널리 사용되는 프로토콜입니다. 따라서, NCache HTTPS를 지원합니다. NCache TLS 인증서를 사용하는 Windows 및 Linux의 관리 센터.
이 섹션의
사용자 보안
노드 및 캐시에 대한 보안을 구성하는 방법을 설명합니다.
gMSA
gMSA 캐시 사용자 또는 그룹을 추가하는 방법을 설명합니다. NCache 관리 센터 및 PowerShell 명령.
TLS
Windows 및 Linux에서 캐시에 대한 SSL 암호화를 활성화하고 구성하는 방법을 설명합니다.
암호화
캐시 암호화를 활성화하고 구성하는 방법을 설명합니다.
다음에 대한 HTTPS NCache 관리 센터
HTTPS를 활성화하고 구성하는 방법을 설명합니다. NCache 관리센터.