Dentro do SharePoint Manter credenciais de conta de segurança

Pav Cherny

Conteúdo

Alterações de senha em um ambiente do SharePoint
Solucionando problemas de credenciais de farm
Conclusão

Com freqüência alterar credenciais do farm e conta de segurança as senhas são medidas importantes para manter um farm do Microsoft Office SharePoint Server (MOSS) segura. Ainda para administradores, essas tarefas são entediante e repetitivas. As ferramentas são difíceis de usar, os processos subjacentes são complexos, documentação de BOM é difícil localizar e há um determinado risco de corromper o server farm, mesmo quando seguir todas os procedimentos adequados.

Adicionar a combinação é problemática técnico pelo Microsoft Atendimento (PSS). A um lado, há útil artigos da Base de Dados de Conhecimento (KB), como" Como alterar contas de serviço e senhas de conta de serviço no SharePoint Server 2007 e no Windows SharePoint Services 3.0." E por outro lado, há desastres, como" Mensagem de erro quando você tenta usar o Assistente de tecnologias e produtos: ' exceções: System.ArgumentException: Erro durante criptografia ou descriptografia.'"

O artigo acima informa que você deve criar um novo banco de dados de configuração se as credenciais da conta de um aplicativo da Web não podem ser descriptografadas mais. Isso pode acontecer se você usar uma opção de comando crítica na hora errada ou se o processo de atualização farm credenciais conclui sem êxito por alguma razão. Este artigo da base de dados de CONHECIMENTO fez um trabalho bem de instilling medo em administradores que alterar credenciais do farm pode corromper um server farm irreparably. Quem pode esperar clientes para manter a segurança em seus ambientes de SharePoint, com freqüência alterando senhas de conta do farm e segurança se eles enfrentam esse tipo de risco?

Os clientes não apagar do Active Directory para redefinir contas de usuário, e eles não devem ser forçados a apagar seus bancos de dados de configuração do SharePoint ou só porque uma senha de aplicativo da Web foi perdida. Não é necessário criar um novo banco de dados de configuração. Na maioria dos casos, é suficiente usar a ferramenta de STSADM.exe padrão para substituir credenciais corrompidas. E em todos os outros casos, você pode redefinir as senhas e manter o banco de dados de configuração usando as ferramentas incluídas no material complementar, disponível no Download de código de fevereiro de 2009. Redefinição de senhas no Windows SharePoint Services (WSS) 3.0 e ambientes do MOSS 2007 não exigir acesso aos antigos chaves de credenciais nem um novo banco de dados de configuração. Mas ele exige melhores ferramentas de suporte da Microsoft e uma melhor documentação dos processos subjacentes que facilitam a alterações de senha.

Isso é a primeira coluna de uma série duas partes em que eu examine os procedimentos padrão e as ferramentas de manutenção de contas de segurança do SharePoint, aborde suas limitações, realçar os riscos e sugere uma abordagem alternativa para obter melhor segurança, reduzir a sobrecarga administrativa e, portanto, diminuir, custo total de propriedade (TCO) em ambientes do SharePoint. Esta primeira parte lida com os detalhes de arquiteturais e o processo complicado de realização de alterações de senha.

É fundamental para entender como o SharePoint lida com contas de segurança e senhas Se você manter a segurança manualmente usando scripts ou usando uma solução totalmente automatizada, como aquela apresentará na coluna do próximo mês. Para manter meu explicações realistas e prática orientado a, eu novamente dependem um ambiente de teste. Na primeira parte, uma simples instalação de único servidor é suficiente, conforme descrito em planilhas complementar. Como sempre, meu planilhas e ferramentas complementares para laboratórios de teste somente e não devem ser usados em ambientes de produção. Uso minhas ferramentas de seu próprio.

Alterações de senha em um ambiente do SharePoint

Alterar a senha de uma conta de segurança do SharePoint ou conta de configuração do farm é uma tarefa bastante complexa. Entre outras coisas, você deve aplicar as alterações no Active Directory e no servidor do SharePoint banco de local Gerenciador de contas de segurança (SAM) dados, no banco de dados do Gerenciador de controle de serviço (SCM), na metabase do IIS, no SQL Server e, obviamente, no conteúdo do SharePoint e bancos de dados de configuração.

