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

Edge for Private Cloud s. 4.16.09

Varsayılan olarak, yönetim API'si için TLS devre dışıdır ve Edge yönetim API'sine, yönetim sunucusu düğümünün IP adresini ve 8080 bağlantı noktasını kullanarak HTTP üzerinden erişirsiniz. Örneğin:

http://ms_IP:8080

Alternatif olarak, yönetim API'sine TLS erişimini aşağıdaki biçimde yapılandırabilirsiniz:

https://ms_IP:8443

Bu örnekte, TLS erişimini 8443 bağlantı noktasını kullanacak şekilde yapılandırırsınız. Ancak bu bağlantı noktası numarası Edge tarafından gerekli değildir. Yönetim sunucusunu diğer bağlantı noktası değerlerini kullanacak şekilde yapılandırabilirsiniz. Tek şart, güvenlik duvarınızın belirtilen bağlantı noktası üzerinden trafiğe izin vermesidir.

Management API'nize gelen ve API'nizden giden trafik şifrelemesini sağlamak için /opt/apigee/customer/application/management-server.properties dosyasındaki ayarları yapılandırın.

TLS yapılandırmasına ek olarak, management-server.properties dosyasını değiştirerek de şifre doğrulamasını (şifre uzunluğu ve gücü) kontrol edebilirsiniz.

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

Bu bölümdeki prosedür, TLS'yi Yönetim Sunucusu'ndaki 8443 numaralı bağlantı noktasını kullanacak şekilde yapılandırır. Kullandığınız bağlantı noktasından bağımsız olarak, bağlantı noktasının Yönetim Sunucusu'nda açık olduğundan emin olmanız gerekir. Örneğin, dosyayı 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 

TLS'yi yapılandırma

Yönetim API'nize gelen ve API'nizden gelen trafikte TLS kullanımını kontrol etmek için /opt/apigee/customer/application/management-server.properties dosyasını düzenleyin. Bu dosya yoksa oluşturun.

Management API'ye 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 bilgi için Şirket İçi Edge için TLS/SSL'yi yapılandırma başlıklı makaleyi inceleyin.
  2. Anahtar mağazası JKS dosyasını Yönetim Sunucusu düğümündeki bir dizine (ör. /opt/apigee/customer/application) kopyalayın.
  3. JKS dosyasının sahipliğini apigee olarak değiştirin:
    $ chown apigee:apigee keystore.jks

    Burada keystore.jks, anahtar deposu dosyanızın adıdır.
  4. Aşağıdaki özellikleri ayarlamak için /opt/apigee/customer/application/management-server.properties dosyasını düzenleyin. Bu dosya mevcut değilse oluşturun:
    conf_webserver_ssl.enabled=true
    # Tüm iletişimlerin HTTPS üzerinden olması gerekiyorsa "true" (doğru) değerine ayarlayın.
    # Edge API için TLS/HTTPS'yi test edene ve Edge kullanıcı arayüzünü aşağıda gösterildiği gibi Edge API'ye erişmek için TLS kullanacak şekilde yapılandırana kadar önerilmez.

    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Aşağıya kodu karartılmış anahtar mağazası şifresini girin.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    Burada keyStore.jks anahtar deposu dosyanız, obfuscatedPassword ise kodu karartılmış anahtar deposu şifrenizdir. Kodu karartılmış şifre oluşturma hakkında bilgi edinmek için Edge On Premises için TLS/SSL'yi yapılandırma başlıklı makaleyi inceleyin.
  5. Aşağıdaki komutu kullanarak Edge Yönetim Sunucusunu yeniden başlatın:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Management API artık TLS üzerinden erişimi desteklemektedir.

TLS'nin Edge kullanıcı arayüzünde çalıştığı da dahil olmak üzere düzgün çalıştığından emin olduktan sonra, bir sonraki bölümde açıklandığı şekilde yönetim API'sine HTTP erişimini devre dışı bırakabilirsiniz.

Edge API'ye erişmek için Edge kullanıcı arayüzünü TLS kullanacak şekilde yapılandırma

Yukarıdaki prosedürde Apigee, Edge kullanıcı arayüzünün HTTP üzerinden Edge API çağrıları yapmaya devam edebilmesi için conf_webserver_http.turn.off=false değerini bırakmanızı önermiştir.

