Alfresco veya başka bir web uygulaması için SSL https etkinleştirme

Https SSL Etkinleştirme

Mehmet Demirel

Alfresco veya başka bir web uygulaması için SSL https'yi etkinleştirin.

SSL etkinleştirme Nasıl yapılır? HTTPS etkinleştirme Nasıl yapılır? SSL https etkinleştirme Nasıl yapılır?

Bazı web uygulamaları için SSL güvenli bağlantıların etkinleştirilmesi (örneğin, Alfresco ECM), web topluluğu için çok yaygın bir iştir. Bu gereklidir, çünkü kendi işini internet üzerinden yürüten şirketlerin çoğunun değiş tokuş edilen verilerin korunmasını gerekir. Bu yazıda, bu tür bir bağlantının Apache Web Sunucusu aracılığıyla nasıl yapılacağı gösterilecektir.

Hazırsanız hadi başlayalım. Bazı web uygulamalarına sahip olduğumuzu varsayalım ( bizim uygulama örneğimizde Alfresco ECM var), bu uygulama Tomcat servlet konteyner tarafından yönetilir. Tabiki Tomcat'i 8443 numaralı bağlantı noktasındaki (Tomcat varsayılan SSL bağlantı noktası) istekleri dinleyecek şekilde yapılandırabiliriz, ancak Alfresco durumunda, iki webapps (/ alfresco ve / share) olduğunda, Apache sunucusunu birlikte kullanmak daha kolaydır. Tomcat ile: Alfresco yapılandırmasında herhangi bir şeyi değiştirmeye gerek yoktur (örn. share-custom-config.xml dosyasında), Tomcat üzerinde değişiklik yapmanıza gerek yoktur. Alfresco dışında bir web uygulamanız varsa, Tomcat + Apache Server da iyi bir seçenek olabilir:

  • Tomcat, statik sayfalara gelince Apache kadar hızlı değildir.

  • Tomcat, Apache gibi yapılandırılamaz.

  • Tomcat Apache kadar sağlam değil.

  • Tomcat, pek çok sitenin yalnızca Apache modüllerinde (örneğin, Perl, PHP, vb.) Bulunan işlevsellik ihtiyacını karşılamayabilir.

Lütfen henüz kurulmamışsa Apache2'yi ve 2 Apache modülünü kurun: mod_jk - Apache Sunucusunu Tomcat iletişimine yöneten modül, mod_ssl - SSL v3 ve TLS v1.x desteği sağlayan modül. Mod_jk yüklemek için kullanılan komutlar (mod_ssl normalde Apache Server içinde varsayılan olarak kurulur) ve her iki modülü de etkinleştirir:

sudo apt-get install libapache2-mod-jk
sudo a2enmod jk
sudo a2enmod ssl


SSL güvenli bağlantıyı kullanmak için SSL sertifikasına ihtiyacımız var. Bu sertifikaları bazı resmi makamlarda, örneğin Digicert'te bunun için bir sertifika talep dosyası (* .crt) oluşturmalıyız. Crt dosyasını birlikte oluştururken, bir özel anahtarın alınabileceği bir jks dosyası (java anahtar deposu) gelebilir (link). Sertifika veren kuruluşa crt gönderdikten sonra, 2 sertifika dosyasını geri alırsınız: dijital bir sertifikanın kendisi ve bir sertifika zinciri dosyası. Her ikisi de ve özel anahtara Apache2 VirtualHost yapılandırmasında başvurulmalıdır:

<VirtualHost *:443>
    ServerName somesite.com
    SSLEngine On
    SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"
    SSLHonorCipherOrder on
    SSLProtocol All -SSLv2 -SSLv3 
    SSLCertificateFile /opt/alfresco/cert/somesite_com.crt
    SSLCertificateKeyFile /opt/alfresco/cert/pr_key/somesite_com_pr.key 
    SSLCertificateChainFile /opt/alfresco/cert/DigiCertCA.crt
    <Location />
        SSLRequireSSL On
        SSLVerifyClient optional
        SSLRenegBufferSize 104860000
        SSLVerifyDepth 1
        SSLOptions +StdEnvVars +StrictRequire
    </Location>
    # Send everything for the context / to worker named worker1 via ajp13
    JkMount /* ajp13_worker
</VirtualHost>


Bu yapılandırmada birkaç önemli şey fark edilmelidir:

  • JkMount / * ajp13_worker - Tomcat AJP portuyla iletişim kuracak mod_jk AJP çalışanının kimliği. Tomcat, genellikle 8009 numaralı bağlantı noktası olan localhost'ta tanımlanır (bkz. Tomcat’in config / server.xml). Apache mod_jk worker.properties alıntı:

#
# Defining a worker named ajp13_worker and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
  • SSLCipherSuite - SSLLabs testinde “A” derecesini almak için bugünlerde kullanılabilecek SSLProtocol yapılandırması ile birlikte en iyi Cipher Suite'den biri. Modern tarayıcılar ve işletim sistemleri eski SSL protokollerine ve şifrelerine karşı çok hassastır (ve bu yaklaşım doğrudur), bu yüzden sadece onaylanmış olanları etkinleştirmemiz gerekiyor. SSLProtocol All -SSLv2 –SSLv3 - kullanımdan kaldırılmış SSL2 (DROWN açıklığına neden olan) ve kullanımdan kaldırılmış SSL3 dışındaki (POODLE güvenlik açığına neden olan) tüm SSL protokollerini etkinleştirir. Modern ve doğru SSLCipherSuite seti, özellikle yüksek güvenlik seviyesine yönelik MacOS için de gereklidir, aksi takdirde sitenize https bağlantısı reddedilebilir.

Apache2 yeniden başlatıldıktan sonra SSL bağlantısı kurulur ve Alfresco / Share web uygulamanıza (veya özel web uygulamanıza) https ile gidebilirsiniz. Bağlantınız modern güvenlik protokollerine karşılık gelecek ve SSL kontrol hizmetlerinde “A” derecesine sahip olacaksınız.

SSL etkinleştirme Nasıl yapılır? HTTPS etkinleştirme Nasıl yapılır? SSL https etkinleştirme Nasıl yapılır?
Kaynak: http://soft29.info/blog/entry/enable-ssl-https-for-alfresco