많은 사람들에게 '암호화'는 즐겨 찾는 웹사이트의 웹 주소 옆에 있는 작은 녹색 자물쇠 아이콘이며, 다른 사람들에게는 최근 몇 년 동안 발생한 TLS 취약점을 떠올릴 수도 있습니다. 데이터는 오늘날의 디지털 금과 같으며, 해커들은 중요한 데이터를 훔치기 위해 영리한 방법을 동원하여 정보를 훔치고 있습니다. 끊임없이 변화하는 공격 환경을 염두에 두고 Couchbase Server 6.5에는 서버 암호 제품군을 쉽게 구성할 수 있는 새로운 방법이 추가되었습니다. 이 블로그에서는 암호의 기본 사항을 살펴보고 최신 및 최고의 암호를 사용하도록 Couchbase를 구성하는 방법을 설명합니다.
TLS 암호 제품군의 기본 사항
암호 모음은 기본적으로 TLS(전송 계층 보안)를 통해 네트워크 연결을 보호하는 데 필요한 완전한 방법(알고리즘이라고도 함)의 집합입니다. 각 암호 모음에는 아래와 같이 고유한 표기가 있습니다.
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
이제 이를 세분화해 보겠습니다.
- TLS 는 보안 통신을 설정하는 데 TLS 프로토콜이 사용됨을 나타냅니다. 프로토콜은 단순히 알고리즘을 사용하는 방법을 정의한다는 점을 기억하세요.
- ECDHE 는 키 교환에 타원 곡선 디피-헬만을 활용한다는 것을 나타냅니다. 이는 데이터를 암호화하고 해독하기 위해 클라이언트와 서버 간에 키가 교환되는 방식입니다.
- ECDSA 는 인증을 위한 디지털 서명을 생성하는 데 사용되는 알고리즘(이 경우 타원 곡선 디지털 서명 알고리즘)입니다.
- AES_256_CBC 는 256비트 키 크기의 AES 암호화를 사용하여 메시지를 암호화할 것임을 나타냅니다. CBC 는 모드가 암호 블록 체인임을 나타냅니다.
- SHA384 는 메시지 확인(MAC)에 사용되는 해싱 알고리즘을 나타내며, 이 예에서는 384비트 키를 사용하는 SHA2입니다.
TLS 핸드셰이크 프로토콜은 클라이언트와 서버 간의 암호 모음 협상('서버 안녕하세요' 참조), 서버 및 선택적으로 클라이언트의 인증, 비밀 키 교환(아래 녹색 화살표 참조)을 담당합니다.
그림 : TLS 핸드셰이크 중 클라이언트-서버 상호 작용
카우치베이스 6.5에서 사이퍼 스위트 설정하기
기본적으로(즉, 암호 제품군을 명시적으로 지정하지 않고) Couchbase Server는 클라이언트와 서버 간에 가장 강력한 공통 암호를 선택합니다. Couchbase Server 6.5에서는 사용할 Cipher 제품군을 Couchbase에 지정할 수 있습니다.
아래 예시에서 보듯이, Couchbase의 암호 세트가 TLS_RSA_WITH_AES_128_CBC_SHA를 사용하도록 설정했습니다. 그런 다음 이 암호 세트는 데이터, 쿼리, 인덱스, 전체 텍스트 및 분석을 포함한 모든 Couchbase Server 서비스에서 사용됩니다.
# ./couchbase-cli 설정-보안 -cipher-suits TLS_RSA_WITH_AES_128_CBC_SHA -c localhost:8091 -u 관리자 -p 비밀번호 -set
성공: 보안 설정 업데이트 # ./couchbase-cli 설정-보안 -c localhost:8091 -u 관리자 -p 비밀번호 -get |
암호 사용량 확인
암호가 사용되었는지 확인하기 위해 다음 중 하나에 연결할 수 있습니다. SSL 포트 를 선택합니다. 아래 예에서는 포트 11207(Couchbase 클라이언트가 서버에 연결하는 데이터 포트)에 연결되어 있습니다.
openssl s_client -connect localhost:11207
연결됨(00000003) — 인증서 체인 0 s:/CN=127.0.0.1 i:/CN=Couchbase Server de182d2a 1 s:/CN=Couchbase Server de182d2a i:/CN=Couchbase Server de182d2a — 서버 인증서 인증서 시작---- MIIDADCCAeigAwIBAgIIFbB+nPd+hWIwDQYJKoZIhvcNAQELBQAwJDEiMCAGA1UE AxMZQ291Y2hiYXNlIFNlcnZlciBkZTE4MmQyYTAeFw0xMzAxMDEwMDAwMDBaFw00 OTEyMzEyMzU5NTlaMBQxEjAQBgNVBAMTCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAL7PaNB0n1vxDsg6Z4ydBk7HjlEjzItIGVp6svgF 2A1XW98bIl34D6ZsWHsyj+i9+Xb3saY8HTD8f83QtUkGpve0AQGCHxFE1Dx0Eb2t hMGwSWiL4DAiufa42UGmgJ008D70hpdQS1/ow5wZ1kNmqmHdjzG2wGrdJEGFhwzS lka+HdrDCaQIT6jvtnT3udO0R6yRFxjveEQ5lFX/P4tZeyIWglTT0muRxcxI/7Ln nvUQgoLRta59hxiK1PXQczjP1KPls8OdWnap4HNIbi3WOim9hk/Vn4R6BSvU1N9W Md4WkXw6WgzcPz1khdQTsZzDZbQNV0fI9fcM8nGoh6A1R7sCAwEAAaNGMEQwDgYD VR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAw DwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQsFAAOCAQEACiMJY3512tT+rEFJ 4xe0zGIoJi7ebXz1O8w8a2NBKjwWeZ2oCco0CxILfDn1EPH9NBZsiQS7w9OGz7VO pwSVrt6/jRIAAqnFxSUZpKiZ/avNK5kpfufebxaA4ZQzrW4/lePsBRcRl3ENWJup OsE8hD4Xv/LQHnZxZlbq8gQv8ZiJqsi8bRoEML4A4DgTmgvTYgT0XIp9V65H9zZ/ jJEymoUx9eidAdfVo+l8PlE7YgRsrP9f7y5tDARAAmmAmL2mgUmzxqe49Hp8MPDl ocTLZm1ryT+g1xvL/EuuLOACUecInBnWSmzJep7Vw0jzqR92YWht6rM3NGfwNyzT 3hz7ZA== --인증서 종료-- subject=/CN=127.0.0.1 발급자=/CN=Couchbase Server de182d2a — 클라이언트 인증서 CA 이름이 전송되지 않음 — SSL 핸드셰이크가 1881바이트를 읽고 631바이트를 썼습니다. — 신규, TLSv1/SSLv3, 암호는 다음과 같습니다. AES128-SHA 서버 공개 키는 2048비트입니다. 보안 재협상이 지원됩니다. 압축: 없음 확장: 확장: 없음 |
결론
Couchbase Server 6.5에서 제공되는 Cipher 제품군을 사용하면 Couchbase 인스턴스를 지속적으로 업데이트하여 최신의 최고의 암호를 사용하여 안전을 유지할 수 있습니다. 이 블로그가 도움이 되셨기를 바라며, 언제나 그렇듯이 여러분의 피드백을 기다리겠습니다. Couchbase Server를 사용해 보시고 새로운 멋진 기능을 모두 확인하시려면 Couchbase 6.5를 다운로드하세요.
리소스
다운로드
문서
블로그
블로그 Couchbase Server 6.5 발표 - 새로운 기능 및 개선 사항