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, 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 numaralı bağlantı noktasını kullanacak şekilde yapılandıracaksınız. Ancak bu bağlantı noktası numarası 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ından trafiğe izin vermesidir.

Management API'niz ile gelen ve giden trafik şifrelemesini sağlamak için /opt/apigee/customer/application/management-server.properties. dosyası olarak kaydedebilirsiniz.

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'nda bağlantı noktası 8443'ü kullanacak şekilde yapılandırır. Kullandığınız bağlantı noktası ne olursa olsun, Management'ta bağlantı noktasının açık olduğundan emin olmanız gerekir. Sunucu. Ö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ırın

/opt/apigee/customer/application/management-server.properties sütununu düzenleyin yönetim API'nize gelen ve yönetim API'nizden gelen trafikte TLS kullanımını kontrol etmek için Bu dosya mevcut değilse oluşturacağım.

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 Edge Şirket İçi Ortam 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ştirme kullanıcı:
    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. Böyle bir dosya yoksa, dosyayı 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 ve obfuscatedPassword, 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 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.

Erişim için TLS kullanacak şekilde Edge kullanıcı arayüzünü yapılandırma Edge API

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ü kullanın:

  1. Management API'ye TLS erişimini yukarıda açıklandığı şekilde yapılandırın.
  2. Yönetim API'si için TLS'nin ç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. Aşağıdaki 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. /opt/apigee/customer/application/ui.properties öğesini düzenle seçeneğini tıklayın:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    Burada FQ_domain_name, yönetim sunucusunun sertifika adresinize göre tam alan adıdır ve port, yukarıda conf_webserver_ssl.port tarafından belirtilen bağlantı noktasıdır.

    ui.properties mevcut değilse oluşturun.

  5. Yalnızca kendinden imzalı bir sertifika kullandıysanız (üretim ortamında önerilmez.) ortamı) yukarıdaki yönetim API'sine TLS erişimini yapılandırırken ui.properties mülkü için aşağıdaki mülk:
    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

FIPS özellikli bir işletim sisteminde Edge'i kullanıyorsanız PKCS12 anahtar deposu 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

Aşağıdaki tabloda, management-server.properties içinde ayarlayabileceğiniz tüm TLS/SSL özellikleri 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 sertifika takma adı

conf_webserver_keymanager.password=password

Anahtar yöneticinizin şifresi varsa şifrenin kodu karartılmış bir sürümünü şu biçimi kullanın:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

Güven deponuzun ayarlarını 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. Yolu belirtin ekleyin ve kodu karartılmış olarak şu biçimde bir güven deposu ş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çığı keşfederseniz, buradan hariç tutabilirsiniz. Birden çok şifreyi ayırın kullanabilirsiniz.

Kara liste aracılığıyla kaldırdığınız şifreler, eklenen şifrelere göre öncelikli olur. beyaz listeye alabilirsiniz.

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 için bkz. JDK 8 için Java Cryptography Architecture Oracle Providers Documentation for JDK 8.

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