SASL Kimlik Doğrulamasını etkinleştirmek için Apache Kafka ' nın yapılandırılması

Bu kısımda, SSL İstemci Kimlik Doğrulaması olmadan Apache Kafka ile SASL Kimlik Doğrulamasının nasıl etkinleştirileceği ele alınmıştır.

Başlamadan önce

İstemci Kimlik Doğrulaması etkinleştirilmiş SASL Kimlik Doğrulaması kullanıyorsanız, bkz. İstemci kimlik denetimini etkinleştirmek için Apache Kafka yapılandırılıyor.

  1. Kafka sunucusu tarafından kullanılan kapıların bir güvenlik duvarı tarafından engellenmediğinden emin olun.
  2. Kafka tüketicileri (QRadar®) ve bir Kafka aracıları arasında istemci kimlik doğrulamasını etkinleştirmek için, kümedeki her aracı ve istemci için bir anahtar ve sertifika oluşturulmalıdır. Sertifikaların bir sertifika kuruluşu (CA) tarafından da imzalanabilmeleri gerekir.

Bu görev hakkında

Aşağıdaki adımlarda, bir sertifika kuruluşu (CA) oluşturur, istemciyi ve aracı sertifikalarını bu kuruluşla imzalar ve aracı güvenilir depolarına ekleyebilirsiniz. Ayrıca, Java anahtar aracını ve OpenSSL' yi kullanarak anahtarları ve sertifikaları da oluşturursun. Diğer bir seçenek olarak, bir dış sertifika kuruluşu (CA) birden çok CA ' yla birlikte, biri aracı sertifikalarını imzalamak için, diğeri de istemci sertifikaları için kullanılabilir.

İşlem

  1. Güvenilirlik deposu, anahtar deposu, özel anahtar ve CA sertifikası oluşturun.
    Not: Aşağıdaki komutlarda PASSWORD, VALIER, SERVER_ALIAS ve CLIENT_ALIAS değerini uygun değerlerle değiştirin.
    1. Sunucu anahtar deposu oluştur.
      Not:

      Aracı sertifikalarının ortak adı (CN), sunucunun/anasistemin tam etki alanı adı (FQDN) ile eşleşmelidir. QRadar tarafından kullanılan Kafka Tüketici istemcisi, kötü amaçlı bir aracı yerine doğru aracıya bağlanmasını sağlamak için, DNS etki alanı adıyla CN ' yi karşılaştırır. Sunucu anahtar deposunu oluşturduğunuzda, CN/İlk ve Soyadı değerine ilişkin FQDN değerini girdiğinizden emin olun.

      keytool -keystore kafka.server.keystore.jks -alias SERVER_ALIAS
       -validity VALIDITY -genkey
      Örnek
      keytool -keystore kafka.server.keystore.jks -alias server.hostname
       -validity 365 -genkey
    2. CA Sertifikası Oluştur.
      Not:

      Bu CA sertifikası tüm aracıyı ve istemci sertifikalarını imzalamak için kullanılabilir.

      openssl req -new -x509 -keyout ca-key -out ca-cert -days VALIDITY
      Örnek
      openssl req -new -x509 -keyout ca-key -out ca-cert -days 365
    3. Sunucu güvenilirlik deposu oluşturun ve CA Sertifikasını içe aktarın.
      keytool -keystore kafka.server.truststore.jks -alias CARoot
       -import -file ca-cert
    4. Bir Sunucu Sertifikası oluşturun ve CA ' yı kullanarak bunu imzalayın.
      keytool -keystore kafka.server.keystore.jks -alias SERVER_ALIAS
       -certreq -file cert-file
      openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out
       cert-signed -days VALIDITY -CAcreateserial
      Örnek
      keytool -keystore kafka.server.keystore.jks -alias server.hostname 
      -certreq -file cert-file 
      openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out
       cert-signed -days 365 -CAcreateserial 
    5. CA Sertifikasını Sunucu anahtar deposuna aktarın.
      keytool -keystore kafka.server.keystore.jks -alias CARoot
       -import -file ca-cert
    6. İmzalanmış Sunucu Sertifikasını Sunucu anahtar deposuna aktarın.
      keytool -keystore kafka.server.keystore.jks -alias SERVER_ALIAS -import
       -file cert-signed
      Örnek
      keytool -keystore kafka.server.keystore.jks -alias server.hostname
       -import -file cert-signed
    7. Sunucu sertifikasını ikili DER dosyasında dışa aktarın.
      Not: keytool -exportcert komutu varsayılan olarak DER biçimini kullanır. Sertifikayı, Kafkaile iletişim kuran herhangi bir EP ' nin trusted_certificates/ dizinine yerleştirin. Yapılandırmada kullandığınız her önyükleme sunucusu için sunucu sertifikasına gereksinim duyarsınız. Tersi durumda, QRadar , sunucuyla TLS tokalaşmasını reddeder.
      keytool -exportcert -keystore kafka.server.keystore.jks -alias
       SERVER_ALIAS -file SEVER_ALIAS.der
      Örnek
      keytool -exportcert -keystore kafka.server.keystore.jks -alias
       server.hostname -file server.hostname.der
  2. İstemci Kimlik Doğrulaması için Kafka aracılarını yapılandırın.
    1. Yuva Sunucusu Ayarları bölümünü bulun ve listeners=PLAINTEXT://:<port> ' yi listeners=SSL://:<PORT>olarak değiştirin.
    2. Aracılar ve aracılar ve istemciler arasında şifrelenmiş iletişimi zorlamak için aşağıdaki özellikleri ekleyin. Yollar, dosya adları ve parolalar için gereken şekilde ayarlayın. Bu özellikler, sunucu' ın güvenilirlik deposu ve anahtar depolarıdır:

      security.inter.broker.protocol=SASL_SSL

      ssl.client.auth=none

      ssl.keystore.location=/somefolder/kafka.server.keystore.jks

      ssl.keystore.password=test1234

      ssl.key.password=test1234

      ssl.truststore.location=/somefolder/kafka.server.truststore.jks

      ssl.truststore.password=test1234

      Not:

      Parolalar server.propertiesiçinde düz metin olarak saklanmadığından, dosya sistemi izinleriyle dosyaya erişimin kısıtlaması önerilir.

    3. server.properties ' un değiştirilmiş olduğu Kafka aracılarını yeniden başlatın.