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 mecanismo de segurança essencial para mitigar riscos como ataques de Cross-Site Scripting (XSS) e injeção de dados. Quando habilitada, a CSP restringe o carregamento de recursos do navegador apenas para origens explícitas, bloqueando automaticamente qualquer solicitação a domínios de terceiros não autorizados.

Se você utiliza o ONLYOFFICE Docs (Enterprise ou Developer Edition) integrado à sua solução web e aplicou políticas estritas de CSP no seu servidor web para aumentar a segurança, as configurações padrão podem impedir que plugins de terceiros (como o YouTube, tradutores ou ferramentas de ocr) carreguem seus recursos externos. Este guia explica como ajustar essas permissões mantendo a segurança do ambiente.


Adicionando domínios à lista de fontes permitidas (Whitelist)

Para restaurar o funcionamento pleno dos plugins, você deve adicionar os domínios necessários à lista de exceções do cabeçalho HTTP de CSP do seu servidor. O cabeçalho deve ser estruturado conforme o exemplo abaixo:

Header set Content-Security-Policy "default-src 'self'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';"

A diretiva 'self' restringe o carregamento apenas ao seu próprio domínio. Para autorizar solicitações externas, edite a diretiva default-src injetando os domínios confiáveis:

default-src 'self' *.trusted1.com *.trusted2.com

Ao utilizar o prefixo *., você permite solicitações ao domínio especificado e a todos os seus subdomínios.


Lista de domínios para plugins padrão

Caso utilize os plugins nativos do ONLYOFFICE, certifique-se de incluir estas origens na sua política:

PluginDomínio permitido
cliparthttps://openclipart.org
speechhttps://code.responsivevoice.org
youtubehttps://www.youtube.com
thesaurushttps://words.bighugelabs.com
translatehttps://translate.yandex.net
ocrhttps://cdn.rawgit.com

O plugin clipart não acompanha a instalação padrão do Docs, mas pode ser adicionado manualmente a partir do repositório oficial sdkjs-plugins no GitHub.

Exemplo de configuração consolidada para o cabeçalho HTTP:

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';"
Nota para Enterprise Edition: Se você utiliza a Enterprise Edition e habilitou os plugins wordpress ou easybib, adicione também os domínios *wordpress.com e *easybib.com à sua string de política.
Artigo com o tag:
Veja todas as etiquetas