Edge for Private Cloud 4.18.01 sürümü
TLS (önceki adı SSL olan Taşıma Katmanı Güvenliği), API ortamınızda güvenli ve şifreli mesajlaşma sağlayan standart güvenlik teknolojisidir. API BaaS Portal ve API BaaS Stack düğümlerinde TLS'yi yapılandırabilirsiniz.
Aşağıdaki resimde, tek bir BaaS Portalı düğümü ve üç API BaaS Yığını düğümü içeren API BaaS için tipik bir dağıtım şeması gösterilmektedir.

Geliştiriciler, Portal'a istek göndermek için bir tarayıcı kullanır. Varsayılan olarak istekler, Portal düğümünün 9000 numaralı bağlantı noktasında HTTP protokolünü kullanır.
Bu dağıtım, Portal ve Stack düğümleri arasında bir yük dengeleyici içerir. Bu yapılandırmada Portal, yük dengeleyiciye HTTP istekleri gönderir ve yük dengeleyici de istekleri Stack düğümlerinden birine yönlendirir. Bu, üretim sistemi için önerilen dağıtım ortamıdır.
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 Stack düğümleri için yük dengeleyicide TLS'yi yapılandırma
Bu yapılandırmada geliştiriciler, Portal'a erişmek için HTTPS protokolünü kullanır ve tarayıcıda çalışan Portal, yük dengeleyici aracılığıyla Stack düğümlerine istek göndermek için HTTPS'yi kullanır. Yük dengeleyici, Stack düğümlerine erişmek için HTTP kullanır. - Portal, yük dengeleyici ve Stack düğümlerinde TLS'yi yapılandırma
Daha fazla güvenlik için yük dengeleyiciyi Stack düğümlerine erişmek üzere TLS kullanacak şekilde yapılandırın. - Portal'da ve tek bir Stack düğümünde TLS'yi yapılandırma
Test veya geliştirme ortamı gibi küçük bir ortamda yalnızca tek bir Stack düğümünüz olabilir. Bu durumda yük dengeleyici eklemeniz gerekmez. Bu yapılandırmada, hem Portal hem de Stack düğümlerinde TLS'yi yapılandırın. - Portal için yük dengeleyicide TLS'yi yapılandırma
Yukarıda gösterilmeyen bir seçenek, Portal düğümünün önünde bir yük dengeleyici kullanmaktır. Bu yapılandırmada, yük dengeleyicide ve isteğe bağlı olarak yük dengeleyici ile Portal arasındaki bağlantıda TLS'yi yapılandırabilirsiniz.
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ı 9000 ve Stack düğümü 8080'de yapılandırır. Ancak isterseniz bu bağlantı noktasını değiştirebilirsiniz.
Kullandığınız bağlantı noktasından bağımsız olarak, bağlantı noktasının düğümde açık olduğundan emin olmanız gerekir. Örneğin, 8443 numaralı bağlantı noktasını 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
Varsayılan olarak, API BaaS Stack için TLS devre dışıdır. Ardından, Stack düğümünün IP adresini veya DNS adını ve 8080 numaralı bağlantı noktasını kullanarak BaaS API'ye HTTP üzerinden erişirsiniz. Örneğin:
http://stack_IP:8080
Alternatif olarak, BaaS API'sine TLS erişimini yapılandırarak API'ye şu biçimde erişebilirsiniz:
https://stack_IP:8080
Bu örnekte, TLS erişimini 8080 bağlantı noktasını kullanacak şekilde yapılandıracaksınız. Ancak 8080 bağlantı noktası zorunlu değildir. Stack'i 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 vermesidir.
Yığın, tek bir bağlantı noktası üzerinden yalnızca bir tür isteği (HTTP veya HTTPS) destekleyebilir. Bu nedenle, 8080 numaralı bağlantı noktasında HTTPS erişimini yapılandırırsanız 8080 numaralı bağlantı noktasına erişmek için HTTP'yi kullanamazsınız. Yığını HTTPS ile 8443 numaralı bağlantı noktasını kullanacak şekilde yapılandırırsanız yığın artık 8080 numaralı bağlantı noktasını dinlemez.
Yığına TLS erişimini yapılandırmak için aşağıdaki prosedürü kullanın:
- 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.
Not: Anahtar deposundaki şifre ile anahtar şifresinin aynı olduğundan emin olun. - Anahtar deposu JKS dosyasını Stack düğümündeki bir dizine (ör. /opt/apigee/customer/application) kopyalayın. Dizine "apigee" kullanıcısı tarafından erişilebilmelidir.
- JKS dosyasının sahipliğini "apigee" kullanıcısı olarak değiştirin:
> chown apigee:apigee /opt/apigee/customer/application/keystore.jks
Burada keystore.jks, anahtar deposu dosyanızın adıdır. - /opt/apigee/customer/application/usergrid.properties dosyasını düzenleyerek JKS dosyasının yolu, anahtar deposu ve anahtarın şifresi dahil olmak üzere aşağıdaki özellikleri ayarlayın. Bu dosya yoksa 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 bağlantı noktasını kullanır.
# Farklı bir bağlantı noktası belirtmek için bu özelliği kullanın.
# tomcat-server_port=8080
Uyarı: password değeri düz metin biçiminde olmalıdır. Bu nedenle, usergrid.properties dosyasını yetkisiz erişime karşı korumanız gerekir.
Anahtar deposu takma adını belirtmek için tomcat-server_keyalias özelliğini kullanın. Anahtar takma adını, anahtarı oluşturduğunuz sırada ayarlarsınız. Örneğin, keytool komutunda -alias seçeneğini kullanarak ayarlayabilirsiniz.
Yığın tarafından desteklenen TLS protokollerini ayarlamak için tomcat-server_ssl.protocols kullanın. Java 8 tarafından desteklenen protokollerin listesi için http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#jssename adresini ziyaret edin. - Stack düğümünü yapılandırın:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - BaaS yığınını yeniden başlatın:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart - HTTPS kullanarak Stack düğümünde aşağıdaki cURL komutunu çalıştırarak TLS'nin çalıştığını onaylayın:
> 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ını kullanacak şekilde değiştirin. - Bu işlemi tüm Stack düğümlerinde tekrarlayın.
- Stack düğümlerinin önünde bir yük dengeleyiciniz varsa yük dengeleyiciyi, Stack düğümlerine HTTPS üzerinden istek gönderecek şekilde yapılandırın. Daha fazla bilgi için yük dengeleyicinizle ilgili belgelere bakın.
Portal, Stack'e doğrudan istek gönderiyorsa Portal'ı, Stack'e HTTPS üzerinden erişecek şekilde yapılandırın. Bunun için aşağıdaki bölümde açıklanan adımları uygulayın. - Yığın düğümünün kullanıcı yanıtları oluştururken doğru TLS URL'lerine sahip olduğundan emin olmak için 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.
Portal'ı, Stack'e TLS üzerinden erişecek şekilde yapılandırma
Tarayıcıda çalışan BaaS Portalı, BaaS yığınına API çağrıları yaparak çalışır. BaaS yığınını TLS kullanacak şekilde yapılandırırsanız portalı da bu çağrıları HTTPS üzerinden yapacak şekilde yapılandırmanız gerekir.
API BaaS kurulumu genellikle aşağıdakilerden biri için yapılandırılır:
- Portal ve Stack düğümleri arasında yük dengeleyici kullanın
Yük dengeleyiciyi, Stack düğümlerine HTTPS üzerinden istek gönderecek şekilde yapılandırın. Daha fazla bilgi için yük dengeleyicinizle ilgili belgelere bakın.
Bu yapılandırmada Portal, yük dengeleyiciyi nasıl yapılandırdığınıza bağlı olarak yük dengeleyiciye HTTP veya HTTPS üzerinden erişebilir. Yük dengeleyici TLS kullanıyorsa Portal'ı HTTPS yük dengeleyicisine istek gönderecek şekilde yapılandırmak için aşağıdaki prosedürü uygulayın. - Portalın Stack'e doğrudan istek göndermesini sağlama
Portalı, Stack'e HTTPS üzerinden erişecek şekilde aşağıda açıklandığı gibi yapılandırın.
API BaaS portalını HTTPS üzerinden API çağrıları yapacak şekilde yapılandırmak için aşağıdaki prosedürü kullanın:
- BaaS yığınında TLS erişimini yukarıda açıklandığı şekilde veya yığın düğümleri için yük dengeleyicide yük dengeleyicinizin belgelerinde açıklandığı şekilde yapılandırın.
- Aşağıdaki özelliği ayarlamak için /opt/apigee/customer/application/portal.properties dosyasını düzenleyin. Bu dosya yoksa oluşturun:
baas.portal.config.overrideUrl=https://stackIP:port
Bu özelliğin değeri olarak, tek düğümlü bir kurulum için API Stack düğümünün IP adresini veya DNS adını ve bağlantı noktasını ya da API BaaS Stack düğümlerinin önünde bir yük dengeleyici varsa yük dengeleyicinin IP adresini veya DNS adını ve bağlantı noktasını belirtin. - Portal düğümünü yapılandırın:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - Şu komutu kullanarak portalı yeniden başlatın:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal restart - Yukarıda Stack'e TLS erişimini yapılandırırken kendinden imzalı bir sertifika kullandıysanız tarayıcınız, Portal'dan Stack'e gönderilen isteklere izin vermeyebilir. Tarayıcıda Stack'e HTTPS erişimine izin verilmediğini belirten bir hata görürseniz tarayıcınızda aşağıdaki URL'yi isteyin ve erişime izin vermek için bir güvenlik istisnası ekleyin:
https://stackIP:port/status
API Stack düğümünün veya yük dengeleyicinin IP adresini ya da DNS adını ve bağlantı noktasını belirtin.
API BaaS portalında TLS'yi yapılandırma
Varsayılan olarak kullanıcılar, Portal sunucusundaki 9000 numaralı bağlantı noktası üzerinden şifrelenmemiş HTTP istekleri göndererek Portal'a erişir. Portalı, portala gönderilen ve portaldan alınan verileri şifrelemek için HTTPS kullanacak şekilde yapılandırabilirsiniz.
Varsayılan olarak, Portal'a HTTP üzerinden erişmek için Portal düğümünün IP adresini veya DNS adını ve 9000 numaralı bağlantı noktasını kullanırsınız. Örneğin:
http://portal_IP:9000
Alternatif olarak, Portal'a TLS erişimini şu biçimde erişebileceğiniz şekilde yapılandırabilirsiniz:
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ı zorunlu değildir. Portal'ı farklı bir bağlantı noktası kullanacak şekilde yapılandırabilirsiniz.
Portal, tek bir bağlantı noktası üzerinden yalnızca bir tür isteği (HTTP veya HTTPS) destekleyebilir. Bu nedenle, 9000 numaralı bağlantı noktasında HTTPS erişimini yapılandırırsanız 9000 numaralı bağlantı noktasına erişmek için HTTP'yi kullanamazsınız. Portal'ı HTTPS ile 9443 numaralı bağlantı noktasını kullanacak şekilde yapılandırırsanız Portal artık 9000 numaralı bağlantı noktasını dinlemez.
Portal için TLS'yi yapılandırmak üzere:
- PEM biçiminde bir anahtar dosyası ve sertifika dosyası oluşturun.
Not: Anahtar veya sertifikada şifre/parola olmadığından emin olun. - PEM dosyalarını Portal düğümündeki bir dizine (ör. /opt/apigee/customer/application) kopyalayın. Dizine "apigee" kullanıcısı tarafından erişilebilmelidir.
- PEM dosyalarının sahipliğini "apigee" kullanıcısı olarak değiştirin:
> chown apigee:apigee /opt/apigee/customer/application/*.PEM - Aşağıdaki özellikleri ayarlamak için /opt/apigee/customer/application/portal.properties dosyasını düzenleyin. Bu dosya yoksa 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
Portal tarafından desteklenen TLS protokollerini ayarlamak için baas.portal.ssl.protocols'u kullanın. Desteklenen protokollerin listesi için Nginx tarafından tanımlanan SSL protokol adları listesine bakın: http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols. - Portal düğümünü yapılandırın:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - Portal'ı yeniden başlatın:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal restart - Yığın düğümünün Portal için doğru TLS URL'sine sahip olduğundan emin olmak amacıyla 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.
Stack veya Portal'da TLS için API BaaS düğümlerini yapılandırma
Stack veya Portal düğümlerinin önüne bir yük dengeleyici eklerseniz ya da TLS'yi doğrudan Portal veya Stack düğümünde etkinleştirirseniz Stack ve Portal'a erişmek için düğümleri doğru URL'lerle yapılandırmanız gerekir. Örneğin, Stack düğümleri aşağıdaki durumlarda bu bilgilere ihtiyaç duyar:
- BaaS API isteklerindeki yanıtlara URL ekleme.
- Şifre sıfırlama veya başka bildirimler gönderme sırasında e-posta şablonlarına bağlantı ekleme
- Kullanıcıları belirli Portal sayfalarına yönlendirme.
Stack düğümlerinin önünde bir yük dengeleyici kullanıyorsanız veya Stack düğümünde TLS yapılandırıyorsanız /opt/apigee/customer/application/usergrid.properties dosyasında aşağıdaki özelliği ayarlayın:
usergrid-deployment_usergrid.api.url.base=http://localhost:8080
http://localhost:8080 adresini yük dengeleyicinin URL'siyle değiştirin. Yük dengeleyici TLS kullanacak şekilde yapılandırıldıysa HTTPS protokolünü kullanın. Yalnızca standart olmayan bir bağlantı noktası (HTTP için 80 ve HTTPS için 443 numaralı bağlantı noktası dışında bir bağlantı noktası) kullanıyorsanız bağlantı noktasını eklemeniz gerekir.
Yığın düğümlerinin önünde bir yük dengeleyici kullanıyorsanız /opt/apigee/customer/application/portal.properties dosyasında aşağıdaki özelliği de ayarlamanız gerekir:
baas.portal.config.overrideUrl=http://localhost:8080
http://localhost:8080 adresini yığının yük dengeleyicisinin URL'siyle değiştirin.
Portal düğümünün önünde bir yük dengeleyici kullanıyorsanız veya Stack düğümünde TLS'yi yapılandırıyorsanız usergrid.properties dosyasında aşağıdaki özellikleri ayarlayın:
usergrid-deployment_portal.url=http://localhost:9000
http://localhost:9000 adresini yük dengeleyicinin URL'siyle değiştirin. Yük dengeleyici TLS kullanacak şekilde yapılandırıldıysa HTTPS protokolünü kullanın. Yalnızca standart olmayan bir bağlantı noktası (HTTP için 80 ve HTTPS için 443 numaralı bağlantı noktası dışında bir bağlantı noktası) kullanıyorsanız bağlantı noktasını eklemeniz gerekir.
usergrid.properties dosyasını düzenledikten sonra:
- Stack düğümünü yapılandırın:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - BaaS yığınını yeniden başlatın:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart - portal.properties dosyasını değiştirdiyseniz Portal düğümünü yapılandırın:??
> /opt/apigee/apigee-service/bin/apigee-service baas-portal configure - BaaS portalını yeniden başlatın:
> /opt/apigee/apigee-service/bin/apigee-service baas-portal restart