API BaaS için TLS'yi yapılandırma

Edge for Private Cloud s. 4.17.09

TLS (selesi SSL olan Taşıma Katmanı Güvenliği), standart güvenlik teknolojisidir . TLS'yi yapılandırabilirsiniz. API BaaS Portalı ve API BaaS Yığını düğümlerinde.

Aşağıdaki resimde, tek bir BaaS Portalı olan API BaaS için tipik bir dağıtım diyagramı gösterilmektedir düğüm ve üç API BaaS Yığını düğümü.

Geliştiriciler, Portal'a istekte bulunmak için bir tarayıcı kullanır. Varsayılan olarak, istekler HTTP bağlantı noktası 9000'deki protokolü kullanır.

Bu dağıtım, Portal ve Stack düğümleri arasında bir yük dengeleyici içerir. Burada Portal, yük dengeleyiciye ve yük dengeleyiciye HTTP isteklerinde bulunur. istekleri Stack düğümlerinden birine yönlendirir. Bu, önerilen dağıtımdır bir üretim sistemi ortamı yaratmak.

TLS yapılandırma seçenekleri

API BaaS için TLS'yi yapılandırırken birkaç seçeneğiniz vardır:

  • Portal'da ve Yığın düğümleri için yük dengeleyicide TLS'yi yapılandırma

    . Bu yapılandırmada, geliştiriciler Portal'a ve Portal'a erişmek için HTTPS protokolünü kullanır. tarayıcıda çalışırken, yük aracılığıyla Stack düğümlerine istek yapmak için HTTPS kullanır kullanabilirsiniz. Yük dengeleyici, Yığın düğümlerine erişmek için HTTP kullanır.
  • Portal, yük dengeleyici ve Yığın düğümlerinde TLS'yi yapılandırma

    . Daha fazla güvenlik için yük dengeleyiciyi Yığın düğümlerine erişmek üzere TLS kullanacak şekilde yapılandırın.
  • Portal'da ve tek bir Yığın düğümünde TLS'yi yapılandırın

    . Test veya geliştirme ortamı gibi küçük bir ortamda ise yalnızca yük dengeleyici eklenmesine gerek olmadığı anlamına gelir. Bu yapılandırmada, TLS'yi hem Portal hem de Yığın düğümlerinde yapılandırın.
  • Portal için yük dengeleyicide TLS'yi yapılandırma

    . Yukarıda gösterilmeyen seçeneklerden biri, Portal düğümünün önünde bir yük dengeleyici kullanmaktır. Bu TLS'yi yük dengeleyicide ve isteğe bağlı olarak yük dengeleyici ile Portal arasındaki bağlantıyı oluşturur.
ziyaret edin.

TLS bağlantı noktasının açık olduğundan emin olun

Aşağıdaki prosedürler, TLS'yi varsayılan Portal bağlantı noktası olan 9000'de ve Yığın düğümünde 8080'de yapılandırır. Ancak isterseniz bu bağlantı noktasını değiştirebilirsiniz.

Kullandığınız bağlantı noktası ne olursa olsun, düğümde bağlantı noktasının açık olduğundan emin olmanız gerekir. Örneğin, bağlantı noktası 8443'ü açmak için aşağıdaki komutu kullanabilirsiniz:

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose
.

API BaaS Yığınında TLS'yi Yapılandırma

TLS, API BaaS Yığını için varsayılan olarak devre dışıdır. Ardından, HTTP üzerinden BaaS API'ye Stack düğümünün IP adresini veya DNS adını kullanarak 8080 numaralı bağlantı noktasını kullanın. Örneğin:

http://stack_IP:8080

Alternatif olarak, BaaS API'ye TLS erişimini yapılandırarak form:

https://stack_IP:8080

Bu örnekte, TLS erişimini 8080 numaralı bağlantı noktasını kullanacak şekilde yapılandıracaksınız. Ancak bağlantı noktası 8080 gerekli değildir - Yığını farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz. Tek şart, güvenlik duvarınızın belirtilen bağlantı noktası üzerinden trafiğe izin verir.

Yığın, tek bir bağlantı noktası üzerinden yalnızca bir istek türünü (HTTP veya HTTPS) destekleyebilir. Dolayısıyla, bağlantı noktası 8080'de HTTPS erişimini yapılandırırsanız 8080 bağlantı noktasına erişmek için HTTP kullanamazsınız. Şu durumda: Yığın'ı HTTPS ile bağlantı noktası 8443'ü kullanacak şekilde yapılandırırsa Yığın, bağlantı noktasını artık dinlemez. 8080.

