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

Edge for Private Cloud sürüm 4.17.05

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

http://ms_IP:8080

Alternatif olarak, Management API'ye TLS erişimini şu biçimde erişebileceğiniz şekilde yapılandırabilirsiniz:

https://ms_IP:8443

Bu örnekte, TLS erişimini 8443 numaralı bağlantı noktasını kullanacak şekilde yapılandıracaksınız. Ancak bu bağlantı noktası numarası Edge için gerekli değildir. Yönetim Sunucusu'nu 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.

Yönetim API'nize gelen ve giden trafiğin şifrelenmesini 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 şifre doğrulamasını (şifre uzunluğu ve gücü) da 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'nda 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, 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 giden 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 Edge On Premises için TLS/SSL'yi yapılandırma başlıklı makaleyi inceleyin.
  2. Anahtar deposu 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 yoksa oluşturun:
    conf_webserver_ssl.enabled=true
    # Birçok Edge dahili çağrısı HTTP kullandığından
    # conf_webserver_http.turn.off ayarını false olarak bırakın.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    Burada keyStore.jks, anahtar deposu dosyanız ve obfuscatedPassword, gizlenmiş anahtar deposu şifrenizdir. Gizlenmiş şifre oluşturma hakkında bilgi için Edge On Premises için TLS/SSL'yi yapılandırma başlıklı makaleyi inceleyin.
  5. Şu komutu kullanarak Edge Management Server'ı yeniden başlatın:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Yönetim API'si artık TLS üzerinden erişimi destekliyor.

TLS'nin Edge kullanıcı arayüzü de dahil olmak üzere doğru şekilde çalıştığından emin olduktan sonra, bir sonraki bölümde açıklandığı gibi Management API'ye HTTP erişimini devre dışı bırakabilirsiniz.

Edge kullanıcı arayüzünü, Edge API'ye erişmek için 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 ayarının bırakılmasını önerdi.

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. Yönetim API'sine TLS erişimini yukarıda açıklandığı şekilde yapılandırın.
  2. TLS'nin Management API için çalıştığını onayladıktan sonra /opt/apigee/customer/application/management-server.properties dosyasını düzenleyerek aşağıdaki özelliği ayarlayın:
    conf_webserver_http.turn.off=true
  3. Şu komutu kullanarak Edge Management Server'ı yeniden başlatın:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. Edge kullanıcı arayüzü için aşağıdaki özelliği ayarlamak üzere /opt/apigee/customer/application/ui.properties dosyasını düzenleyin. Bu dosya yoksa oluşturun:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

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

    Aksi takdirde Edge kullanıcı arayüzü, kendinden imzalı sertifikayı reddeder.
  6. Şu 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 listelenmiştir:

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 veya devre dışı bırakmak için kullanılır. TLS/SSL etkinleştirildiğinde (true) ssl.port ve keystore.path özelliklerini de ayarlamanız gerekir.

conf_webserver_http.turn.off=true

https ile birlikte http'yi etkinleştirmek/devre dışı bırakmak için kullanılır. 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 (conf_webserver_ssl.enabled=true) gereklidir.

conf_webserver_keystore.password=

Şu biçimde gizlenmiş bir şifre kullanın: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

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

conf_webserver_keymanager.password=

Anahtar yöneticinizin şifresi varsa şifrenin gizlenmiş bir 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üvenilir sertifika deponuzun ayarlarını yapılandırın. Tüm TLS/SSL sertifikalarını kabul etmek isteyip istemediğinizi belirleyin (örneğin, standart olmayan türleri kabul etmek için). Varsayılan değer false değeridir. Güvenilir sertifika deponuzun yolunu belirtin ve şu biçimde gizlenmiş bir güvenilir sertifika deposu şifresi 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 şifreleme paketlerini belirtin. Örneğin, bir şifrede güvenlik açığı tespit ederseniz bu şifreyi buradan hariç tutabilirsiniz. Birden fazla şifreyi boşlukla ayırın.

Şifreleme paketleri ve kriptografi mimarisi hakkında bilgi için şu kaynaklara 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=

Şunları 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ına uğramadan önce sürebileceği süre (milisaniye cinsinden).