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

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, management API'ye TLS erişimini yapılandırmak için şu formu kullanmanız gerekir:

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 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ından trafiğe izin vermesidir.

Yönetim API'nizle gelen ve giden trafiğin şifrelenmesini sağlamak için /opt/apigee/customer/application/management-server.properties dosyasında 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ü) de 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ı ne olursa olsun, Yönetim Sunucusu'nda bağlantı noktasının 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

Management API'nize gelen ve bu API'den 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.

Yönetim API'sine TLS erişimini yapılandırmak için:

  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 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" kullanıcısı 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 öğesini düzenleyin. Bu dosya yoksa oluşturun:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    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

    Burada keyStore.jks, anahtar deposu dosyanız, obfuscatedPassword ise 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 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 desteklemektedir.

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. 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 aşağıdaki özelliği ayarlamak için /opt/apigee/customer/application/management-server.properties öğesini düzenleyin:
    conf_webserver_http.turn.off=true
  3. Şu komutu çalıştırarak Uç Yönetim Sunucusu'nu 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 değerini düzenleyin:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    Burada FQ_domain_name, Yönetim Sunucusu'nun sertifika adresinize göre tam alan adıdır, port ise yukarıda conf_webserver_ssl.port tarafından belirtilen bağlantı noktasıdır.

    ui.properties mevcut değilse oluşturun.

  5. Yukarıdaki yönetim API'sine TLS erişimini yapılandırırken yalnızca kendi kendine imzalı bir sertifika kullandıysanız (üretim ortamında önerilmez) aşağıdaki özelliği ui.properties'ye ekleyin:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    Aksi takdirde, Edge kullanıcı arayüzü kendinden imzalı sertifikayı reddeder.

  6. Aşağıdaki komutu çalıştırarak Edge kullanıcı arayüzünü yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

FIPS özellikli işletim sistemleri için PKCS12 anahtar deposu kullanma

Private Cloud için Edge'i FIPS özellikli bir işletim sisteminde kullanıyorsanız PKCS12 anahtar mağazası kullanmanız gerekir. Bu, FIPS standartlarına uymak için gereklidir. Bu makalede belirtilen diğer standart yapılandırmalara ek olarak management-server.properties dosyanıza aşağıdaki yapılandırmayı ekleyin:

conf/webserver.properties+keystore.type=PKCS12

Ortamınız FIPS özellikliyse gerekli şifreleme standartlarıyla uyumluluğu sağlamak için bu değişikliği uyguladığınızdan emin olun.

Yönetim sunucusu için TLS özellikleri

management-server.properties içinde ayarlayabileceğiniz tüm TLS/SSL özellikleri aşağıdaki tabloda listelenmiştir:

Özellikler 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 gereklidir (conf_webserver_ssl.enabled=true).

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=password

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

conf_webserver_cert.alias=alias

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

conf_webserver_keymanager.password=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=password

Güven mağazanız için ayarları 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. Güven depolama alanınızın yolunu sağlayın ve şu biçimde karartılmış bir güven depolama alanı şifresi girin:

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

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 fazla şifreyi virgülle ayırın.

Engellenenler listesi üzerinden kaldırdığınız şifreler, beyaz liste üzerinden eklenen şifrelere göre önceliklidir.

Not: Varsayılan olarak, kara liste veya beyaz liste belirtilmezse aşağıdaki Java normal ifadesiyle eşleşen şifreler varsayılan olarak hariç tutulur.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

Ancak bir kara liste belirtirseniz bu filtrenin geçersiz kılınması gerekir ve tüm şifreleri tek tek kara listeye eklemeniz gerekir.

Şifreleme paketleri ve kriptografi mimarisi hakkında bilgi edinmek için JDK 8 için Java Cryptography Architecture Oracle Sağlayıcıları Dokümanları başlıklı makaleyi inceleyin.

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).