
Temos uma caixa do Windows 2008 R2 executando o IIS 7.5 que, devido a um requisito de segurança, precisamos configurar o Serviço de Publicação na World Wide Web para ser executado no IUSR. Posso conceder permissões de pasta IUSR perfeitamente. Mas quando tento selecionar IUSR para a conta ser executada no World Wide Web Publishing Service, recebo uma mensagem dizendo que o usuário não pode ser encontrado. Atualmente temos o serviço rodando em “Conta do Sistema Local”. Qualquer ajuda seria muito apreciada.
Responder1
IUSR é o contexto de segurança usado quando visitantes anônimos navegam em seu site. Eu não recomendaria usá-lo para o serviço WWW.
Antes do IIS7.5, uma conta de serviço (IWAM) seria criada para você, sendo uma conta local além da conta IUSR local. O novo modelo deve ser executado com diferentes identidades de pool de aplicativos para que um site não possa afetar outro na caixa se um site for comprometido. Eu provavelmente consideraria uma conta local sem privilégios para o serviço WWW, para limitar as credenciais a essa caixa específica.
Testei usando um usuário local para WWW e o Serviço de Ativação de Processos do Windows e continuei recebendo mensagens de erro de "esta conta não tem privilégios suficientes" para o Serviço de Ativação de Processos do Windows. Então, adicionei a conta local ao IIS_IUSRS e a qualquer outro grupo relacionado ao IIS, entrei na política de segurança local e adicionei os privilégios na Atribuição de direitos do usuário da Política de segurança local:
- Substitua um token de nível de processo
- Ajustar cotas de memória para um processo
- Gerar auditorias de segurança
- Faça logon como um trabalho em lote
Isso não funcionou, então adicionei "Criar objetos globais" depois de encontrar algo no Google sugerindo que isso poderia ajudar. Não aconteceu. Mas então chegou a hora de voltar para casa, então desfiz tudo (mesmo sendo um ambiente de teste).
Eu então tentei
- Representar um cliente após autenticação
Sem alegria. Os serviços são executados como Sistema Local eo link em que eu estava trabalhandodiz,
A conta Sistema Local é uma conta poderosa que tem acesso total ao computador e atua como o computador na rede. Se um serviço usar a conta Sistema Local para fazer logon em um controlador de domínio, esse serviço terá acesso a todo o domínio. Alguns serviços são configurados por padrão para usar a conta Sistema Local e isso não deve ser alterado. A conta Sistema Local não possui uma senha acessível ao usuário.
Desculpe, tentei, mas acho que você está sem sorte. Você certamente poderia tentar conceder a uma conta os privilégios listadosaqui:
- SE_ASSIGNPRIMARYTOKEN_NAME (desativado)
- SE_AUDIT_NAME (ativado)
- SE_BACKUP_NAME (desativado)
- SE_CHANGE_NOTIFY_NAME (ativado)
- SE_CREATE_GLOBAL_NAME (ativado)
- SE_CREATE_PAGEFILE_NAME (ativado)
- SE_CREATE_PERMANENT_NAME (ativado)
- SE_CREATE_TOKEN_NAME (desativado)
- SE_DEBUG_NAME (ativado)
- SE_IMPERSONATE_NAME (ativado)
- SE_INC_BASE_PRIORITY_NAME (ativado)
- SE_INCREASE_QUOTA_NAME (desativado)
- SE_LOAD_DRIVER_NAME (desativado)
- SE_LOCK_MEMORY_NAME (ativado)
- SE_MANAGE_VOLUME_NAME (desativado)
- SE_PROF_SINGLE_PROCESS_NAME (ativado)
- SE_RESTORE_NAME (desativado)
- SE_SECURITY_NAME (desativado)
- SE_SHUTDOWN_NAME (desativado)
- SE_SYSTEM_ENVIRONMENT_NAME (desativado)
- SE_SYSTEMTIME_NAME (desativado)
- SE_TAKE_OWNERSHIP_NAME (desativado)
- SE_TCB_NAME (ativado)
- SE_UNDOCK_NAME (desativado)
Mas pode ser mais fácil obter um pedaço de papel da Microsoft dizendo para você não fazer isso.
Responder2
Também estou procurando uma maneira de fazer isso. Suspeito que o OP tenha o mesmo requisito que eu. Isso seria uma exigência do JITC do DoD. Aqui está:
Check Content:
1. Go to Start, Administrative Tools, then Services.
2. Right click on service name World Wide Web Publishing Service, Select Properties, then select the Log On tab.
3. The username next to this account is the web service account ID. If any other user than IUSR is listed, continue to step 4. If the service account IUSR is used to run the service, this is not a finding.
4. Open a command prompt and enter Net User [service account ID], press Enter.
5. Verify the values for Password last set and Password expires to ensure the password has been changed in the past year, and will be required to change within the coming year.
Fix Text:
Configure the service account ID, used to run the web-site, to have its password changed at least annually or use the service account IUSR.
Responder3
Muitosníveis de erro aqui.Versão bem curta:Não faça isso!
Suspeito fortemente que você está interpretando mal o requisito de segurança ou que ele foi escrito sem levar em conta a forma como o IIS foi projetado.
O WAS precisa ser executado como Sistema Local. Ponto final. Não é acessível remotamente, portanto tem uma superfície de ataque muito limitada, ou seja, administradores de computador locais.
Um dos motivos pelos quais ele é executado como Sistema Local é que ele divide applicationhost.config em partes distintas para cada pool de aplicativos, que obtém sua própria cópia isolada em Inetpub\Temp\AppPools.
Outra é que ele inicia processos de trabalho do pool de aplicativos (W3WPs) com identidades específicas configuradas pelo administrador da web - ou seja, se você disser que um pool de aplicativos tem uma identidade básica de ApplicationPoolIdentity, essa é uma conta exclusiva de baixo privilégio usada como identidade básica do processo quando não se passar por outra pessoa.
Outra é que não há suporte para alterar a identidade do WAS e foi projetado para ser executado como Sistema Local. É um processo privilegiado.
O serviço WWW, que era InetInfo e suportava processamento de páginas em tempos passados (ou seja, mais recentemente no período do Windows 2000), mas não é mais, pode ser o alvo da recomendação.
Mas ele não está mais envolvido no processamento de páginas (IIS 6+), apenas na configuração do HTTP.SYS para uso futuro pelos W3WPs.
Portanto, os pools de aplicativos (especificamente, processos de trabalho associados) fazem o trabalho real, e você pode configurar sua identidade básica por meio da guia Pool de aplicativos e a conta específica usada para trabalho anônimo por meio das configurações Autenticação -> Anônimo.
Sem ver o texto escrito ou compreender sua fonte, algo parece malformado em algum lugar. Ou como se tivesse sido escrito por alguém que soubesse um pouco sobre os serviços padrão do Win32, mas não muito sobre o IIS.
Para proteger e isolar um site IIS e aparentemente atingir a intenção da orientação (se não o que foi escrito), tudo o que você precisa fazer é:
- Use a identidade do pool de aplicativos como conta anônima (ou IUSR se sua política exigir isso, mas reduz a segurança (pois é uma conta compartilhada comum, em vez de uma conta exclusiva por site)
- Defina permissões no conteúdo para que apenas AppPool\AppPoolName do IIS tenha permissão de leitura para as pastas de conteúdo
E pronto.