Browser File Handling: SharePoint 2010 e 2013


Olá,

Neste post vou falar sobre o Browser File Handling, é um conceito simples de segurança mas vale a pena gastarmos uns minutos estudando e avaliando qual o melhor cenário para seu cliente.

Resolvi fazer este post porque hoje tive que explicar esta funcionalidade para os coordenadores responsáveis pela Farm do SharePoint da empresa onde trabalho e acabei me empolgando com o tema.

Browser File Handling é um recurso de segurança que foi implantado no SharePoint 2010 e se mantém no SharePoint 2013, o objetivo desta funcionalidade é basicamente restringir a execução direta de arquivos não confiáveis no navegador.

 

Funciona da seguinte maneira, quando um usuário abre um arquivo que está dentro do SharePoint, o servidor web (IIS) responde incluindo “X-Download-Options: noopen”, logo se o Browser File Handling estiver definido como Strict e o MIME do arquivo solicitado não estiver na lista de MIMEs seguros este arquivo não será aberto no navegador, será exibido um prompt com opção para salvar localmente e abrir posteriormente, assim reduzindo as chances de injeção de script.

Opções para Browser File Handling

Strict: especifica os tipos MIME que não estão listados na propriedade AllowedInlineDownloadedMimeTypes de um Web Application é forçado a ser baixado.

Permissive: especifica que o HTML e outros tipos de conteúdo que podem conter script tem permissão para ser exibido diretamente no browser. Em outras palavras, não importa qual o tipo de conteúdo, se ele vive dentro do SharePoint, o arquivo será aberto no seu browser.

 

Gerenciando Browser File Handling

Como praticamente tudo no SharePoint o Browser File Handling pode ser gerenciado pela Central Administration e via PowerShell, tornando nosso trabalho produtivo e flexivel a várias maneiras de gerenciamento do ambiente.

É importante observar que o Browser File Handling está disponível no nível de Web Application, Lista e Biblioteca de documentos, porém o gerenciamento via interface só nos permite gerenciar a nível de Web Application, listas e bibliotecas só conseguimos gerenciar via código.

MIMEs Confiáveis

Cada aplicativo da Web no SharePoint 2010 e 2013, tem uma propriedade AllowedInlineDownloadedMimeTypes dentro do qual existe uma lista de confiáveis ​​tipos de arquivo (MIME). Em primeiro lugar, não existe uma lista de “não confiável”, apenas uma lista de “confiáveis”. É seguro assumir que se um tipo MIME não está incluído nesta lista, ele não é confiável por padrão e está sujeito às “X-Download-Opções: noOpen” cabeçalho de resposta HTTP. O exemplo mais comum é a documentos PDF, tipo MIME “application / pdf”.

Com o Shell do SharePoint 2010 podemos facilmente descobrir quais tipos são confiáveis, executando o seguinte trecho PowerShell:

$webApplication = Get-SPWebApplication “http://urldasuaWebApplication
$webApplication.AllowedInlineDownloadedMimeTypes

Ressaltando, cada aplicação web tem sua própria propriedade AllowedInlineDownloadedMimeTypes.

 

Alterando Browser File Handling pela Central Administration

Acesse a CA, clique em Application management, clique em Manage Web applications, selecione uma Web Application e clique em General settings

Você vai encontrar a configuração de browser file handling

image_mime

Adicionando um novo MIMEs Confiável a uma Web Application

Para adicionar um novo MIME a lista de MIMEs confiáveis da Web Application como por exemplo “application/pdf” execute este pequeno script PowerShell:

$webApplication = Get-SPWebApplication “http://urldasuaWebApplication
$webAppApplication.AllowedInlineDownloadedMimeTypes.Add(“application/pdf”)
$webApplication.Update()

 

Removendo um MIMEs Confiável de uma Web Application

$webApplication = Get-SPWebApplication “http://http://urldasuaWebApplication
$webApplication.AllowedInlineDownloadedMimeTypes.Remove(“application/pdf”)
$webApplication.Update()

 

Alterando Browser File Handling para todas Web Applications

$webapps = Get-SPWebApplication
foreach ($webapp in $webapps)
{
$webapp.BrowserFileHandling = “permissive”
$webapp.Update()
}

Espero que este post tenha ajudado a entender um pouco mais sobre Browser File Handling.

A melhor prática para este recurso é sempre manter todas Web Applications como Strict e somente liberar um MIME específico caso seja necessário, fazer um documento com controle de mudança para saber exatamente o que está liberado em cada web application da Farm.

Recomendações de leitura:

http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebapplication.browserfilehandling.aspx

 

Abraços,

Carlos Citrangulo

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: