Escolar Documentos
Profissional Documentos
Cultura Documentos
Aplica-se a:
Microsoft Windows XP e a famlia Microsoft Windows Server 2003 Unidades de disco com sistema de arquivos NTFS Microsoft Visual Studio .NET
Introduo
Segurana importante. Ningum tem dvidas quanto a isso e todos passam um bom tempo pensando sobre problemas de segurana, bugs de segurana e usurios maliciosos. Contudo, poucos esto dispostos a esforar-se para erradicar o principal motivo pelo qual vrus e cracks de e-mail em geral so to perigosos: todos se conectam como um usurio membro do grupo Administrador local e a maioria dos servios so executados como administradores. O princpio do "privilgio mnimo" afirma que trabalhar com o mnimo de direitos necessrios para executar uma ao minimiza os danos quando algo ruim acontece, seja devido a um anexo danificado em um e-mail recebido pelo Outlook ou um servio que apresenta um risco de segurana. Executando programas sem privilgios administrativos, sempre que possvel, voc garante um ambiente mais seguro. Normalmente, os softwares disponveis atualmente exigem privilgios elevados para que funcionem corretamente. Para livrarem-se desse problema, os desenvolvedores devem dar o primeiro passo e deixar de executar as tarefas como administradores. Assim, se todos ns sempre nos logarmos, desenvolvermos e testarmos os aplicativos como usurios no administrativos, os softwares que produzirmos tero mais chances de serem executados sem as exigncias artificiais dos privilgios elevados. At que os desenvolvedores corrijam os softwares que criam e distribuem, os usurios tambm nunca podero trabalhar em um ambiente seguro!
Tarefas como registro global, instalao de novos aplicativos e reconfigurao de dispositivos, exigem privilgios administrativos. A menos que um administrador gerencie seu computador em tempo integral, voc dever ter uma conta administrativa para executar essas tarefas. De agora em diante, parte-se do pressuposto de que essa conta de usurio ser chamada de 'Administrador' e que estar no computador local, ao invs de uma conta de domnio. Contudo, o usurio poder, da mesma maneira, ser chamado de 'root' (raiz), desde que seja membro do grupo Administradores do computador local. Parte-se tambm do pressuposto de que voc esteja trabalhando em um domnio Windows e que seu login principal seja uma conta nesse domnio, no formato DOMNIO\nome_de_usurio; contudo, isso no uma exigncia e ambas as contas poderiam estar no mesmo computador. Alterao do status da conta Aps confirmar que voc ainda possui acesso a uma conta administrativa, v at o Gerenciador de usurios, remova sua conta de usurios do grupo Administradores e, em seguida, adicione-a ao grupo Usurios e a quaisquer outros grupos com privilgios reduzidos que forem apropriados. Para adicionar sua conta de usurio ao grupo Usurios, voc deve antes iniciar o Microsoft Management Console (MMC) e o snap-in de gerenciamento de usurio. Nota: Na maioria das configuraes de rede, o grupo Usurios do domnio j membro do grupo Usurios local, assim sua conta de domnio j estar no grupo Usurios local.
Agora voc est pronto para adicionar sua conta ao grupo Usurios.
2. 3. 4. 5.
Acrescente a conta ao grupo Usurios. Acrescente a conta ao grupo Usurios de depurao (Debugger Users). Remova a conta do grupo Administradores. Adicione a conta a qualquer outro grupo apropriado, de acordo com a tabela a seguir:
Se voc:
Usar Terminal Services para se conectar ao computador remotamente Desenvolve e depura aplicativos Web locais e estiver usando o Windows Server 2003 Nota: Se voc desenvolve e depura aplicativos Web locais no Windows XP Professional, adote o procedimento a seguir para adicionar o privilgio Fazer logon como um trabalho em lotes (Log on as Batch Job) sua conta.
Ser exibido o Editor de objetos de diretiva de grupo. 2. Expanda o n Configurao do computador para exibir os ns Configuraes do Windows, Configuraes de segurana, polticas locais e Atribuio de direitos ao usurio. Adicione a conta DOMNIO\nome_de_usurio restrita ao grupo Logon como um trabalho em lotes (Log on as a batch job). Faa logoff e volte a fazer logon como esse usurio, para que as alteraes sejam ativadas.
3. 4.
Como garantir o acesso a arquivos e compartilhamentos Enquanto voc estava conectado como membro do grupo Administradores local, talvez tenha criado diretrios para seu uso pessoal. Talvez voc tenha tambm criado compartilhamentos de rede que desejava que sua conta de usurio tivesse acesso, mas esses compartilhamentos de rede foram criados com acesso concedido somente ao grupo Administradores local. Voc deve garantir que os diretrios que criou na unidade local, fora do diretrio do seu perfil, ainda estejam disponveis para voc e de propriedade de sua conta de usurio.
ou
O programa runas.exe pedir uma senha e executar qualquer linha de comando que voc tiver passado como uma nova sesso de login. Essa uma maneira prtica de executar programas como o regedit e o iexplore, ou mesmo de abrir uma nova janela de comando; todos aqueles comandos filhos estaro sendo executados como aquele usurio. Como se trata de um novo login, no herda identificadores, variveis de ambiente ou o diretrio de trabalho atual de seu ponto de invocao; se voc quiser executar programas que no estiverem na lista de diretrios do outro usurio, dever fornecer o caminho completo at eles.
2. 3. 4.
Ao administrativa
Opes de acessibilidade 802.11 Monitor Adicionar ou remover programas Console Vdeo
Programa do
access.cpl apgui.cpl appwiz.cpl console.cpl DESK.cpl
1
SCSI, PCMCIA, e dispositivos de fita Assistente para adicionar novo hardware Internet Configuraes Regionais Controladores de jogo Mouse, Fontes, Teclado, Impressoras Multimdia e sons Modems Rede Gerenciamento de logon do XP ODBC Opes de energia Portas Dispositivos, Servios, Servidor Sistema Telefonia Data/Hora UPS
1
TIMEDATE.cpl ups.cpl
1
Ao administrativa
Certificados de Usurios Autoridade de certificao Modelos de certificados Servio de indexao
Gerenciamento do computador Editor de objetos de diretiva de grupo Gerenciador de dispositivos Desfragmentador de disco Sistema de arquivos distribudos Gerenciamento de disco Domnios e relaes de confiana do Active Directory Configuraes padro de segurana de domnio Usurios e computadores do Active Directory Sites e servios do Active Directory Visualizar eventos (Event Viewer) Servidor de arquivos Pastas compartilhadas Editor de objetos de diretiva de grupo Servio de autenticao da Internet Usurios e grupos locais Armazenamento removvel Solicitaes do operador do armazenamento removvel Desempenho Roteamento e acesso remoto Conjunto de diretivas resultante Configuraes locais de segurana Servios Telefonia Configurao e conexes de servios de terminal (Terminal Services)
reas de trabalho remotas Infraestrutura de gerenciamento do Windows (Windows management infrastructure WMI)
1
Credenciais de rede
Quando uma janela ou sesso de logon for aberta como administrador, as credenciais de rede padro no sero as mesmas da conta de domnio normalmente usada para fazer logon. Como a maioria das redes expe recursos crticos (tais como compartilhamentos de arquivos) somente a contas de domnio, necessrio estabelecer credenciais de rede alternativas. H duas maneiras de se fazer isso: Voc pode abrir uma nova janela de comando e, em seguida, definir credenciais padro alternativas para serem usadas na rede. Outra opo permitir que servidores ou compartilhamentos individuais sejam acessados com outro nome de usurio e senha. Quando voc estiver executando um prompt de comando, poder ser til alterar seu ambiente para indicar claramente que se trata de uma janela com privilgios administrativos. Muitas pessoas usam um dos seguintes mtodos: Definir o prompt em que os comandos so inseridos como exclusivo, como PROMPT ADMIN $P$G Definir uma cor diferente para o prompt, como um fundo vermelho brilhante com texto preto, usando o comando COLOR c0 Definir a barra de ttulo com texto exclusivo, usando um comando como title Admin Window
Abertura de uma nova janela de comando para acessar compartilhamentos de servidores individuais
1. Abra uma nova janela de comando com o comando /user:administrator cmd.exe.
2.
Para cada servidor de rede que precisar de um conjunto alternativo de credenciais, use o comando net use /user:DOMAIN\username \\server nessa janela de shell.
Outras formas do comando net use permitem que voc mapeie uma unidade de rede em uma letra persistente ou fornea as credenciais de domnio para autenticar solicitaes de acesso vindas desse computador. A tabela a seguir relaciona alguns comandos net use. Depois que voc tiver concludo esses comandos, os aplicativos podero ser instalados dos compartilhamentos remotos, como normalmente seriam.
Ao
Relaciona as conexes
Instalar software quando no se tem privilgios administrativos pode ser complicado. Por exemplo, a insero de um disco de instalao inicia a instalao como o usurio que est logado atualmente, que provavelmente no possui as permisses necessrias para instalar o aplicativo. Para evitar isso, voc pode: Executar o programa de instalao (que geralmente o setup.exe) com o comando RunAs.
Isso criar uma instncia do aplicativo Adicionar ou remover programas sendo executado como o usurio Administrador. Opte por instalar para todos os usurios deste computador se o aplicativo oferecer essa opo, ou o usurio Administrador poder ser a nica pessoa que conseguir execut-lo aps a concluso da instalao.
Controles ActiveX
Muitos sites da Web principalmente de intranets corporativas costumam exigir acesso administrativo para instalar seus controles ActiveX e no oferecer suporte para a instalao por usurios restritos. A maneira mais fcil de iniciar o Internet Explorer como Administrador a seguinte: 1. Clique com o boto direito sobre o cone. O cone poder estar na barra Quick Launch, na rea de trabalho ou no menu Iniciar.
2.
Exemplo: executar o programa cacls.exe para adicionar permisses para um usurio em um diretrio Execute o calcs.exe com as flags para conceder recursivamente privilgios de escrita . runas /user:Administrator "cacls.exe directory /t /e /g domain\username:w" No Windows Server 2003, insira o nome do diretrio completo, usando barras de forma invertida (/) No Windows XP Professional, talvez seja preciso omitir as aspas finais devido a diferenas no programa cacls.exe entre as verses do sistema operacional. Verifique o resultado do comando runas.exe e, se contiver aspas extras (como mostrado abaixo), remova as aspas finais da linha de comando acima. Attempting to start cacls.exe c:\foo\ /t /e /g domain\username:w" as user "MACHINE\Administrator" ...
Como ltimo recurso, voc pode usar o runas.exe para iniciar o programa como o usurio Administrador local; contudo, tenha cuidado afinal, se o programa no for suficientemente bem-comportado para reduzir corretamente em um ambiente menos privilegiado, o quo confivel ser em um ambiente com privilgios mais altos? Infelizmente, muitos programas no foram testados para serem executados como um usurio alm daquele que o instalou, principalmente em contas menos privilegiadas; talvez voc constate que ter que executar o programa como Administrador local para conseguir realizar o trabalho. Isso ainda um ambiente melhor do que executar todos os softwares e fazer logon como membro do grupo Administradores local, mas voc deve tentar entrar em contato com a empresa que desenvolveu o software e comunic-los sobre os bugs, para que possam corrigi-los na verso seguinte. A nica maneira de os usurios serem capazes de trabalhar em um ambiente de login mais seguro e ainda assim permanecerem to produtivos quanto hoje, os desenvolvedores corrigirem seus softwares. Desenvolvimento de software O Visual Studio .NET compatvel com o programa Windows Logo, por isso era de se esperar que funcionasse como um usurio restrito. Contudo, muito embora a grande maioria de todos os recursos funcione em permisses limitadas, h algumas tarefas que so ligeiramente mais difceis nesse modelo, seja devido a limitaes do sistema operacional ou natureza bsica das tarefas que esto sendo executadas. As sees a seguir oferecem solues simples para todas as tarefas difceis em um processo de desenvolvimento; nas prximas verses do ambiente de desenvolvimento integrado (IDE), esperamos construir esses recursos diretamente no shell e reduzir as exigncias sempre que possvel. Estamos trabalhando muito nas verses futuras tanto do sistema operacional como nas ferramentas de desenvolvimento, para facilitar a execuo dessas tarefas de maneiras equivalentes e que no exijam privilgios administrativos. Etapas ps-build (registro) No Visual C++ clssico, regsvr32.exe. No mundo Visual Basic .NET e do Visual C# .NET, so as montagens de registro para interop. Seja qual for o sistema de projeto que estiver determinando isso, h muitas ferramentas que exigem o acesso de gravao em HKLM\Software\Classes para registrar componentes COM e bibliotecas de tipo (type libraries). Se o seu aplicativo estiver atualmente realizando etapas de registro que exijam permisso de escrita a partes protegidas do registro, voc dever antes determinar se realmente precisa fazlos. Lembre-se que:
HKCU\Software\Classes pode ser alterado por qualquer usurio e exibido no HKCR da mesma forma que HKLM\Software\Classes, embora somente para o seu usurio. Nota: Os detalhes da composio de HKEY_CLASSES_ROOT podem ser encontrados em ms-help://MS.VSCC/MS.MSDNVS/sysinfo/regapi_0htl.htm
Voc no deve se basear no regsvr32.exe como mtodo de instalao para o usurio final dos componentes COM clssicos. aceitvel alterar o registro do seu aplicativo para por usurio (per-user), porque o mtodo DllRegisterServer somente deve ser usado para fins de depurao e desenvolvimento pessoais. Ao desenvolver aplicativos para usurios finais, voc deve criar todas os requisitos de registro nas tabelas do arquivo .MSI do Windows Installer, para que possa lidar com questes tais como vrios programas gravando nas mesmas chaves de registro e sendo instalados ou desinstalados em ordens variadas.
Infelizmente, muitas das ferramentas e APIs do sistema operacional permitem o registro somente em HKLM\Software\Classes; o registro na biblioteca de tipos (type library) um exemplo tpico disso. Nesses casos, as opes mais viveis so usar runas /user:administrator cmd.exe, alterar o diretrio para o diretrio de sada e executar as etapas de registro manualmente, ou eliminar toda a dependncia. Infelizmente, a eliminao da dependncia no registro global complexa o bastante para merecer um artigo totalmente dedicado ao assunto. Uma alternativa criar arquivos manifesto personalizados para contornar todas as etapas de registro, mas isso tambm est fora dos propsitos deste artigo; h mais informaes sobre isso em ms-help://MS.VSCC/MS.MSDNVS/sbscs/sidebysideref_03ol.htm. A maneira menos complicada de contornar as limitaes do registro global executar as etapas de registro com sua conta administrativa. A tabela a seguir mostra tarefas de registro ps-construo (post-build registration) e seus registros. Execute-as na primeira vez e a partir de ento voc dever ser capaz de construir e executar normalmente. Lembre-se, no entanto, que voc poder ter que refazer a etapa de registro sempre que mudar entre as configuraes Debug e Release, e quando fizer alteraes no aplicativo que tiverem impacto sobre os itens que estiverem sendo registrados.
Administradores local. Voc ainda ser capaz de depurar aplicativos locais e gerenciados que tiver iniciado a partir do ambiente de desenvolvimento, ou que j estiverem em execuo como seu usurio no-administrativo. Se voc precisar depurar servios ou outros programas para que funcionem em outros contextos de segurana, d a si mesmo o privilgio do SO para aplicativos locais, adicione sua conta ao grupo Administradores local ou use RunAs para iniciar o Visual Studio .NET como usurio administrador local. Isto posto, h muitos mtodos para iniciar seu aplicativo como seu prprio usurio, ambos permitindo a depurao e ajudando a garantir que seu aplicativo funcionar corretamente em um ambiente com privilgios limitados.
conta grave em qualquer lugar da WebRoot do IIS. A maneira alternativa criar o diretrio como esse usurio e, em seguida, adicionar uma Virtual Root. Em ambos os casos, depois que tiver concludo uma dessas opes, voc poder criar o novo aplicativo na caixa de dilogo Criar novo projeto do Visual Studio .NET como o usurio restrito.
Depurao de aplicativos para a Web H duas condies para depurar aplicativos para a Web: executar o ASP.NET como sua conta de login restrita e permisses de diretrios. Para o conjunto de diretrios a que voc ter que adicionar a permisso de leitura ou gravao, consulte a tabela a seguir.
Diretrio
%WINDIR%\Temp %INSTALLROOT% %INSTALLROOT%\ASP.NET Temporary Files
Nota: %INSTALLROOT% segue o formato D:\WINDOWS\Microsoft.NET\Framework\v1.0.3705 e %WINDIR% segue o formato D:\WINDOWS. Por padro, com o login de um usurio restrito, no possvel depurar aplicativos da Web porque o usurio que estiver executando o depurador no ser membro do grupo apropriado para depurar programas de outros usurios (Administradores), e o servidor Web ter iniciado o ASP.NET como a conta NETWORK_SERVICE. Se voc no quiser conceder essa participao do login no grupo Administradores local ou executar o depurador como o Administrador local, ter que alterar a conta que estiver sendo usada pelo ASP.NET. No Windows XP Professional, edite o machine.config como mostrado abaixo e coloque seu nome de usurio e senha em texto puro. Isto apresenta a possvel desvantagem de exigir que todos os aplicativos ASP.NET dessa mquina sejam executados como sua conta de usurio, mas o melhor mtodo para o IIS 5 e permite que voc depure e crie aplicativos para a Web da mesma maneira que fazia anteriormente.
Nota de segurana Se voc fizer isso, o arquivo machine.config dever estar em uma unidade NTFS e ter um conjunto ACL restritivo, ou qualquer pessoa que fizer logon no computador poder ver sua senha. Mesmo fazendo isso, todos os usurios do grupo Administradores sero capazes de ler, independente do conjunto ACL. Como permitir que o ASP.NET funcione como outro usurio no Windows XP Professional Como um Administrador, edite os atributos do arquivo "%INSTALLROOT%\Config\machine.config" na tag processModel, como mostrado: <processModel enable="true" userName="DOMAIN\username" password="MyPswd2" ... / > Nota: %INSTALLROOT% segue o formato D:\WINDOWS\Microsoft.NET\Framework\v1.0.3705
Como permitir que o ASP.NET funcione como outro usurio no Windows Server 2003
No Windows Server 2003 e no IIS 6, h um novo recurso chamado pools de aplicativos (application pools). Cada pool pode ser configurado para funcionar como um usurio diferente, desde que o usurio seja membro do grupo IIS_WPG. Podem ser adicionados virtual roots a um pool de aplicativos, e o depurador ser ento capaz de anexar ao mesmo se o pool estiver funcionando como o mesmo usurio que tiver iniciado o depurador. Esse mecanismo oferece uma maneira fcil de configurar um ambiente de execuo alternativo, proteger com segurana as credenciais do usurio e definir virtual roots adicionais.
Nota: Essa conta deve ser membro do grupo IIS_WPG e ter as permisses de acesso listadas acima para executar aplicativos ASP.NET.
Instalando distribuies dos projetos output Instalando o projeto output de distribuio envolve as mesmas restries que a instalao de um aplicativo a partir de uma rede, como mencionado anteriormente sobre as ferramentas RunAs.exe e MSIEXEC. Instale-o como um aplicativo normal, para todos os usurios, ou poder ser difcil inici-lo ou depur-lo.