Você também deve replicar as alterações para todos os outros servidores no farm para aplicar as alterações consistente. Talvez seja necessário criptografar novamente todas as senhas de todos os serviços do SharePoint e pools de aplicativos para todos os servidores no farm se suas alterações afetarem a chave de credencial do farm, que é a chave de criptografia que SharePoint usa para proteger as senhas das contas de segurança no banco de dados de configuração. Quando você alterar senha de conta de configuração do farm, implicitamente altere chave de credencial do farm. a Figura 1 mostra o processo em um server farm com dois servidores front-end. Francamente, é impressionante que esse processo funciona bem como ele faz.

fig01.gif

Figura 1 alterando a senha de uma conta de segurança do SharePoint

Todas as alterações de senha de conta de segurança começam no Active Directory e a partir do que momento frente, até você atualizar a senha afetada no SharePoint, o farm está em um estado inconsistente. A senha agora está desatualizada no IIS e em outro local, mas o SharePoint é ainda operacional.

Isso é boa notícia para organizações com requisitos de alta disponibilidade. Alterações de senha não exigem reinicializações de sistema. Os serviços do Windows e o IIS pode continuar a usar o token de segurança que ele obtido fazendo logon na conta de segurança afetado com a senha antiga ao iniciar o servidor pela última vez. Mas não reinicie o IIS ou todo o servidor durante a fase transição de inconsistência de senha.

IIS e outros serviços não poderá fazer logon com a senha antiga durante a reinicialização, e o pool de aplicativos afetados ou o serviço pode não poderá entrar online mais. Nessa situação, o IIS gravará um aviso no log de eventos do servidor (consulte a Figura 2 ). Portanto, não espere muito tempo com a atualização de senha no SharePoint após a alteração da senha no Active Directory.

fig02.gif

A Figura 2 IIS avisa sobre credenciais de pool de aplicativos desatualizados

Para atualizar a senha de uma conta de pool de aplicativo, você deve usar Administração Central do SharePoint 3.0 (_admin/FarmCredentialManagement.aspx) ou o seguinte comando Stsadm.exe:

stsadm -o updateaccountpassword -userlogin <DOMAIN\USER> 
  -password <PASSWORD> -noadmin

Em resposta, o SharePoint criptografa a nova senha usando a chave de credencial do farm e sobrescreve a antiga senha criptografada no banco de dados de configuração. Em seguida, o SharePoint atualiza as informações de conta na metabase do IIS e em todos os outros lugares necessários. Depois que isso é feito, o SharePoint gera um trabalho de timer do tipo SPContentAppPoolCredentialDeploymentJobDefinition para implantar as novas credenciais nos servidores restantes do farm, o que ele coloca no banco de dados de configuração.

Como visto na Figura 1 , o SharePoint depende trabalhos de timer para aplicar configurações administrativas globalmente em todos os servidores do farm. Os serviços de Timer do SharePoint nos servidores restantes do farm pegar o trabalho e atualizar adequadamente as configurações de segurança local em seus servidores com a ajuda do serviço de administração do WSS (SPAdmin) para trazer o farm de volta para um estado consistente.

