Configurando plugins com Política de Segurança de Conteúdo (CSP)
Introdução
A Política de Segurança de Conteúdo (Content Security Policy - CSP) é um padrão de segurança destinado a evitar algumas ameaças, como ataques de Cross-Site Scripting (XSS) etc. Quando a CSP está habilitada, ela permite carregar conteúdo apenas de fontes aprovadas. Em particular, ela proíbe solicitações a domínios de terceiros que não tenham sido explicitamente permitidos.
Se você utiliza o ONLYOFFICE Docs (Enterprise Edition ou Developer Edition) integrado à sua solução web e a CSP está habilitada no seu servidor web para aumentar a segurança, as configurações padrão da CSP podem causar alguns problemas. Os editores online do ONLYOFFICE incluem vários plugins, alguns dos quais usam recursos de terceiros e fazem solicitações a domínios de terceiros, por exemplo, o plugin do YouTube. Como a CSP proíbe solicitações a domínios de terceiros, isso impede que os plugins funcionem corretamente, por exemplo, bloqueando o carregamento de vídeos do YouTube.
Adicionando domínios de terceiros à lista de fontes permitidas
Para que os plugins funcionem corretamente, você precisa permitir solicitações a determinados domínios (a lista completa de domínios está disponível abaixo). Isso pode ser feito alterando o cabeçalho HTTP que habilita a CSP. Dependendo da solução que você utiliza, esse cabeçalho pode estar localizado em arquivos diferentes. Esta instrução descreve os princípios básicos, não os casos individuais. O cabeçalho deve ficar assim:
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';"
Essa string contém diretivas que especificam as fontes permitidas para diferentes tipos de conteúdo: scripts, folhas de estilo, fontes, imagens, elementos HTML5 <audio> ou <video> etc.
A diretiva default-src é aplicada quando não é especificada uma diretiva para um determinado tipo de recurso.
‘self’ significa que o conteúdo pode ser carregado apenas a partir do domínio atual.
É necessário editar a diretiva default-src adicionando os valores dos domínios confiáveis:
default-src 'self' *.trusted1.com *.trusted2.com
Isso permitirá fazer solicitações e carregar conteúdo dos domínios confiáveis especificados *.trusted1.com e *.trusted2.com, incluindo seus subdomínios.
Lista de domínios de terceiros
Os seguintes plugins fazem solicitações a domínios de terceiros:
| Plugin | Domínio |
|---|---|
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 |
Os seguintes plugins da lista acima estão incluídos por padrão nos editores online do ONLYOFFICE: ocr, speech, thesaurus, translate, youtube.
O plugin clipart não está incluído nos editores online, mas está disponível em https://github.com/ONLYOFFICE/sdkjs-plugins, e você pode adicioná-lo aos editores manualmente.
Para adicionar todos os domínios mencionados à lista de fontes permitidas, o cabeçalho HTTP deve ficar assim:
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';"
Se você também configurou o ONLYOFFICE Enterprise Edition para usar a CSP e habilitou os plugins wordpress e easybib, também precisará especificar os domínios *wordpress.com e *easybib.com.