-
Apache Kafka 서버 보안 (security)컴퓨터/Kafka 2020. 12. 30. 23:24728x90반응형
Kafka
Apache Kafka
A Distributed Streaming Platform.
kafka.apache.org
1. 카프카 보안
기본 설정(PLAINTEXT)으로는 이론상,
연결된 모든 유저 및 애플리케이션이 원하는 토픽에 원하는 메시지를 전달할 수가 있다.
카프카 보안을 높일 수 있는 방법은 크게 아래 3가지가 있다.
-
데이터 전송 중 SSL / TLS을 통한 암호화
-
SSL / SASL을 통한 인증(Authentication)
-
ACLs을 통한 인증(Authentication)
2. SSL / TLS
이 방법은 프로듀서에서 카프카, 카프카에서 컨슈머로 가는 데이터를 암호화할 수 있게 해 준다.
HTTPS에서 "S"가 이와 같다. (카프카에선 주로 port 9093 SSL을 통해 이용함)
아래는 Kafka 서버 SSL 설정 예제이다.
bootstrap.servers=kafka.example.com:9093 security.protocol=SSL ssl.truststore.location=/etc/security/tls/kafka.client.truststore.jks ssl.truststore.password=test1234 ssl.keystore.location=/etc/security/tls/kafka.client.keystore.jks ssl.keystore.password=test1234 ssl.key.password=test1234
3. SSL 인증
@medium stephane.maarek 로그인(아이디/암호)처럼 인증된 Producer/Consumer에게만 카프카 서버에 접근할 수 있도록 하는 방법이다.
(SSL 인증서를 이용함)
카프카 클라이언트 -> 카프카 서버 (인증서 확인) -> 클라이언트 허용 혹은 의심
4. SASL 인증
SASL에는 아래와 같은 방식이 있다.
-
PLAINTEXT: 클라이언트 아이디/비밀번호를 통한 인증 (보안 - 약 / 셋업 - 하)
-
Kerberos: 셋업이 매우 어렵지만, 보안이 매우 강하다. Azure Active Directory 같은 것 (@커버로스 위키)
-
SCRAM: PLAIN처럼 아이디/비밀번호를 통한 인증 (보안 - 강 / 셋업 난이도 - 중)
예를 들면 아래 카프카 서버를 구축해주는 CloudKarafka는 SASL_SSL 프로토콜을 이용해
유저 이름과 비밀번호를 이용해서 Producer/Consumer를 사용해야 한다.
Python Kafka: Cloud Karafka 이용하기
CloudKarafka CloudKarafka TYou will, among other things, understand how you can benefit from using Apache Kafka in your architecture and how to optimize your Kafka Cluster. www.cloudkarafka.com 1...
choiseokwon.tistory.com
도움
Confluent 카프카 보안 문서: @링크
Kafka Security — Confluent Platform 3.0.0
Version 3.0.0 Docs Kafka Security View page source Important You are viewing documentation for an older version of Confluent Platform. For the latest, click here. Kafka Security Important You are viewing documentation for an older version of Confluent Plat
docs.confluent.io
Apache Kafka 보안 문서: @링크
Apache Kafka
A Distributed Streaming Platform.
kafka.apache.org
728x90'컴퓨터 > Kafka' 카테고리의 다른 글
Apache Kafka Connect 사용해보기 (0) 2021.01.07 Python Kafka: Cloud Karafka 이용하기 (0) 2020.12.24 Python Kafka: Avro 사용하기 (2) 2020.12.23 -