Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickHouse와 ZooKeeper 간의 선택적 보안 통신

ClickHouse Cloud에서 지원되지 않음

SSL을 통해 ClickHouse client와 통신하려면 ssl.keyStore.location, ssl.keyStore.password, ssl.trustStore.location, ssl.trustStore.password를 지정해야 합니다. 이러한 옵션은 Zookeeper 3.5.2 버전부터 사용할 수 있습니다.

zookeeper.crt를 신뢰된 인증서에 추가할 수 있습니다.

sudo cp zookeeper.crt /usr/local/share/ca-certificates/zookeeper.crt
sudo update-ca-certificates

config.xml의 클라이언트 섹션은 다음과 같이 표시됩니다:

<client>
    <certificateFile>/etc/clickhouse-server/client.crt</certificateFile>
    <privateKeyFile>/etc/clickhouse-server/client.key</privateKeyFile>
    <loadDefaultCAFile>true</loadDefaultCAFile>
    <cacheSessions>true</cacheSessions>
    <disableProtocols>sslv2,sslv3</disableProtocols>
    <preferServerCiphers>true</preferServerCiphers>
    <invalidCertificateHandler>
        <name>RejectCertificateHandler</name>
    </invalidCertificateHandler>
</client>

클러스터와 매크로를 포함하여 ClickHouse 구성에 Zookeeper를 추가합니다:

<clickhouse>
    <zookeeper>
        <node>
            <host>localhost</host>
            <port>2281</port>
            <secure>1</secure>
        </node>
    </zookeeper>
</clickhouse>

clickhouse-server를 실행하십시오. 로그에 다음이 표시되어야 합니다:

<Trace> ZooKeeper: initialized, hosts: secure://localhost:2281

접두사 secure://는 connection이 SSL로 보호된다는 것을 나타냅니다.

트래픽이 암호화되는지 확인하려면 보안 포트에서 tcpdump를 실행하십시오:

tcpdump -i any dst port 2281 -nnXS

그리고 clickhouse-client에서 쿼리를 실행합니다:

SELECT * FROM system.zookeeper WHERE path = '/';

암호화되지 않은 연결에서는 tcpdump 출력에 다음과 같은 내용이 표시됩니다:

..../zookeeper/quota.

암호화된 연결에서는 이 내용이 표시되지 않아야 합니다.

Navigation