Oracle JRE Dağıtım Kural Seti - JRE'lerin kontrolü
Bu örnekle size ScriptRunner'ın bir şirketteki somut bir uygulamasını göstermek istiyoruz:
Meydan okuma
Karmaşık uygulama ortamlarında, farklı Java uygulamalarının paralel olarak çalışması ve bunun her durumda belirli bir Java sürümünü gerektirmesi sorunu vardır. Bu nedenle, uygulama uyumluluğunun sağlanması için etkilenen tüm cihazlara birkaç Java Çalışma Zamanı Ortamının (JRE) yan yana kurulması gerekir. Ayrıca bu JRE'lerin yalnızca yetkilendirildikleri belirli uygulamalar için kullanılabilmesi amacıyla idari olarak da kontrol edilmesi gerekir.
Bunun için Oracle'ın “Oracle WebLogic Server” adlı ticari bir çözümü var. WebLogic Server tarafından kullanılan mantık her JRE kurulumunda zaten mevcuttur ancak kullanılmamaktadır. Bununla birlikte yalnızca kontrol mantığını yapılandırmanız yeterli olacaktır ve işlevi ek maliyetler olmadan da kullanabilirsiniz.
Bu problemin çözümü için dört farklı çözüm önerilmiştir. Yapılandırma dosyalarının dağıtımı ve bakımı açıkça dikkate alındı.
Daha sonra çözümlere yönelik farklı yaklaşımlar değerlendirildi ve bireysel varyant lehine karar verildi. Gereksinimleri karşılamak için aşağıdaki sorun alanları belirlendi.
- tüm JRE paketleri yeniden paketlenmelidir
- Kılavuzların otomatik olarak oluşturulması gerçekleşmelidir.
- Bir politika senkronizasyon mantığı geliştirilmelidir.
- JRE Direktifinin otomatik tescili gerçekleşecektir
- AppSense Environment Manager, Active Directory ile çalışan profil çözümüdür.
- AppSense Ortam Yöneticisi, bir yapılandırmayı mantıksal bir bağlantıyla saklar; böylece özel bir JRE yapılandırması yalnızca belirli sürümlere sahip iki JRE'nin bir istemcide birlikte yüklenmesi durumunda uygulanır.
- Bu yapılandırma bir istemciye uygulanır.
- AppSense yapılandırması daha sonra sertifikayı ve dağıtım kuralı kümesini APSource paylaşımından kopyalar. Sertifika ayrıca Global Java Sertifika Deposu'na da kopyalanır.
- Sertifika, dağıtım kuralı kümesinin güvenilir olduğunu beyan eder ve bunu bireysel Java uygulamalarına uygular.
Oracle Java Dağıtım Kural Kümeleri
“Dağıtım Kuralı Seti”, eski Java sürümlerini kullanmak zorunda kalan şirketlerdeki yöneticilere, istemcileri kurallar aracılığıyla tehditlerden koruyacak bir araç sağlamayı amaçlamaktadır. Ancak bu yalnızca istemcilerin merkezi olarak kontrol edildiği ortamlarda işe yarar. Diğer bir sınırlama ise kurulumun yaşıyla ilgilidir: Tüm istemci bilgisayarların, Java eklentisinin Java SE 6, Güncelleme 10 veya sonraki bir sürümünden güncellenmiş bir sürümüne sahip olması gerekir.
Bu gereksinimler karşılanırsa yönetici, Oracle'ın Zengin İnternet Uygulamaları (RIA'lar) olarak özetlediği hangi Java uygulamalarının veya Java Web uygulamalarının istemci bilgisayarlarda çalışabileceğini belirlemek için bir dizi kural kullanabilir. Örneğin, sorumlu kişi temel olarak tüm DEA'ları yasaklayabilir ve ardından beyaz listede belirli istisnaları tanımlayabilir. Kurallar, uygulama URL'sinin bağlantı noktası numarası gibi bölümlerine ayrılabilir. Ayrıca kuralı belirli Java sürümleriyle sınırlayan talimatlar da içerebilirler.
Ayrıca, Java Development Kit'in (JDK) 7u40 sürümüne yönelik bir güncelleme, imzasız veya kendinden imzalı uygulamalar için artırılmış güvenlik uyarılarının yanı sıra geliştiriciler için gelişmiş izleme ve tanılama araçları sağlar. Artık anahtar uzunluğu 1.024 bitten kısa olan sertifikalara kısıtlamalar uygulanacaktır. Bu tür anahtarların kullanıcıları, daha uzun anahtarları seçmelerini isteyen bir uyarı alacaktır. Ayrıca kullanıcı anahtar uzunluğu kontrolünü de devre dışı bırakabilir.
Son olarak, JDK Sürüm 7u40 ve üzeri, merkezi olarak kontrol edilen istemcilerin yöneticisinin, istemci kullanıcılarının kendilerini güncellemeye çalışmamaları için eski bir sürümle ilgili uyarıları devre dışı bırakmasına olanak tanır.
Dağıtım Kuralı Kümesi Dosyasını İmzalama
RuleSet dosyasını imzalamak için geçerli bir CodeSigning sertifikası gereklidir.
Bu iki yıl geçerlidir ve yenilenmesi gerekir. JVM'nin DeploymentRuleSet'i güvenilir olarak sınıflandırması ve uygulaması için JVM sertifika deposuna yüklenmesi gerekir. Ayrıca JVM'nin artan güvenlik kuralları nedeniyle web sitesinin İstisna Siteler'de listelenmesi gerekmektedir.
CodeSigning sertifikası her zamanki gibi resmi bir sertifika kuruluşundan alınabilir.
Dağıtım Kural Kümesi Oluşturma
DosyaDağıtım Kuralı Kümesi dosyası oluşturma ve yükleme işlemini gösterir.
Bu adımları tamamlamak için aşağıdaki dosyalar gereklidir. Bu dosyalar JDK'nın bir parçasıdır ve farklı sürümlerde kullanılabilir.
|- bin
|- msvcr100.dll
|- keytool.exe
|- jli.dll
|- jarsigner.exe
|- jar.exe
|- lib< br>|- araçlar.jar
Bu işlemi basitleştirmek için CMD komut dosyaları geliştirildi.
- CreateCertificate.cmd - SelfSignedCertificate oluşturmak için kullanılır
- CreateDeploymentRuleSetJAR.cmd - bir XML-RuleSet'i imzalı bir JAR-RuleSet'e dönüştürmek için kullanılır.
- DeployRuleSet.cmd - imzalı bir JAR-RuleSet'i JRE dizinine kopyalamak ve oluşturulan SeldSignedCertificate'i JRE-CertificateStore'a aktarmak için kullanılır.
ScriptRunner'ın kullanımı
Bu işlemi otomatikleştirmek için ScriptRunner kullanıldı. Yazılımın burada çeşitli işlevleri vardır:
- Bir istisna.siteler dosyası oluşturun
- Ruleset.xml dosyası oluşturma
- Ruleset.xml dosyasını DeploymentRuleset.jar dosyasına dönüştürün
Çözüm
ScriptRunner'daki otomasyonla, bu dosyaların oluşturulması büyük ölçüde basitleştirilmiştir, çünkü bunlar genellikle hantaldır veya bireysel araçların sözdizimi gerçekten şeffaf değildir. Ayrıca amaç, ileri düzeyde Java konfigürasyon bilgisine sahip bir danışman çalıştırmaya gerek kalmadan bu çözümü devreye almaktı. Bu aynı zamanda yüksek düzeyde tekrarlanabilirlik sağlar, böylece DeploymentRuleset.jar her zaman aynı metodolojiyle oluşturulur ve yapılandırmada başka hata olmaz.



