Bloqueando sites do Office SharePoint Server

Atualizado em: 2009-07-02

Ao habilitar o modo de bloqueio em um site do Microsoft Office SharePoint Server 2007, você pode restringir as permissões de usuários anônimos. Para obter mais informações sobre o modo de bloqueio no Office SharePoint Server 2007, consulte a seção "Usar o modo de bloqueio" em Planejar a segurança para um ambiente externo de acesso anônimo (Office SharePoint Server).

No entanto, mesmo quando o modo de bloqueio estiver habilitado, os usuários anônimos ainda poderão acessar determinadas URLs de aplicativos do Office SharePoint Server, como páginas no diretório _layouts e serviços Web expostos no diretório _vti_bin. Este tópico descreve como modificar o arquivo Web.config para restringir o acesso a esses recursos adicionais.

Dica

Para aumentar a segurança no seu site do Office SharePoint Server, habilite o modo de bloqueio e modifique o arquivo Web.config conforme descrito neste tópico.

Permitindo e negando acesso usando o arquivo Web.config

É possível permitir e negar acesso a recursos da Web adicionando elementos location ao arquivo Web.config. Por exemplo, você poderia adicionar um elemento location para negar o acesso de usuários anônimos ao diretório _layouts e adicionar um segundo elemento location para permitir explicitamente o acesso de usuários anônimos à página _layouts/login.aspx. O segundo elemento location substitui o primeiro elemento location e cria uma exceção para negar o acesso para a página de logon.

Para obter mais informações sobre o elemento location, consulte a seção "Usar o modo de bloqueio" de Planejar a segurança para um ambiente externo de acesso anônimo (Office SharePoint Server).

Dica

Não é recomendável editar o arquivo Web.config de forma direta. Se você fizer isso, é possível que as modificações sejam substituídas quando você atualizar a sua instalação do Office SharePoint Server ou que o arquivo Web.config modificado não seja copiado para todos os servidores Web front-end do farm. Em vez disso, crie um arquivo XML especial e salve-o no diretório \Config. Durante uma atualização, o Windows SharePoint Services 3.0 e o Office SharePoint Server 2007 procuram arquivos nesse diretório e aplicam as alterações especificadas neles ao arquivo Web.config, fazendo com que as alterações feitas persistam. Para obter mais informações sobre personalizações persistentes feitas no arquivo Web.config no Windows SharePoint Services 3.0 e no Office SharePoint Server 2007, consulte o artigo sobre como adicionar configurações personalizadas para estender um aplicativo Web (em inglês) (https://go.microsoft.com/fwlink/?linkid=157096&clcid=0x416) (em inglês).

A quais páginas os usuários anônimos devem ter acesso?

Para permitir que os usuários anônimos se autentiquem no servidor, garanta que eles tenham acesso às seguintes páginas:

  • _layouts/login.aspx

  • _layouts/accessdenied.aspx

  • _layouts/error.aspx

Se você negar o acesso de usuários anônimos a qualquer uma dessas páginas, o Office SharePoint Server não funcionará adequadamente.

Se você implantou soluções personalizadas que exigem que usuários anônimos acessem páginas adicionais no diretório _layouts ou serviços adicionais no diretório _vti_bin, permita explicitamente o acesso anônimo a esses recursos também.

Exemplos

Os dois primeiros exemplos desta seção ilustram as possíveis estratégias para a restrição do acesso anônimo. Para facilitar a leitura, ambos apresentam o XML que apareceria no arquivo Web.config. O terceiro exemplo ilustra a forma apropriada de adicionar elementos XML ao arquivo Web.config do Windows SharePoint Services e do Office SharePoint Server.

Importante

Não adicione as instruções XML dos dois primeiros exemplos diretamente ao arquivo Web.config. Em vez disso, crie um arquivo similar ao terceiro exemplo e salve-o no diretório \Config, como explicado no artigo sobre como adicionar configurações personalizadas para estender um aplicativo Web (em inglês) (https://go.microsoft.com/fwlink/?linkid=157096&clcid=0x416) (em inglês).

Exemplo 1: negar acesso a tudo; permitir o acesso de forma seletiva a recursos específicos

O fragmento de XML a seguir primeiro nega o acesso de usuários anônimos a todas as páginas dos diretórios _layouts e _vti_bin e depois permite o acesso de usuários anônimos a quatro páginas específicas do diretório _layouts. O ponto de interrogação (?) representa usuários anônimos. Essas restrições não se aplicam a usuários autenticados.

<configuration>

  <location path="_layouts">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_vti_bin">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/login.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>
 
  <location path="_layouts/accessdenied.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>


</configuration>

Exemplo 2: negar acesso a recursos específicos

O fragmento de XML a seguir nega o acesso de usuários anônimos a _layouts/error.aspx e _layouts/SearchResults.aspx. O acesso a outras páginas do diretório _layouts é governado pelo status do modo de bloqueio do site. O ponto de interrogação (?) representa usuários anônimos. Essas restrições não se aplicam a usuários autenticados.

<configuration>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/SearchResults.aspx">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

<configuration>

Exemplo 3: a forma recomendada de implementar o exemplo 1

As instruções XML a seguir ilustram como adicionar as instruções XML do exemplo 1 ao arquivo Web.config de forma que as adições sejam preservadas quando o Windows SharePoint Services ou o Office SharePoint Server forem atualizados, conforme descrito no artigo sobre como adicionar configurações personalizadas para estender um aplicativo Web (em inglês) (https://go.microsoft.com/fwlink/?linkid=157096\&clcid=0x416) (em inglês).

<?xml version="1.0" encoding="utf-8" ?>
<actions>

  <add path="configuration">
  <location path="_layouts">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_vti_bin">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/login.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/accessdenied.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>


  </add>
</actions>

Depois de criar um arquivo com instruções XML similares às mostradas no exemplo 3, salve-o no diretório \Config com um nome no formato webconfig. <nome>.xml. Para aplicar essas alterações ao farm, execute a operação copyappobincontent do Stsadm em cada servidor Web front-end. Para obter mais informações, consulte Copyappbincontent: operação do Stsadm (Office SharePoint Server).

Consulte também

Conceitos

Planejar a segurança para um ambiente externo de acesso anônimo (Office SharePoint Server)