Yığına TLS erişimini yapılandırmak için aşağıdaki prosedürü kullanın:

  1. TLS sertifikanızı ve özel anahtarınızı içeren anahtar deposu JKS dosyasını oluşturun. Daha fazla Uç Açık için TLS/SSL'yi Yapılandırma başlıklı makaleyi inceleyin Tesis.
    . Not: Anahtar deposundaki ve anahtardaki şifrenin aynı olduğundan emin olun.
  2. Anahtar deposu JKS dosyasını Yığın düğümündeki /opt/apigee/customer/application gibi bir dizine kopyalayın. Dizine 'Apigee' tarafından erişilebilir olmalıdır belirtir.
  3. JKS dosyasının sahipliğini 'Apigee' olarak değiştirme kullanıcı:
    > chown Apigee:Apigee /opt/apigee/customer/application/keystore.jks

    . Buradaki ad keystore.jks şeklindedir bir geçiş dosyası oluşturun.
  4. /opt/apigee/customer/application/usergrid.properties dosyasını düzenleyin. dosyasına göre, JKS dosyasının yolu ve parolası da dahil olmak üzere aşağıdaki özellikleri anahtar deposunu ve anahtarı içerir. Böyle bir dosya yoksa dosyayı oluşturun:
    tomcat-server_scheme=https
    tomcat-server_secure=true
    tomcat-server_ssl.enabled=true
    tomcat-server_keystore.type=JKS
    tomcat-server_keystore.file=/opt/apigee/customer/application/keystore.jks
    tomcat-server_keystore.password=password
    tomcat-server_keyalias=keystore_alias
    tomcat-server_clientauth.enabled=false
    tomcat-server_ssl.protocols=TLSv1,TLSv1.1,TLSv1.2
    # Varsayılan olarak, TLS erişimi 8080 numaralı bağlantı noktasını kullanır.
    . # Farklı bir bağlantı noktası belirtmek için bu özelliği kullanın.
    . # tomcat-server_port=8080


    . Uyarı: Şifre değeri açık metin halinde olmalıdır. Bu nedenle, usergrid.properties sayfasını yetkisiz erişimlere erişim.
    .
    . tomcat-server_keyalias kullanın özelliğini kullanmanız gerekir. Anahtar takma adını, anahtarı oluşturduğunuz sırada belirlersiniz. Örneğin, keytool komutunda -alias seçeneğini kullanarak bunu ayarlayabilirsiniz.
    .
    . tomcat-server_ssl.protocols yöntemini kullanın komutunu girin. Java 8'in desteklediği protokollerin listesi için http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#jssename adresine göz atın.
  5. Yığın düğümünü yapılandırın:
    > /opt/Apigee/Apigee-service/bin/ekip-service baas-usergrid yapılandırması
  6. BaaS Yığınını yeniden başlatın:
    > /opt/Apigee/Apigee-service/bin/potansiyel-service baas-usergrid restart
  7. TLS'nin çalıştığını onaylamak için Stack düğümünde aşağıdaki cURL komutunu HTTPS:
    > curl -k https://localhost:8080/status -v

    . TLS doğru şekilde yapılandırılmışsa durum bilgilerini içeren bir yanıt görürsünüz.
    .
    . TLS erişimini 8080 dışında bir bağlantı noktası üzerinden yapılandırdıysanız yukarıdaki komutu doğru bağlantı noktası.
  8. Tüm Stack düğümlerinde tekrarlayın.
  9. Yığın düğümlerinin önünde bir yük dengeleyiciniz varsa yük dengeleyici aracılığıyla Yığın düğümlerine HTTPS üzerinden istek gönderebilir. Şuradaki belgeleri inceleyin: yük dengeleyiciyi açın.
    .
    . Portal, Yığına doğrudan istek gönderiyorsa Portal'ı aşağıdaki bölümde açıklandığı şekilde HTTPS üzerinden Yığına erişin.
  10. Aşağıdaki "Yığın veya Portal'da TLS için API BaaS Yığını düğümlerini yapılandırma" bölümündeki prosedürü kullanın kullanıcı oluşturulurken Yığın düğümünün doğru TLS URL'lerine sahip olduğundan emin olmak için tıklayın.

Yapılandırılıyor TLS üzerinden Yığına erişmek için Portal

Tarayıcıda çalışan BaaS Portalı, BaaS Yığınına API çağrıları yaparak çalışır. Şu durumda: BaaS Yığınını TLS'yi kullanacak şekilde yapılandırmanız gerekir. Ardından, Portal'ı bu çağrıları yapacak şekilde bu seçeneği belirleyin.

