-
카프카 보안 프로토콜과 내부 메커니즘개발지식 아카이브/Data - ALL 2025. 1. 3. 16:46
오늘은 패킷 보안 및 인증에 사용되는 카프카 4가지 보안 프로토콜(Security Protocol) 타입을 정리해 보겠다.
1. PLAINTEXT
- 설명:
- 기본 프로토콜로, 데이터를 암호화하지 않고 전송합니다.
- 인증 및 데이터 암호화 기능이 없습니다.
- 메커니즘:
- 없음: 보안 설정이 필요하지 않고, 모든 데이터는 평문으로 전송됩니다.
2. SSL (Secure Sockets Layer)
- 설명:
- 데이터 전송 시 암호화를 제공하여 전송 중 데이터의 기밀성과 무결성을 보장합니다.
- SSL 메커니즘:
- 암호화: 데이터 암호화.
- 서버 인증: 클라이언트는 서버의 인증서를 확인하여 신뢰성을 보장.
- 클라이언트 인증(옵션): 서버가 클라이언트의 인증서를 요청할 수 있음 (양방향 인증).
- 구성 요소:
- ssl.keystore.location 및 ssl.keystore.password: 클라이언트/서버 인증서.
- ssl.truststore.location 및 ssl.truststore.password: 신뢰할 수 있는 인증서.
3. SASL_PLAINTEXT (Simple Authentication and Security Layer)
- 설명:
- 인증 메커니즘을 제공한다
- 메커니즘:
- PLAIN: ID와 비밀번호를 사용하여 간단하게 인증.
- SCRAM: 해시 기반 인증 (SHA-256, SHA-512).
- GSSAPI (Kerberos): Kerberos를 사용한 인증.
- OAUTHBEARER: OAuth 2.0 토큰을 사용한 인증.
4. SASL_SSL
- 설명:
- SASL 인증과 SSL 암호화를 결합한 프로토콜로, 인증과 암호화를 모두 제공합니다.
- 높은 수준의 보안을 요구하는 환경에서 사용됩니다.
- SASL 인증: SASL 메커니즘 중 하나를 사용하여 인증.
- SSL 암호화: 데이터를 TLS/SSL로 암호화.
- 구성 요소:
- SASL 관련 설정(sasl.mechanism, sasl.jaas.config)과 SSL 설정(ssl.keystore.location, ssl.truststore.location)을 함께 사용.
- SASL 메커니즘:
- PLAIN: ID와 비밀번호를 사용하여 간단하게 인증.
- SCRAM: 해시 기반 인증 (SHA-256, SHA-512).
- GSSAPI (Kerberos): Kerberos를 사용한 인증.
- OAUTHBEARER: OAuth 2.0 토큰을 사용한 인증. (OAUTH 서버에 클라이언트가 접근하여 토큰을 발급)
- SSL 메커니즘:
- 암호화: 데이터 암호화.
- 서버 인증: 클라이언트는 서버의 인증서를 확인하여 신뢰성을 보장.
- 클라이언트 인증(옵션): 서버가 클라이언트의 인증서를 요청할 수 있음 (양방향 인증).
- 구성 요소:
- ssl.keystore.location 및 ssl.keystore.password: 클라이언트/서버 인증서.
- ssl.truststore.location 및 ssl.truststore.password: 신뢰할 수 있는 인증서.
주요 사용 사례 및 선택 기준
- PLAINTEXT: 보안 요구가 없는 개발 또는 테스트 환경에서 사용.
- SSL: 데이터 암호화가 필요한 환경에서 사용.
- SASL_PLAINTEXT: 인증만 필요한 환경에서 사용.
- SASL_SSL: 인증과 암호화가 모두 필요한 환경에서 사용.
요약
보안 프로토콜 암호화 인증 SASL 메커니즘 PLAINTEXT X X 없음 SSL O X 없음 SASL_PLAINTEXT X O PLAIN, GSSAPI, OAUTHBEARER SASL_SSL O O PLAIN, GSSAPI, OAUTHBEARER
관련 포스팅
OAuthBearer 메카니즘에 대해 좀 더 이해하고 싶다면 다음 포스팅으로...
카프카와는 관련없으나 oauthbearer 메카니즘으로 인증서버와 클라이언트간에 연결하는 법이 잘 설명되어 있어 소개한다!
2023.06.11 - [개발지식 아카이브/Open Source] - [Auth] oAuth2 proxy + Okta 연동하기 예제
'개발지식 아카이브 > Data - ALL' 카테고리의 다른 글
데이터 레이크하우스 아키텍처 (3) 2024.12.10 [Kafka] 카프카의 실전 서비스 운영 (1) 2024.09.18 [Hive] 하이브 핵심정리 (1) 2023.10.19 Zeppelin 과 Notebook 비교, 어떤 것을 고를까? (1) 2023.05.18 [Streamlit] 설치 단계에서 발생한 이슈와 해결방법 정리 (0) 2023.04.16 - 설명: