CSP kullanırken eklentilerle çalışma
Giriş
İçerik Güvenliği Politikası (Content Security Policy, CSP), Siteler Arası Betik Çalıştırma (XSS) saldırıları gibi bazı tehditleri önlemek için tasarlanmış bir güvenlik standardıdır. CSP etkinleştirildiğinde içerik yalnızca onaylı kaynaklardan yüklenebilir. Özellikle, açıkça izin verilmemiş üçüncü taraf alan adlarına yapılan isteklere izin vermez.
Web çözümünüzle tümleştirilmiş ONLYOFFICE Docs (Enterprise Edition veya Developer Edition) kullanıyorsanız ve web sunucunuzda güvenliği artırmak için CSP etkinse CSP varsayılan ayarları bazı sorunlara yol açabilir. ONLYOFFICE çevrimiçi düzenleyicileri çeşitli eklentiler içerir ve bunlardan bazıları üçüncü taraf kaynakları kullanır ve üçüncü taraf alan adlarına istek gönderir (örneğin YouTube eklentisi). CSP üçüncü taraf alan adlarına yapılan isteklere izin vermediğinden eklentiler düzgün çalışamaz; örneğin YouTube videosu yüklenmez.
Üçüncü taraf alan adlarını izin verilen kaynaklar listesine ekleme
Eklentilerin doğru çalışması için belirli alan adlarına yapılan isteklere izin vermeniz gerekir (alan adlarının tam listesi aşağıdadır). Bunu, CSP'yi etkinleştiren HTTP üst bilgisini değiştirerek yapabilirsiniz. Kullandığınız çözüme bağlı olarak bu üst bilgi farklı dosyalarda bulunabilir. Bu talimat tek tek durumları değil, temel ilkeleri açıklar. Üst bilgi şöyle görünmelidir:
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';"
Bu satır, farklı içerik türleri için izin verilen kaynakları belirten yönergeler içerir: betikler, stil sayfaları, yazı tipleri, resimler, HTML5 <audio> veya <video> öğeleri vb.
default-src yönergesi, belirli bir kaynak türü için yönerge belirtilmediğinde uygulanır.
‘self’, içeriğin yalnızca geçerli alan adından yüklenebileceği anlamına gelir.
default-src yönergesini düzenleyip güvenilen alan adlarının değerlerini eklemeniz gerekir:
default-src 'self' *.trusted1.com *.trusted2.com
Bu, belirtilen güvenilir *.trusted1.com ve *.trusted2.com alan adlarına ve alt alan adlarına istek göndermeye ve bunlardan içerik yüklemeye izin verir.
Üçüncü taraf alan adları listesi
Aşağıdaki eklentiler üçüncü taraf alan adlarına istek gönderir:
| Eklenti | Alan adı |
|---|---|
clipart | https://openclipart.org |
speech | https://code.responsivevoice.org |
youtube | https://www.youtube.com |
thesaurus | https://words.bighugelabs.com |
translate | https://translate.yandex.net |
ocr | https://cdn.rawgit.com |
Yukarıda listelenen eklentilerden şunlar varsayılan olarak ONLYOFFICE çevrimiçi düzenleyicilerine dahildir: ocr, speech, thesaurus, translate, youtube.
clipart eklentisi çevrimiçi düzenleyicilere dahil değildir ancak https://github.com/ONLYOFFICE/sdkjs-plugins adresinde bulunur ve düzenleyicilere elle ekleyebilirsiniz.
Belirtilen tüm alan adlarını izin verilen kaynaklar listesine eklemek için HTTP üst bilgisi şöyle görünmelidir:
Header set Content-Security-Policy "default-src 'self' *openclipart.org *code.responsivevoice.org *www.youtube.com *words.bighugelabs.com *translate.yandex.net *cdn.rawgit.com; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';"
ONLYOFFICE Enterprise Edition için ayrıca CSP kullanacak şekilde yapılandırdıysanız ve wordpress ile easybib eklentilerini etkinleştirdiyseniz *wordpress.com ve *easybib.com alan adlarını da belirtmeniz gerekir.