Isso é o processo para contas de pool de aplicativos, mas há muitos outros tipos de serviços de SharePoint que usam contas de segurança, como o próprio serviço de Timer do SharePoint, o serviço de procura de ajuda do WSS e, possivelmente, provedores de serviços compartilhados SSPs (serviço Office SharePoint Server Search e serviço do single sign-on (SSO). Não existe, pode ser ainda mais serviços, dependendo das soluções instaladas no seu farm, e cada tipo de serviço tem requisitos de atualização de senha diferentes. O artigo em support.microsoft.com/kb/934838 contém uma lista de comandos que você deve usar para as contas de serviço no WSS 3.0 e no MOSS 2007. Consulte a documentação do produto de quaisquer soluções adicionais que você usa para outras ferramentas, comandos e procedimentos de atualização.

Isso altamente diversified e paisagem isolada de ferramentas e comandos é uma das desvantagens da arquitetura de segurança do SharePoint atual. Ele não dimensionar bem e pode orientar up TCO dependendo do número de soluções personalizadas no seu farm que usam credenciais de segurança. A segunda parte desta série, VOU mostrar como colocar isso no controle para poder usar uma única solução para realizar todas as atualizações necessárias, independentemente dos tipos de serviço subjacente.

O cenário de atualização mais importante diz respeito as credenciais de farm. A senha da conta do farm é especial porque ele afeta a chave de credencial do farm, que é usada para criptografar todas as senhas no farm, como mencionado anteriormente. Portanto, após uma alteração de senha da conta do farm no Active Directory, você deve atualizar SharePoint usando o comando:

stsadm -o updatefarmcredentials -userlogin <DOMAIN\USER>
  -password <PASSWORD>

Criptografar SharePoint, em seguida, deve novamente todas as senhas (criptografadas) existentes no banco de dados de configuração, ele deve atualizar a conta de serviço de Timer do SharePoint (que usa a conta do farm como sua identidade) e ele deve propagar essas alterações novamente em todos os servidores no farm por meio de um trabalho de timer do tipo SPAdminAppPoolCredentialDeploymentJobDefinition.

Muitas coisas podem dar erradas durante essa fase. O trabalho de timer pode obter presas na fila, conforme ilustrado na Figura 3 , ou o processo de atualização pode falhar inesperadamente, porque talvez uma queda de energia repentino, deixando para trás antigas senhas criptografadas que SharePoint agora não é possível descriptografar mais porque a chave de credencial foi alterada.

fig03.gif

A Figura 3 um trabalho de implantação de credencial presas na fila porque o serviço de Timer do SharePoint não está sendo executado em todos os servidores do farm.

Em outro cenário, você pode atualizar as senhas das contas de pool de aplicativos antes que as novas credenciais farm atingiu todos os servidores do farm, causando servidores com a chave de credencial desatualizados falhe, pois eles não podem descriptografar a senha atualizada no banco de dados de configuração ainda, conforme ilustrado na Figura 4 . Esta é uma situação interessante e o motivo para a opção-opção noadmin no comando updateaccountpassword. Se a conta do farm também é usada como uma conta de pool de aplicativo (não recomendada), em seguida, atualize o farm credenciais em primeiro lugar, aguarde até que todos os servidores do farm terem processado o trabalho de timer e atualize os pools de aplicativos.

fig04.gif

A Figura 4 manter atualizações de pool de aplicativos até que o trabalho de implantação de credenciais de pool de aplicativos de administração foi processado

Correspondentemente, o comando de updateaccountpassword verifica se a conta de segurança especificada é a conta do farm e informa sobre as dependências se esse for o caso sem executar a atualização. Usando a opção-opção noadmin, você desativar essa verificação e se aplicam a senha alterada à conta de na configuração do pool de aplicativo, mas é difícil automatizar esses procedimentos em um script com tempo de retardo apropriado.

Solucionando problemas de credenciais de farm

Agora vamos dar uma olhada mais perto no comando updatefarmcredentials. Ele vem com uma opção perigosa que pode causar grande dificuldade, especialmente se ele é usado conforme descrito no artigo" Mensagem de erro quando você tenta usar o Assistente de tecnologias e produtos: ' exceções: System.ArgumentException: Erro durante criptografia ou descriptografia”. Estou referência à opção chamada - local. Os desenvolvedores do SharePoint introduziu essa opção para executar atualizações de credencial do farm local manualmente. A idéia é que você pode excluir um trabalho de timer da fila na Administração Central (_admin/ServiceJobDefinitions.aspx) se o trabalho estiver corrompido ou não processado por qualquer motivo e realizar, em seguida, a etapa de atualização necessário diretamente usando o comando:

stsadm -o updatefarmcredentials -userlogin <DOMAIN\USER> 
  -password <PASSWORD> -local

Local-opção instrui o comando updatefarmcredentials para aplicar a alteração de senha apenas no computador local. É importante reconhecer, no entanto, que essa atualização afeta a chave de credencial e o serviço de Timer do SharePoint, mas não os pools de aplicativos, pesquisar o serviço, SSPs e assim por diante. Presume-se que você já executou o updatefarmcredentials comando sem-opção local em outro servidor do farm e, portanto, recriptografado todas as senhas no banco de dados de configuração. Não é necessário realizar esta etapa de nova criptografia novamente. Mas e se é usada a local opção - sem realizar esta etapa?

Usando a local opção - sem executar primeiro os updatefarmcredentials comando sem essa opção causa problemas porque o local opção altera a chave de credencial. As senhas de pool de aplicativo são criptografadas com a antiga chave no banco de dados de configuração, mas essa chave agora é substituída.

Dê uma olhada na Figura 5 . Não é possível executar o updatefarmcredentials comando sem-opção local mais porque isso requer a nova criptografia de senhas que não podem ser descriptografadas. Quando o comando falhar, você pode localizar entradas in the Application log de eventos informando: "Erro re-encrypting credencial ID 022e607e-b49e-40e4-bd3f-f56a3c69f94d com proprietário ID 431b6897-16eb-4b9a-be65-60f1f603008d durante a implantação de credenciais de pool de aplicativos de administração, recrie credencial manualmente. Operação não é válida devido ao estado atual do objeto."

fig05.gif

A Figura 5 não é possível criptografar novamente as senhas de pool do aplicativo porque as senhas não podem ser descriptografadas

Se você acabou de alterar a conta do farm em uma implantação de único servidor da conta do serviço de rede para uma conta de domínio, você está em problemas reais pois você não poderá alterar novamente para a chave de credencial antiga nesse caso. O serviço de rede não usar uma senha, e a chave de credencial, portanto, aleatória.

Em uma pesquisa para obter ajuda, você pode encontrar que" Mensagem de erro quando você tenta usar o Assistente de tecnologias e produtos: ' exceções: System.ArgumentException: Erro durante criptografia ou descriptografia” artigo mencionei anteriormente e sem conhecimento adicional, seu problema worsens porque você aprender agora que você deve criar um novo banco de dados de configuração para eliminar essas senhas que não podem ser descriptografadas. É um constellation unbelievable das circunstâncias infeliz. Você não deve ser capaz de executar os updatefarmcredentials comando com a opção-opção local em primeiro lugar, ou o comando deve criar uma cópia backup da chave de credencial do antigo para que você criptografar pode novamente as senhas mais tarde. Ou simplesmente deve detectar que as senhas não recriptografadas ainda e recriptografá-las neste momento.

Em vez disso, o local opção vai em frente e Felizmente corromper o banco de dados configuração do SharePoint sem avisos, como mostrado na Figura 5 . Uma ferramenta de suporte da Microsoft para redefinir as senhas que não podem ser descriptografadas seria útil. E, claro, documentação do produto adequado que avisa sobre a natureza crítica de determinadas operações de linha de comando e que orienta você fora desse problema também pode ser apreciar.

A boa notícia é que o comando updateaccountpassword pode criptografar novas senhas de contas de pool de aplicativos sem precisar descriptografar as senhas antigas. Por isso, use esse comando para atualizar todos os pools de aplicativos que usam contas de domínio. Isso deve ter cuidado da maioria, se não todos, senhas corrompida. Infelizmente, você não pode usar esse comando para atualizar os pools de aplicativos que usam a conta Serviço de rede. Essa conta não requer uma senha, portanto, o comando updateaccountpassword não aplicável.

Curiosamente, a conta do serviço de rede pode ser associada com dados de senha no banco de dados de configuração. Novos pools de aplicativos que usam o serviço de rede não têm senha, mas se você nunca alterar o pool de aplicativos para usar uma conta de domínio e, em seguida, reverter novamente, o serviço de rede herda referência de senha da conta de domínio. SharePoint não definir a senha como nulo (prática de codificação inválido) e esses dados rubbish agora faz com que o problema.

É um componente ironic que os clientes deveriam para jogar fora seus bancos de dados de configuração porque rubbish e dados totalmente inúteis não podem ser descriptografados! Se tiver sorte, você pode alterar a configuração de pool de aplicativo na Administração Central (_admin/FarmCredentialManage­ment.aspx) e especificar uma conta de domínio. Se você estiver unlucky, você encontrar o erro de criptografia/descriptografia exibido na Figura 6 . Você não pode alterar a conta na Administração Central, você não pode usar o comando updateaccountpassword, você não pode executar o SharePoint Products e o Assistente de configuração de tecnologias e você não pode atualizar as credenciais do farm usando o comando updatefarmcredentials. Agora o que fazer?

fig06.gif

A Figura 6 problemas causados por senha do serviço de rede lixo deixadas para trás no banco de dados de configuração

Para resolver esse problema, você precisa de uma ferramenta que vai diretamente para o banco de dados de configuração e remove o lixo eletrônico, como a ferramenta Redefinir senha AppPool, ilustrado na Figura 7 e incluídos com código-fonte no material complementar. Essa ferramenta é muito simples. Ele recebe os dados de pools de aplicativos que usam contas com senhas criptografadas associadas diretamente fora do banco de dados configuração e usa o modelo de objeto SharePoint para determinar se a senha do pool de aplicativo pode ser descriptografada.

fig07.gif

A Figura 7 Resetting corrompido senhas para nulo

Se acessando a senha através do modelo de objeto falhar com uma exceção de argumento, a senha está corrompida. Aqui, a ferramenta lhe a oportunidade de substituir da matriz a senha de valores de bytes criptografados com uma referência nula e salva que as alterações de volta para o banco de dados de configuração. Seqüências vazias não precisa ser descriptografada e, portanto, não causar uma exceção de argumento. Problema resolvido.

Para concluir o processo de reparo, recomendo que você atualizar as credenciais do farm e, subseqüentemente, todas as contas de pool aplicativo usando o Stsadm.exe e administração central. O farm é novamente em um estado consistente e você não precisa jogar fora seu banco de dados de configuração.

Conclusão

Apesar do fato de alteração de farm credenciais e senhas de contas de segurança é um processo tedioso e propenso a erros, você precisa não medo que alterar credenciais do farm corromperá o farm irreparably. O banco de dados de configuração pode ser reparado, mesmo se você perder sua chave de credencial atual. Você simplesmente precisa redefinir as senhas afetadas, e isso é possível por meio da ferramenta Stsadm.exe padrão ou uma ferramenta de banco de dados de nível inferior, como o Redefinir senha AppPool. Para manter alterar credenciais do farm e contas de segurança com freqüência, use senhas de alta segurança e não usar o serviço de rede como uma conta de segurança porque ela complica a configuração de farm e solução de problemas. Use contas de domínio dedicado.

Agora que você tenha solucionado os riscos de corrupção de banco de dados por meio de alterações de senha, você poderá se concentrar sua atenção no problema real na arquitetura de segurança do SharePoint: a arquitetura atual não acomoda alterações de senha bem. Você precisará aplicar muitos comandos em uma ordem específica mais ou menos dependendo dos tipos serviço que você deve atualizar no farm.. Alguns comandos possuem opções perigosas; alguns não. Alguns comandos podem corromper o banco de dados de configuração; outros são inofensivos. Alguns serviços precisam ser atualizados globalmente em toda a farm. e outros locais para um servidor específico.

Em qualquer caso, sobrecarga administrativa é alta devido às complexidades envolvidas, e a segurança é geralmente baixa devido a alteração e agendas, as senhas de baixa segurança e scripts que lidam com senhas em texto não criptografado. Em minha próxima coluna, mostrarei como lidar com esses problemas e elimine-as, e para todos os serviço tipos, incluindo os não ainda desenvolvido, que seus requisitos de atualização de senha. Não há mais alterações de senha (manuais)!

pav Cherny é um especialista IT e autor especializado em tecnologias Microsoft para colaboração e a comunicação unificada. Suas publicações incluem informes oficiais, manuais de produto e livros com um foco em operações de TI e administração do sistema. Pav é presidente da Biblioso Corporation, uma empresa especializada em serviços de documentação e localização gerenciados.