6.2. TLS 암호화


Kafka는 Kafka 클라이언트와의 통신을 암호화하기 위해 TLS를 지원합니다.

TLS 암호화 및 서버 인증을 사용하려면 개인 키와 공개 키가 포함된 키 저장소를 제공해야 합니다. 일반적으로 JKS(Java Keystore) 형식으로 파일을 사용하여 수행합니다. 이 파일의 경로는 ssl.keystore.location 속성에 설정됩니다. 키 저장소를 보호하는 암호를 설정하는 데 ssl.keystore.password 속성을 사용해야 합니다. 예를 들면 다음과 같습니다.

ssl.keystore.location=/path/to/keystore/server-1.jks
ssl.keystore.password=123456

경우에 따라 개인 키를 보호하는 데 추가 암호가 사용됩니다. 이러한 암호는 ssl.key.password 속성을 사용하여 설정할 수 있습니다.

Kafka는 인증 기관에서 서명한 키와 자체 서명 키를 사용할 수 있습니다. 인증 기관에서 서명한 키를 사용하는 것이 항상 선호되는 방법이어야 합니다. 클라이언트가 연결 중인 Kafka 브로커의 ID를 확인할 수 있도록 하려면 인증서에서 항상 공개된 호스트 이름을 CN(일반 이름) 또는 SAN(주체 대체 이름)으로 포함해야 합니다.

다양한 리스너에 다양한 SSL 구성을 사용할 수 있습니다. ssl 으로 시작하는 모든 옵션의 접두사는 listener.name.<NameOfTheListener>입니다. 여기서 리스너 이름은 항상 소문자여야 합니다. 이렇게 하면 해당 특정 리스너에 대한 기본 SSL 구성이 재정의됩니다. 다음 예제에서는 다양한 리스너에 다양한 SSL 구성을 사용하는 방법을 보여줍니다.

listeners=INT1://:9092,INT2://:9093,REPLICATION://:9094
listener.security.protocol.map=INT1:SSL,INT2:SSL,REPLICATION:SSL

# Default configuration - will be used for listeners INT1 and INT2
ssl.keystore.location=/path/to/keystore/server-1.jks
ssl.keystore.password=123456

# Different configuration for listener REPLICATION
listener.name.replication.ssl.keystore.location=/path/to/keystore/replication.jks
listener.name.replication.ssl.keystore.password=123456

추가 TLS 구성 옵션

위에서 설명한 기본 TLS 구성 옵션 외에도 Kafka는 TLS 구성을 미세 조정하기 위한 다양한 옵션을 지원합니다. 예를 들어 TLS / SSL 프로토콜 또는 암호화 제품군을 활성화하거나 비활성화하려면 다음을 수행합니다.

ssl.cipher.suites
활성화된 암호화 제품군 목록입니다. 각 암호화 제품군은 TLS 연결에 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 활성화됩니다.
ssl.enabled.protocols
활성화된 TLS/SSL 프로토콜 목록입니다. 기본값은 TLSv1.2,TLSv1.1,TLSv1 입니다.

6.2.1. TLS 암호화 활성화

다음 절차에서는 Kafka 브로커에서 암호화를 활성화하는 방법을 설명합니다.

사전 요구 사항

프로세스

  1. 클러스터의 모든 Kafka 브로커에 대한 TLS 인증서를 생성합니다. 인증서에는 일반 이름 또는 주체 대체 이름에 광고 및 부트스트랩 주소가 있어야 합니다.
  2. 다음을 위해 모든 클러스터 노드에서 Kafka 구성 속성 파일을 편집합니다.

    • listener.security.protocol.map 필드를 변경하여 TLS 암호화를 사용하려는 리스너의 SSL 프로토콜을 지정합니다.
    • 브로커 인증서와 함께 JKS 키 저장소의 경로로 ssl.keystore.location 옵션을 설정합니다.
    • ssl.keystore.password 옵션을 키 저장소를 보호하는 데 사용한 암호로 설정합니다.

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

      listeners=UNENCRYPTED://:9092,ENCRYPTED://:9093,REPLICATION://:9094
      listener.security.protocol.map=UNENCRYPTED:PLAINTEXT,ENCRYPTED:SSL,REPLICATION:PLAINTEXT
      ssl.keystore.location=/path/to/keystore/server-1.jks
      ssl.keystore.password=123456
  3. Kafka 브로커 시작
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.