API BaaS yüklemesi genellikle şu şekilde yapılandırılır:

  • Portal ve Yığın düğümleri arasında bir yük dengeleyici kullanma

    Yük dengeleyiciyi, HTTPS üzerinden Yığın düğümlerine istek yapacak şekilde yapılandırın. Bkz. yük dengeleyicinizle ilgili belgelere göz atın.
    .
    . Bu yapılandırmada Portal, yük dengeleyiciyi yapılandırma şekliniz. Yük dengeleyici TLS kullanıyorsa aşağıdaki prosedürü kullanarak HTTPS'nin yük dengeleyicisine istek göndermek için Portal'ı yapılandırın.
  • Portal'ın Yığına doğrudan istek yapmasını sağlayın

    Portal'ı, aşağıda açıklandığı gibi HTTPS üzerinden Yığına erişecek şekilde yapılandırın.

HTTPS üzerinden API çağrıları yapmak için API BaaS Portalı'nı yapılandırmak üzere aşağıdaki prosedürü kullanın:

  1. Yukarıda açıklandığı gibi BaaS Yığınında veya Düğümleri yük dengeleyicinizle ilgili belgelerde açıklandığı şekilde yığınlayın.
  2. /opt/apigee/customer/application/portal.properties dosyasını düzenleme kullanın. Böyle bir dosya yoksa dosyayı oluşturun:
    baas.portal.config.overrideUrl=https://stackIP:port

    . Bu özelliğin değeri olarak API Grubu düğümünün IP adresini veya DNS adını ve bağlantı noktasını belirtin. tek bir düğüm yüklemesinin veya önünde bir yük dengeleyici varsa yük dengeleyicinin API BaaS Yığını düğümlerini tıklayın.
  3. Portal düğümünü yapılandırın:
    > /opt/Apigee/Apigee-service/bin/potansiyel-service baas-portal configuration
  4. Şu komutu kullanarak Portal'ı yeniden başlatın:
    > /opt/Apigee/Apigee-service/bin/gelir-hizmeti baas-portal restart
  5. Yığına TLS erişimini yapılandırırken kendinden imzalı bir sertifika kullandıysanız yukarıdaki ile ilgili bir sorun yaşadığınızı takdirde, tarayıcınız Portal'dan Yığına yapılan isteklere izin vermeyebilir. Gördüğünüz tarayıcıda, Yığına HTTPS erişimine izin verilmediğine dair bir hata oluştu. Aşağıdaki kodu isteyin, Tarayıcınızda URL'yi seçin ve erişime izin vermek için güvenlik istisnası ekleyin:
    https://stackIP:port/status

    . API Yığını düğümünün veya yük dengeleyicinin IP adresini veya DNS adını ve bağlantı noktasını belirtin.

API BaaS Portalı'nda TLS'yi Yapılandırma

Varsayılan olarak kullanıcılar, API'deki bağlantı noktası 9000 üzerinden şifrelenmemiş HTTP istekleri göndererek Portal sunucusu. Portalı, API'ye gönderilen ve alınan verileri şifrelemek için HTTPS kullanacak şekilde yapılandırabilirsiniz. portalında yer alır.

Varsayılan olarak, Portal'a HTTP üzerinden Portal'ın IP adresini veya DNS adını kullanarak erişirsiniz düğüm ve bağlantı noktası 9000'dır. Örneğin:

http://portal_IP:9000

Alternatif olarak, Portal'a TLS erişimini yapılandırarak, form:

https://portal_IP:9443

Bu örnekte, TLS erişimini 9443 numaralı bağlantı noktasını kullanacak şekilde yapılandıracaksınız. Ancak 9443 numaralı bağlantı noktası gerekli değildir - Portal'ı farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz.

Portal, tek bir bağlantı noktası üzerinden yalnızca bir istek türünü (HTTP veya HTTPS) destekleyebilir. Dolayısıyla, bağlantı noktası 9000'de HTTPS erişimini yapılandırırsanız 9000 bağlantı noktasına erişmek için HTTP kullanamazsınız. Şu durumda: Portal'ı, 9443 numaralı bağlantı noktasını HTTPS ile kullanacak şekilde yapılandırırsanız Portal, bağlantı noktasını artık dinlemez. 9.000.