Edge kullanıcı arayüzünü, bu çağrıları yalnızca HTTPS üzerinden yapacak şekilde yapılandırmak için aşağıdaki prosedürü uygulayın:

  1. Management API'ye TLS erişimini yukarıda açıklandığı şekilde yapılandırın.
  2. TLS'nin yönetim API'si için çalıştığını onayladıktan sonra, aşağıdaki özelliği ayarlamak için /opt/Apigee/customer/application/management-server.properties dosyasını düzenleyin:
    conf_webserver_http.turn.off=true
  3. Şu komutu kullanarak Uç Yönetim Sunucusu'nu yeniden başlatın:
    $ /opt/gelir/Apigee-service/bin/ekip-service Edge-management-server restart
  4. Edge kullanıcı arayüzü için aşağıdaki özelliği ayarlamak üzere /opt/connector/customer/application/ui.properties düzenleyin. Bu dosya yoksa oluşturun:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    Burada FQDN, yönetim sunucusunun sertifika adresinize göre tam alan adıdır ve bağlantı noktası numarası, conf_webserver_ssl.port tarafından yukarıda belirtilen bağlantı noktasıdır.
  5. Yalnızca kendinden imzalı bir sertifika kullandıysanız (üretim ortamında önerilmez) yukarıdaki yönetim API'sine TLS erişimini yapılandırırken aşağıdaki özelliği ui.properties'e ekleyin:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    Aksi takdirde, Edge kullanıcı arayüzü kendinden imzalı sertifikaları reddeder.
  6. Aşağıdaki komutu kullanarak Edge kullanıcı arayüzünü yeniden başlatın:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Yönetim sunucusu için TLS özellikleri

Aşağıdaki tabloda, management-server.properties dosyasında ayarlayabileceğiniz tüm TLS/SSL özellikleri listelenmektedir:

Mülkler

Açıklama

conf_webserver_http.port=8080

Varsayılan değer 8080'dir.

conf_webserver_ssl.enabled=false

TLS/SSL'yi etkinleştirmek/devre dışı bırakmak için. TLS/SSL etkinken (doğru) ssl.port ve keystore.path özelliklerini de ayarlamanız gerekir.

conf_webserver_http.turn.off=true

https ile birlikte http'yi etkinleştirmek veya devre dışı bırakmak için. Yalnızca HTTPS kullanmak istiyorsanız varsayılan değeri true olarak bırakın.

conf_webserver_ssl.port=8443

TLS/SSL bağlantı noktası.

TLS/SSL etkinleştirildiğinde (conf_webserver_ssl.enabled=true) gereklidir.

conf_webserver_keystore.path=<path>

Anahtar deposu dosyanızın yolu.

TLS/SSL etkinleştirildiğinde gereklidir (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=

Şu biçimde, karartılmış bir şifre kullanın: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

İsteğe bağlı anahtar deposu sertifika takma adı

conf_webserver_keymanager.password=

Anahtar yöneticinizin şifresi varsa şifrenin karartılmış sürümünü şu biçimde girin: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

Güven mağazanız için ayarları yapılandırın. Tüm TLS/SSL sertifikalarını kabul etmek isteyip istemediğinizi (örneğin, standart olmayan türleri kabul etmek için) belirleyin. Varsayılan değer false (yanlış) değeridir. Güven deponuzun yolunu girin ve kodu karartılmış bir güven deposu şifresi şu biçimde girin: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

Dahil etmek veya hariç tutmak istediğiniz şifre paketlerini belirtin. Örneğin, bir şifrede güvenlik açığı tespit ederseniz bu açığı buradan hariç tutabilirsiniz. Birden çok şifreyi boşlukla ayırın.

Şifreleme paketleri ve kriptografi mimarisi hakkında bilgi edinmek için aşağıdaki konulara bakın:

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Aşağıdakileri belirleyen tam sayılar:

  • Birden fazla istemcinin oturum bilgilerini depolamak için TLS/SSL oturum önbelleği boyutu (bayt cinsinden).
  • TLS/SSL oturumlarının zaman aşımı süresi dolmadan önce çalışabileceği süre (milisaniye cinsinden).