Portal için TLS'yi yapılandırmak üzere:

  1. PEM biçiminde bir anahtar dosyası ve sertifika dosyası oluşturun.
    . Not: Anahtarda veya sertifikada şifre/parola olmadığından emin olun.
  2. PEM dosyalarını Portal düğümündeki /opt/apigee/customer/application gibi bir dizine kopyalayın. Dizine 'Apigee' tarafından erişilebilir olmalıdır belirtir.
  3. PEM dosyalarının sahipliğini 'Apigee' olarak değiştirme kullanıcı:
    > chown Apigee:Apigee /opt/apigee/customer/application/*.PEM
  4. /opt/apigee/customer/application/portal.properties dosyasını düzenleyin. dosyasını kullanın. Böyle bir dosya yoksa dosyayı oluşturun:
    baas.portal.ssl=on
    baas.portal.ssl.certificate=/opt/apigee/customer/application/defaultcert.pem
    baas.portal.ssl.key=/opt/apigee/customer/application/defaultkey.pem
    baas.portal.ssl.protocols=TLSv1 TLSv1.1 TLSv1.2
    # Varsayılan olarak, TLS erişimi 9000 numaralı bağlantı noktasını kullanır.
    . # Farklı bir bağlantı noktası belirtmek için bu özelliği kullanın.
    . # baas.portal.listen=9000


    . baas.portal.ssl.protocols adresini kullanın. kullanarak Portal tarafından desteklenen TLS protokollerini ayarlayabilirsiniz. Desteklenen protokollerin listesi için bkz. Nginx tarafından tanımlanan SSL protokolü adlarının listesi: http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols.
  5. Portal düğümünü yapılandırın:
    > /opt/Apigee/Apigee-service/bin/potansiyel-service baas-portal configuration
  6. Portalı yeniden başlatın:
    > /opt/Apigee/Apigee-service/bin/ekip-service baas-portal restart
  7. Aşağıdaki "Yığın veya Portal'da TLS için API BaaS Yığını düğümlerini yapılandırma" bölümündeki prosedürü kullanın kullanarak Yığın düğümünün Portal için doğru TLS URL'sine sahip olduğundan emin olun.

Yığın veya Portal

Yığın veya Portal düğümlerinin önüne bir yük dengeleyici ekler veya TLS'yi etkinleştirirseniz veya Yığın düğümünde düğüm üzerinde çalışıyorsanız, düğümleri doğru URL'lerle Yığına ve Portala erişin. Örneğin, Stack düğümleri aşağıdaki durumlarda bu bilgileri gerektirir:

  • BaaS API isteklerindeki yanıtlara URL ekleme.
  • Bir şifreyi sıfırlarken e-posta şablonlarına bağlantı ekleme veya bildirimleri etkinleştirebilirsiniz.
  • Kullanıcıları belirli Portal sayfalarına yönlendirme.

Yığın düğümlerinin önünde bir yük dengeleyici kullanıyorsanız veya Yığın düğümünde TLS'yi yapılandırırsanız /opt/apigee/customer/application/usergrid.properties dosyasında aşağıdaki özelliği ekleyin:

usergrid-deployment_usergrid.api.url.base=http://localhost:8080

http://localhost:8080 kısmını yüklemenin URL'si ile değiştirin kullanabilirsiniz. Yük dengeleyici TLS'yi kullanacak şekilde yapılandırılmışsa HTTPS protokolünü kullanın. Yalnızca siz standart olmayan bir bağlantı noktası kullanıyorsanız bağlantı noktasını dahil etmeniz gerekir. HTTP için 80 ve HTTPS için bağlantı noktası 443.

Ayrıca, Yığın düğümlerinin önünde bir yük dengeleyici kullanırsınız:

baas.portal.config.overrideUrl=http://localhost:8080

http://localhost:8080 kısmını yük dengeleyiciye dahil edilir.

Portal düğümünün önünde bir yük dengeleyici kullanır veya Yığın düğümünde TLS'yi yapılandırırsanız usergrid.properties dosyasında aşağıdaki özellikleri kullanın:

usergrid-deployment_portal.url=http://localhost:9000

http://localhost:9000 ifadesinin yerine yük dengeleyiciye dahil edilir. Yük dengeleyici TLS'yi kullanacak şekilde yapılandırılmışsa HTTPS protokolünü kullanın. Siz Yalnızca standart olmayan bir bağlantı noktası kullanıyorsanız bağlantı noktası eklemeniz gerekir. Diğer bir deyişle bağlantı noktası 80, HTTPS için bağlantı noktası 443 olmalıdır.

usergrid.properties dosyasını düzenledikten sonra:

  1. Yığın düğümünü yapılandırın:
    > /opt/Apigee/Apigee-service/bin/ekip-service baas-usergrid yapılandırması
  2. BaaS Yığınını yeniden başlatın:
    > /opt/Apigee/Apigee-service/bin/potansiyel-service baas-usergrid restart
  3. portal.properties dosyasını değiştirdiyseniz Portal düğümü:
    > /opt/Apigee/Apigee-service/bin/gelir-hizmeti baas-portal yapılandırması
  4. BaaS Portalı'nı yeniden başlatın:
    > /opt/Apigee/Apigee-service/bin/ekip-service baas-portal restart