28 agosto 2008

Bloqueio do aplicativo com diretivas de restrição de software

Caros amigos leitores,

Em alguns comentarios no meu blog, comenta-se alem do bloqueio do SKYPE (o post encontra-se neste blog). Segue abaixo um ótimo material de como bloquear muitos outros softwares não autorizados pela politica de utilização.

Boa leitura...

Quando os profissionais de TI procuram reduzir o custo total de propriedade, ou TCO, das máquinas desktop, existem duas estratégias principais que normalmente vêm à mente. A primeira é retirar as contas dos usuários de desktop

do grupo Administradores. E a segunda é limitar os aplicativos que os usuários podem executar. Abordar esses problemas pode ser um desafio e tanto em um ambiente corporativo, mas o Windows Vista® oferece algumas tecnologias capazes de ajudá-lo a alcançar essas metas.

O Windows Vista e seu recurso UAC (Controle de Conta de Usuário) deram um enorme passo na direção de ajudar os profissionais de TI na execução dos usuários corporativos como membros do grupo Usuários (Usuários Padrão). O UAC alterou o contexto de segurança padrão para que todos os aplicativos fossem um usuário, e não um administrador. Essa migração para o grupo Usuários continua sendo uma tarefa formidável, mas à medida que o setor se ajustar a esse novo paradigma, a tarefa ficará mais fácil com o passar do tempo.

Depois de analisar os desafios da migração dos usuários para o grupo Usuários ou, às vezes, durante esse processo, muitos administradores catalogam quais aplicativos os usuários precisam executar e consideram as etapas necessárias para permitir exclusivamente esses aplicativos. O recurso da diretiva de restrição de software foi projetado para ajudar os profissionais de TI a fazer exatamente isso.

Basta você especificar quais são os aplicativos que têm permissão de execução e, em seguida, implantar a diretiva usando a Diretiva de Grupo. A imposição dessa diretiva em toda a empresa pode reduzir o TCO, porque esse bloqueio limitará os problemas relacionados a aplicativos para os quais não há suporte. (Além disso, é possível usar as diretivas de restrição de software de formas interessantes e extremadas, como abordamos na barra lateral "A diretiva de restrição de software básica".)

Como funciona a diretiva de restrição de software

A diretiva de restrição de software pretende controlar exatamente o código que um usuário pode executar em uma máquina com Windows Vista. Você, o administrador, cria uma diretiva que define o que pode (ou não pode) ser executado no ambiente. Depois, essa diretiva será avaliada sempre e onde o código for executado. Isso inclui o momento de criação do processo, em uma chamada para ShellExecute, e quando um script for executado. (Veremos isso mais detalhadamente daqui a pouco.)

Se for determinado que um aplicativo tem permissão de execução, ele será iniciado. Mas, se for determinado que um aplicativo não tem permissão de execução, ele será bloqueado e o usuário, notificado. Por exemplo, se tentasse executar Paciência no menu Iniciar e isso não fosse permitido, você receberia uma caixa de diálogo semelhante à mostrada na Figura 1.

Figura 1 Uma caixa de diálogo é exibida quando um aplicativo é bloqueado (Clique na imagem para uma visão ampliada)

A interface do usuário para definir uma diretiva de restrição de software é exposta no GPOE (Editor de Objeto de Diretiva de Grupo), onde a diretiva de bloqueio é criada. Há vários métodos para definir qual código pode ser executado e qual não pode. Assim que a diretiva for concluída e testada, você poderá implantá-la.

Definindo a diretiva de restrição de software

A primeira grande decisão que você tomará, uma decisão que afetará drasticamente a forma como a diretiva de restrição de software funcionará no ambiente, é escolher um tipo de regra padrão. As diretivas de restrição de software podem ser implantadas de dois modos: lista de permissões ou lista de negações. Basicamente, você está escolhendo se deseja criar uma diretiva que descreve todos os aplicativos com permissão de execução no ambiente ou uma diretiva que define todos os aplicativos que não podem ser executados.

No modo Lista de Permissões, a regra padrão na diretiva é Restrito, que bloqueará todos os aplicativos que não tenham permissão de execução explícita. No modo Lista de Negações, a regra padrão na diretiva é Irrestrito, que restringe apenas os aplicativos listados explicitamente por você.

O modo Lista de Negações, como você pode imaginar, é uma abordagem irreal caso você esteja em busca de uma redução maior do TCO e mais benefícios de segurança resultantes de um bloqueio de aplicativo. Criar e manter uma lista extensa que bloqueie todo malware e demais aplicativos problemáticos seria praticamente impossível; por isso, recomendamos que a diretiva de restrição de software seja implementada no modo Lista de Permissões, que significa uma regra padrão Restrito.

Inventariando aplicativos no ambiente

Caso pretenda criar uma diretiva que especifique o que os aplicativos podem executar, você precisa determinar exatamente quais são os aplicativos dos quais os usuários precisam. O recurso da diretiva de restrição de software oferece um recurso de registro em log avançado com uma diretiva muito simples para compreender exatamente quais são os aplicativos em execução no ambiente.

Em um conjunto de máquinas de exemplo no ambiente, implante a diretiva de restrição de software com a regra padrão definida como Irrestrito e não se esqueça de remover todas as demais regras adicionais. O plano é habilitar a diretiva de restrição de software, mas não permitir que ela restrinja aplicativos; pelo contrário, você a está usando apenas para monitorar o que está em execução.

Em seguida, crie o seguinte valor do Registro para habilitar o recurso do registro em log avançado e defina o caminho em que o arquivo de log deve ser gravado:

"HKLM\SOFTWARE\Policies\Microsoft\Windows\Safer\
CodeIdentifiers"
String Value: LogFileName, <path to a log file>


Agora, quando um aplicativo é executado e a diretiva de restrição de software, avaliada (avaliada mesmo que haja permissão de execução para tudo), uma entrada é gravada no arquivo de log.



Cada entrada de log inclui o chamador da diretiva de restrição de software e a PID (identificação do processo) do processo de chamada, o destino avaliado, o tipo de regra de restrição de software atingido e um identificador da regra. Eis uma entrada de exemplo gravada quando um usuário clica duas vezes em notepad.exe:





explorer.exe (PID = 3268) identified
C:\Windows\system32\notepad.exe as Unrestricted using
path rule, Guid =
{191cd7fa-f240-4a17-8986-94d480a6c8ca}


Esse arquivo de log representa todas as partes do código executável que a diretiva de restrição de software verificará quando for habilitada e definida para bloquear aplicativos. Isso significa que você deve optar por uma das entradas no arquivo de log, independentemente de serem levadas em conta na Lista de Permissões. Observe que você verá vários binários verificados que fazem parte do Windows® e que são obrigatórios ao funcionamento do sistema.



A técnica de registro de log que descrevemos aqui oferece uma forma clara para que você compreenda exatamente quais aplicativos a diretiva de restrição de software encontrará no ambiente. Mas essa não é a única maneira de realizar essa tarefa.



O Inventory Collector incluído como parte do Kit de Ferramentas de Compatibilidade de Aplicativos da Microsoft® 5.0 oferece a possibilidade de inventariar os aplicativos que estão sendo usados no ambiente. Essa ferramenta oferece várias formas diferentes para que você saiba quais são os aplicativos instados no ambiente, além de também consolidar os resultados em um banco de dados central.



Criando regras adicionais



Agora que conta com uma lista dos aplicativos que devem ter permissão de execução no ambiente, você está pronto para criar as regras reais que permitirão a execução desses aplicativos. O recurso da diretiva de restrição de software usa duas formas para identificar a diretiva – uma baseada nas propriedades criptográficas de um aplicativo (como, por exemplo, seu hash) e outra que define um caminho confiável ou pasta em que os aplicativos confiáveis devem residir.



A Figura 2 mostra onde você adicionaria regras a fim de permitir a execução dos aplicativos no nó Diretivas de Restrição de Software do GPOE (gpedit.msc). A forma mais direta de definir os aplicativos no ambiente é criando uma regra de hash para todos os binários únicos encontrados durante a fase de registro em log.





Figura 2 Usando gpedit.msc para criar diretivas de restrição de software (Clique na imagem para uma visão ampliada)



Como o hash é um valor exclusivo retornado para um determinado conjunto de bits, cada binário da diretiva terá um hash diferente. Essa abordagem é especialmente segura e só permitirá a execução dos binários específicos da diretiva.



Obviamente, existem algumas desvantagens nessa abordagem. Por exemplo, o ambiente poderia ter facilmente muitos milhares de binários. Poderia ser difícil criar todas essas regras na interface do usuário da diretiva de restrição de software e, na medida em que o número de regras fica especialmente grande, o desempenho pode ser afetado. Além disso, cada atualização feita no aplicativo exigirá a implantação de uma ou mais regras de hash novas no ambiente. Atualizar uma diretiva tão grande à medida que os aplicativos são atualizados pode ser uma tarefa gigantesca.



Felizmente, isso pode ser evitado porque há outras duas formas de identificar regras que facilitam o uso de diretivas de restrição de software no ambiente. Indo mais além na rota de segurança criptográfica, é possível criar uma regra que permitirá a execução de qualquer binário assinado por um determinado certificado.



Fazer isso ajuda a simplificar a manutenção da lista de diretivas porque, quando um aplicativo é atualizado, os novos binários serão normalmente assinados pelo mesmo certificado dos anteriores. No entanto, se não quiser que uma versão anterior do binário seja executada no ambiente, você precisará adicionar uma regra de hash Restrito para impedir a permissão do arquivo.



Por padrão, a avaliação das regras de certificado permanece desabilitada para diretivas de restrição de software. Há duas razões pelas quais isso tinha que ser feito.



A primeira: as regras de certificado nas diretivas de restrição de software são definidas pelo que se encontra no repositório Editores Confiáveis do sistema. Como o repositório Editores Confiáveis é usado para outros fins que não sejam o de regras da diretiva de restrição de software, isso exige mais tempo e consideração quando usado no recurso das diretivas de restrição de software.



A segunda razão é que, para determinar se a assinatura de um arquivo é válida, você deve usar um hash do arquivo e compará-lo com as informações da assinatura. O hash de um arquivo é uma operação muito cara – todo o arquivo deve ser lido no disco e processado para calcular esse hash.



Para habilitar as regras de certificado, navegue até o nó Diretivas de Restrição de Software e selecione Objeto de Imposição no painel de resultados. Em seguida, clique duas vezes para abrir a caixa de diálogo de propriedades e selecione a opção de regras de certificado.



A outra forma comum de identificar o código é usando seu caminho na máquina local. Trata-se de uma técnica efetiva e eficiente, mas com uma desvantagem: você deve tomar o cuidado de garantir que as configurações de segurança estejam definidas corretamente na pasta.



Se você adicionasse uma determinada regra de caminho e esse caminho permitisse aos usuários gravar arquivos (na área de trabalho, por exemplo), eles poderiam executar o que quisessem apenas colocando o executável nessa pasta. No entanto, caso não sejam do grupo Administradores, os usuários normalmente não têm a possibilidade de modificar nada em Arquivos de Programas ou nos diretórios do Windows. Isso significa que caso todos os aplicativos estejam no diretório Arquivos de Programas e os usuários não sejam Administradores, você deve observar as regras de caminho para contar com uma diretiva bastante simples e eficiente.



As regras de caminho oferecem outros recursos que as fazem mais adequadas a alguns ambientes. Isso possibilita curingas e permite que você use variáveis do sistema para facilitar a definição de regras portáteis no ambiente – afinal, %systemdrive% talvez não seja c:\ para todos os usuários.



Em relação ao desempenho e à manutenção, essa talvez seja a forma mais fácil de identificar códigos. Certamente, as regras de caminho são algo a ser considerado, mas você precisa estar atento a considerações adicionais quanto à segurança.



Regras da zona de rede



A diretiva da restrição de software não inclui um tipo de regra chamada de zona de rede, embora esse tipo de regra esteja sendo preterido. A intenção original dessas regras se baseava na idéia de que a origem do código executável em especial poderia ser identificada e era confiável, o que permitia a execução do código. Infelizmente, isso é especialmente difícil de fazer e, assim, nunca funcionou muito bem. Atualmente, esse tipo de regra não é imposto na maioria dos locais dos pontos de entrada da diretiva de restrição de software.



Nos casos em que a maior parte dos aplicativos está instalada no diretório %Program Files%, mas há outros arquivos executáveis instalados nos demais lugares e assinados por um certificado específico, talvez faça sentido usar regras de tipos diferentes. Algumas regras de hash, outras regras de caminho, e você saberá que encontrou a diretiva certa.



Apenas se lembre de que existe uma ordem na qual as regras são processadas (como mostrado na Figura 3). As regras de certificado são as mais específicas, depois vêm as regras de hash e, em seguida, as regras de caminho e as regras de caminho com curingas. Dessa forma, se um código for identificado por uma regra de hash e por uma regra de caminho, o nível de segurança da regra de hash terá prioridade.





Figura 3 Ordem de processamento da regra (Clique na imagem para uma visão ampliada)



Imposição de diretivas



O recurso das diretivas de restrição de software fornece uma ampla cobertura no sistema que está sendo protegido. A idéia é de que qualquer local no qual o código possa ser executado deva ser integrado à diretiva de restrição de software e, assim, verificar a diretiva para saber se o código executável tem permissão de execução.



Embora haja vários locais que verifiquem a diretiva de restrição de software, o ponto de entrada mais direto é CreateProcess. Em CreateProcess, a diretiva é verificada para se determinar se o binário que representa o aplicativo tem permissão de execução. A verificação da diretiva é feita pela API SaferIdentifyLevel, documentada publicamente. O processo geral é ilustrado na Figura 4. (Abordaremos SaferIdentifyLevel mais detalhadamente daqui a pouco.)





Figura 4 Usando SaferIdentifyLevel para determinar se um binário pode ser executado (Clique na imagem para uma visão ampliada)



Depois de CreateProcess, a API mais usada em que a diretiva de restrição de software é imposta é ShellExecute. Trata-se da API chamada quando o usuário clica em um aplicativo do menu Iniciar ou clica duas vezes em algo na área de trabalho.



ShellExecute pode ser chamada em vários formatos de arquivo. Em casos como, por exemplo, um arquivo .txt, chamar ShellExecute no arquivo não resulta efetivamente na execução do arquivo – tecnicamente, é claro, o arquivo é aberto. Por esse motivo, a diretiva de restrição de software contém uma lista dos tipos de arquivo executáveis para que possa controlar quais tipos são verificados quando ShellExecute é chamada. É possível personalizar essa lista de tipos de arquivo executáveis na interface do usuário da diretiva de restrição de software.



Além de CreateProcess e ShellExecute, há outros dois pontos de integração principais: LoadLibrary e hosts de script. LoadLibrary é, obviamente, um local importante para verificar o código executável, mas infelizmente apresenta algumas restrições especiais.



A maior parte dos aplicativos tem um executável e várias DLLs carregadas. E normalmente há muitos aplicativos em execução no sistema. Isso significa que LoadLibrary exigiria muita verificação em relação à diretiva. Dependendo da diretiva de identificação do código, esse poderia ser um ponto de entrada cuja imposição é cara – imagine verificar o hash de todas as DLLs carregadas no sistema, que inclui o hash do binário e sua comparação com uma lista de, talvez, milhares de hashes.



Por padrão, essa funcionalidade permanece desabilitada, mas pode ser habilitada manualmente. Para isso, navegue até o nó Diretivas de Restrição de Software em gpedit.msc e clique duas vezes em Imposição. Depois, selecione o botão de opção Todos os arquivos de software.



Como mencionamos, a diretiva de restrição de software é integrada à maioria dos hosts de script do sistema. Isso inclui cmd, VBScript, Cscript e JScript®. Esses pontos de entrada, bem como os demais, usam a API de imposição da diretiva de restrição de software principal: SaferIdentifyLevel.



A API SaferIdentifyLevel determina se um executável especificado deve ter permissão de execução, procurando as informações de identificação nas diretivas de restrição de software relevantes. Trata-se de uma API documentada publicamente. Os hosts de script de terceiros e os ambientes executáveis podem e devem usá-la na integração com a diretiva de restrição de software de forma que a diretiva possa determinar se uma parte do código executável deve ter permissão de execução.



Executando como um usuário padrão



Um recurso não tão conhecido da diretiva de restrição de software é sua capacidade de filtrar os privilégios de determinados aplicativos quando eles são iniciados. Essa funcionalidade foi introduzida no Windows XP, mas não foi exposta na interface do usuário da diretiva de restrição de software até o Windows Vista.



Dessa forma, ela foi uma precursora da UAC do Windows Vista porque você poderia usá-la na execução de um aplicativo como Usuário Padrão mesmo quando o usuário fosse membro do grupo Administradores. É isso o que acontece quando você cria uma regra e define o Nível de Segurança como Usuário Normal na interface do usuário Regras Adicionais.



A funcionalidade de filtragem de token da UAC e as regras de Usuário Normal das diretivas de restrição de software usufruem uma API subjacente que implementa o mesmo comportamento da API CreateRestrictedToken. No entanto, as diferenças arquitetônicas gerais das tecnologias são bastante significativas. Mas a UAC difere da diretiva de restrição de software de várias formas significativas.



Primeiro, no Windows Vista com a UAC habilitada, por padrão, todos os aplicativos são iniciados com um token de segurança semelhante ao de um membro do grupo Usuários, mesmo quando o usuário é um administrador. Isso é conseguido com a diretiva de restrição de software, embora não haja nenhum modo de iniciar um aplicativo com o token Administrador real do usuário – por exemplo, quando o usuário precisa instalar um aplicativo. A alteração feita no contexto de segurança padrão e a facilidade de acesso ao token de administrador completo de um usuário são os principais benefícios da UAC.



A segunda diferença é que, no caso dos executáveis, o próprio código expressa o nível de privilégio necessário ao funcionamento. Trata-se de uma distinção importante porque ISVs (fornecedores independentes de software) e desenvolvedores compreendem a necessidade do código. Por exemplo, caso precise editar algo que exija privilégio administrativo, um aplicativo de painel de controle pode especificar esse requisito em seu manifesto. Dessa forma, o ISV pode descrever os privilégios exigidos por um aplicativo, em vez de impor um determinado nível de privilégio sem que haja qualquer meio disponível para alterar esse nível.



Por enquanto, você deve evitar usar as regras de Usuário Normal até compreender, de fato, como elas funcionam. A UAC é uma forma excelente de ajudar os usuários de desktop do grupo Administradores, e você deve considerar seriamente deixar a UAC no ambiente corporativo.



Diretivas de restrição de software usadas atualmente



Há várias partes móveis que você precisa levar em conta ao usar a diretiva de restrição de software. Mas não é como você deve pensar e, na verdade, você talvez esteja usando diretivas de restrição de software até mesmo sem perceber. Caso, por exemplo, execute Controles dos Pais em um sistema com Windows Vista, você está usando diretivas de restrição de software para controlar a execução dos aplicativos.



A diretiva de restrição de software foi um desenvolvimento tecnológico importante quando lançado pela primeira vez no Windows XP. Mas o bloqueio do aplicativo só está chamando mesmo a atenção dos profissionais de TI agora.



O recurso da diretiva de restrição de software no Windows Vista ainda tem algumas arestas a serem aparadas, mas está claro que os administradores desejam contar com esse controle maior sobre o que está em execução em seus ambientes. Felizmente para todos nós, essa tecnologia continuará evoluindo e facilitando o gerenciamento dos sistemas em nome dos profissionais de TI, o que reduz o custo da execução do ambiente do Microsoft Windows.




A diretiva de restrição de software básica



Uma aplicação da diretiva de restrição de software é criar uma diretiva que bloqueie o Windows em um modo de quiosque. Na verdade, a Microsoft produz um kit de ferramentas chamado SteadyState™ para a criação desse quiosque. No entanto, caso você esteja interessado apenas em bloquear os aplicativos que possam ser executados, isso pode ser conseguido mais facilmente.



Para permitir que o conjunto mínimo de aplicativos necessários faça logon no Windows Vista, crie uma diretiva que permita a execução de logonui.exe e userinit.exe em %windir%\system32. É provável que a maior parte dos usuários também precisará dos seguintes aplicativos com permissão de execução:





dllhost.exe, rundll32.exe, control.exe (also under %windir%\system32)....


Se quisesse o shell do Windows padrão, você também desejaria adicionar %windir%\explorer.exe.



Você também poderia optar por inicializar diretamente um aplicativo como, por exemplo, o Internet Explorer®. Nesse caso, seria necessário que você listasse iexplore.exe, e não explorer.exe.



Outro aspecto dessa diretiva básica é que os usuários não devem fazer parte do grupo Administradores. Isso é importante para que eles não consigam ignorar a diretiva. No entanto, como eles só podem executar um conjunto muito básico de aplicativos e não têm os privilégios de um Administrador, os usuários não terão os privilégios para instalar aplicativos ou manter o sistema.



Você precisará encontrar alguma forma de fazer isso nessas máquinas. Caso pretenda atualizar e manter essas máquinas fazendo logon localmente com uma conta Administrador, você deve selecionar o botão de opção que aplica a diretiva de restrição de software a todos os usuários, exceto os administradores locais. A diretiva também deve incluir consent.exe e cmd.exe. Isso permitirá ao administrador iniciar qualquer opção administrativa em um prompt de comando de administrador.Observe que a UAC limita os privilégios do token de segurança do usuário por padrão para que ele seja semelhante ao token que não é membro do grupo Administradores. Mesmo que você defina a configuração acima para não aplicar a diretiva a Administradores, ela continuará sendo aplicada aos usuários. É somente quando você passa pela experiência de elevação da UAC que o Administrador efetivamente recebe os privilégios de administrador completos e a diretiva de restrição de software deixa de ser aplicada.




Fonte: Microsoft Technet Magazine (Chris Corio e Durga Prasad Sayana) - http://technet.microsoft.com/pt-br/magazine/cc510322.aspx




Chris CorioChris Corio foi membro da equipe de segurança do Windows na Microsoft durante mais de cinco anos. Na Microsoft, a sua atenção estava voltada principalmente para as tecnologias de segurança do aplicativo e de gerenciamento para a proteção do Windows.



Durga Prasad SayanaDurga Prasad Sayana é engenheiro de criação de software/teste na equipe de segurança básica do Windows. Seus interesses principais são tecnologias de segurança e testes de software.



Avaliando o desempenho do seu servidor

Caros amigos leitores,

Novamente em visita ao site da Microsoft Technet, localizei mais este material. Ideal para administradores.

Boa leitura...

Imagine que você acaba de chegar ao escritório em uma manhã de segunda-feira e é recebido por um usuário ansioso, reclamando da lentidão de seu servidor. Por onde começar para ajudá-lo? O Desempenho do Sistema, uma ferramenta muito útil incorporada ao Windows®, pode ajudá-lo a diagnosticar o problema.

Você pode acessar o Desempenho do Sistema digitando perfmon no prompt de comando, ou então selecionando o Desempenho do Sistema (ou o Monitor de Desempenho e Confiança, no Windows Vista® e no Windows Server® 2008) no menu Ferramentas Administrativas. Para adicionar contadores de desempenho e objetos a serem monitorados, basta clicar no sinal de adição e selecionar uma entre as diversas opções disponíveis.

Então, como avaliar o funcionamento de um servidor? Há mais de 60 objetos básicos de desempenho, e cada um deles contém vários contadores. Neste artigo, abordarei os contadores que revelam os sinais vitais de um servidor e descreverei os intervalos típicos de amostragem normalmente utilizados pelos engenheiros do Suporte aos Serviços Microsoft® para solucionar problemas relacionados ao desempenho.

Logicamente, uma linha de base representa um ponto de referência essencial para a solução de problemas. Como a carga do servidor depende dos requisitos comerciais e também varia de tempos em tempos, dependendo do ciclo de negócios, é importante estabelecer uma linha de base, determinada pela carga de trabalho normal em um período especificado. Isso permite observar alterações e identificar tendências.

Como tornar os resultados mais legíveis

Antes de me aprofundar na análise dos contadores que representam os sinais vitais dos servidores, explicarei dois truques que facilitam a medição desses sinais vitais usando o Desempenho do Sistema. Observe que esses truques não são necessários no Windows Vista e no Windows Server 2008. Mas, se você estiver executando o Desempenho do Sistema em versões anteriores do Windows, eles poderão ser muito úteis.

Primeiro, você pode remover todos os ruídos produzidos por exemplos irrelevantes que obscurecem a exibição gráfica das linhas de tendência. No Windows Vista e no Windows Server 2008, o Desempenho do Sistema pode exibir até 1.000 pontos de dados na visualização gráfica. Nas versões anteriores do Windows, o limite era de apenas 100 pontos de dados. Quando há mais de 100 pontos, o Desempenho do Sistema classifica os pontos de dados. Uma classificação é representada por uma linha vertical indicando os valores mínimo, médio e máximo dos pontos de exemplo incluídos.

Como você pode ver no gráfico da Figura 1, é difícil identificar a linha de tendência quando há tantos dados exibidos ao mesmo tempo. O gráfico da Figura 2 mostra como é bem mais fácil compreender rapidamente os dados quando todas as informações visuais irrelevantes são desativadas. Para obter mais detalhes sobre como desativar essas linhas verticais, consulte o artigo da Base de Dados de Conhecimento disponível em support.microsoft.com/kb/283110.

Figura 1. Dados de desempenho mostrados com classificações irrelevantes e sem vírgulas (clique na imagem para ampliá-la)

Figura 2. Uma exibição mais clara dos dados, separados por vírgulas (clique na imagem para ampliá-la)

O segundo truque consiste em adicionar a separação por vírgulas aos números, tornando muito mais fácil ler os valores mostrados nos contadores. O Windows Vista e o Windows Server 2008 têm a separação por vírgulas habilitada por padrão. Contudo, nas versões anteriores do Windows, o Desempenho do Sistema não habilita as vírgulas por padrão.

Talvez não pareça que isso fará uma grande diferença, mas observe a Figura 1, que mostra os contadores de desempenho sem vírgulas, e depois a Figura 2, que mostra os contadores com vírgulas. Considero a segunda versão muito mais legível. Para obter instruções mais simples sobre como adicionar a separação por vírgulas aos seus contadores de desempenho no Windows XP, consulte o artigo da Base de Dados de Conhecimento em support.microsoft.com/kb/300884.

O que e quando medir

Os afunilamentos ocorrem quando um recurso alcança o limite da sua capacidade, reduzindo o desempenho de todo o sistema. Os afunilamentos geralmente são causados por recursos insuficientes ou mal configurados, componentes com funcionamento incorreto e solicitações incorretas de recursos por parte de um programa.

Há cinco áreas principais de recursos que podem causar afunilamentos e afetar o desempenho do servidor: disco físico, memória, processo, CPU e rede. Se qualquer um desses recursos for utilizado em excesso, o servidor ou o aplicativo poderá ficar muito lento ou até falhar. Examinarei cada uma dessas cinco áreas, fornecendo diretrizes sobre os contadores que você deve usar e oferecendo sugestões de limites para avaliar o desempenho dos seus servidores.

Como o intervalo de amostragem tem um impacto considerável sobre o tamanho do arquivo de log e a carga do servidor, você deve defini-lo com base na média de tempo decorrido até a ocorrência do problema, de forma a estabelecer uma linha de base antes que ele ocorra novamente. Isso permitirá identificar qualquer tendência que conduza ao problema.

Quinze minutos serão uma boa janela para estabelecer uma linha de base durante as operações normais. Defina um intervalo de amostragem de 15 segundos se a média de tempo decorrido até a ocorrência do problema for de cerca de quatro horas. Se o tempo até a ocorrência do problema for de oito horas ou mais, defina um intervalo de amostragem de pelo menos cinco minutos. Caso contrário, você terá um arquivo de log grande demais, dificultando a análise dos dados.

Afunilamento de disco rígido

Como o sistema de disco armazena e manipula os programas e os dados no servidor, um afunilamento que afete o uso e a velocidade do disco terá um grande impacto sobre o desempenho geral do servidor.

Observe que, se os objetos de disco não tiverem sido habilitados no seu servidor, você precisará usar a ferramenta de linha de comando Diskperf para habilitá-los. Observe também que % Tempo de Disco pode exceder os 100% e, por isso, eu prefiro usar % Tempo Ocioso, Média de Disco s/Leitura e Média de Disco s/Gravação para obter uma visão mais precisa do nível de ocupação do disco rígido. Você encontra mais informações sobre % Tempo de Disco no artigo da Base de Dados de Conhecimento disponível em support.microsoft.com/kb/310067.

A seguir, estão os contadores que os engenheiros do Suporte aos Serviços Microsoft utilizam para o monitoramento de disco.

LogicalDisk\% Espaço Livre Mede a porcentagem de espaço livre na unidade lógica de disco selecionada. Fique atento se cair abaixo de 15%, pois você corre o risco de ficar sem espaço livre para o armazenamento de arquivos críticos pelo sistema operacional. Uma solução óbvia para esse problema é acrescentar mais espaço em disco.

PhysicalDisk\% Tempo Ocioso Mede a porcentagem de tempo de inatividade do disco durante o intervalo de amostragem. A queda do contador abaixo de 20% significa que o sistema de disco está saturado. Avalie a possibilidade de substituir o sistema de disco atual por um mais rápido.

PhysicalDisk\Média de Disco s/Leitura Mede o tempo médio, em segundos, para a leitura de dados no disco. Um número maior do que 25 ms (milissegundos) significa que o sistema de disco está apresentando latência na leitura do disco. Em servidores de missão crítica que hospedam o SQL Server® e o Exchange Server, o limite aceitável é muito menor, de cerca de 10 ms. A solução mais lógica é substituir o sistema de disco atual por um mais rápido.

PhysicalDisk\Média de Disco s/Gravação Mede o tempo médio, em segundos, para a gravação de dados no disco. Um número maior do que 25 ms significa que o sistema de disco está apresentando latência ao gravar no disco. Em servidores de missão crítica que hospedam o SQL Server e o Exchange Server, o limite aceitável é muito menor, de cerca de 10 ms. Provavelmente, a solução é substituir o sistema de disco por um mais rápido.

PhysicalDisk\Comprimento Médio da Fila de Disco Indica quantas operações de E/S aguardam a disponibilidade do disco rígido. Um valor maior do que o número de eixos mais dois significa que o afunilamento pode ser o disco propriamente dito.

Memória\Bytes de Cache Indica a quantidade de memória usada pelo cache do sistema de arquivos. Pode haver um afunilamento de disco se o valor for superior a 200 MB.

Afunilamento de memória

A insuficiência de memória geralmente se deve à RAM insuficiente, a um vazamento de memória ou a uma chave de memória colocada dentro de boot.ini. Antes de analisar os contadores de memória, abordarei a chave /3GB.

A presença de mais memória reduz a atividade de E/S do disco e, conseqüentemente, melhora o desempenho dos aplicativos. A chave /3GB foi introduzida no Windows NT® como uma maneira de fornecer mais memória aos programas de modo de usuário.

O Windows usa um espaço de endereço virtual de 4 GB (independentemente da quantidade de RAM física presente no sistema). Por padrão, os 2 GB inferiores são reservados para os programas de modo de usuário e os 2 GB superiores, para os programas de modo kernel. Com a chave /3GB, 3GB são fornecidos aos processos de modo de usuário. Logicamente, isso causa impacto sobre a memória do kernel, que terá apenas 1 GB de espaço de endereço virtual. Isso pode causar problemas, pois os Bytes de Pool Não-Paginável, os Bytes de Pool Paginável, as Entradas Livres de Tabela de Paginação do Sistema e o heap de área de trabalho ficam "apertados" nesse espaço de 1 GB. Assim, a chave /3GB somente deve ser usada após testes detalhados do seu ambiente.

Isso deve ser levado em conta se você suspeitar que está experimentando um afunilamento relacionado à memória. Se a chave /3GB não for a causa dos problemas, você poderá usar os contadores a seguir para diagnosticar um possível afunilamento de memória.

Memória\% Bytes Confirmados em Uso Mede a taxa de Bytes Confirmados em relação ao Limite de Confirmação — em outras palavras, a quantidade de memória virtual em uso. Um número maior do que 80% indica memória insuficiente. A solução óbvia é o acréscimo de mais memória.

Memória\% Mbytes Disponíveis Mede a quantidade de memória física, em megabytes, disponível para executar processos. Um valor menor do que 5% do total de RAM física significa que a memória é insuficiente, e isso pode aumentar a atividade de paginação. Para resolver esse problema, basta adicionar mais memória.

Memória\Entradas Livres de Tabela de Paginação do Sistema Indica o número de entradas de tabela de paginação que não estão atualmente em uso pelo sistema. Se o número for menor do que 5.000, pode haver um vazamento de memória.

Memória\Bytes de Pool Não-Paginável Mede o tamanho, em bytes, do pool não-paginável. Essa é uma área da memória do sistema para objetos que não podem ser gravados em disco, mas que devem permanecer na memória física enquanto estiverem alocados. Se o valor for maior do que 175 MB (ou 100 MB, com a chave /3GB), pode haver um vazamento de memória. Uma típica Identificação do Evento 2019 é registrada no log de eventos do sistema.

Memória\Bytes de Pool Paginável Mede o tamanho, em bytes, do pool paginável. Essa é uma área da memória do sistema usada para objetos que podem ser gravados em disco quando não estão em uso. Se o valor for maior do que 250 MB (ou 170 MB, com a chave /3GB), pode haver um vazamento de memória. Uma típica Identificação do Evento 2020 é registrada no log de eventos do sistema.

Memória\Páginas por Segundo Mede a taxa na qual as páginas são lidas ou gravadas em disco para resolver falhas de páginas de hardware. Se o valor for maior do que 1.000, como resultado da paginação excessiva, pode haver um vazamento de memória.

Afunilamento de processador

A sobrecarga do processador pode se dever à potência insuficiente do próprio processador, ou então a um aplicativo ineficiente. Você precisa verificar se o processador gasta muito tempo com a paginação, devido à memória física insuficiente. Ao investigar um possível afunilamento de processador, os engenheiros do Suporte aos Serviços Microsoft utilizam os contadores a seguir.

Processador\% Tempo do Processador Mede a porcentagem do tempo decorrido gasto pelo processador na execução de um thread ocupado. Se a porcentagem for superior a 85%, o processador está sobrecarregado, e pode ser que o servidor precise de um processador mais rápido.

Processador\% Tempo de Usuário Mede a porcentagem do tempo decorrido gasto pelo processador no modo de usuário. Se o valor for elevado, o servidor está ocupado com o aplicativo. Uma possível solução é otimizar o aplicativo que está utilizando os recursos do processador.

Processador\% Tempo de Interrupção Mede o tempo que o processador gasta para receber e fazer a manutenção de interrupções de hardware durante intervalos de amostragem específicos. Se o valor for maior do que 15%, o contador indica um possível problema de hardware.

Sistema\Comprimento da Fila de Processador Indica o número de threads na fila do processador. Se o valor for superior a duas vezes o número de CPUs por um período extenso, isso indica que o servidor não conta com capacidade de processamento suficiente.

Afunilamento de rede

Logicamente, um afunilamento de rede afeta a capacidade do servidor de enviar e receber dados via rede. Pode ser um problema na placa de rede do servidor, ou talvez a rede esteja saturada e precise ser segmentada. Você pode usar os contadores a seguir para diagnosticar possíveis afunilamentos de rede.

Interface de Rede\Total de Bytes/s Mede a taxa pela qual bytes são enviados e recebidos por cada adaptador de rede, inclusive caracteres de enquadramento. Se você descobrir que mais de 70% da interface é consumida, isso significa que a rede está saturada. Para uma placa de interface de rede de 100 Mbps, a interface consumida é de 8,7 MB/s (100 Mbps = 100.000 kbps = 12,5 MB/s* 70%). Em uma situação assim, talvez você queira adicionar uma placa de rede mais rápida ou segmentar a rede.

Interface de Rede\Comprimento da Fila de Saída Mede, em pacotes, o comprimento da fila de saída de pacotes. Existe saturação da rede se o valor for superior a 2. Você pode solucionar esse problema acrescentando uma placa de rede mais rápida ou segmentando a rede.

Afunilamento de processo

O desempenho do servidor será afetado consideravelmente se você tiver um processo de comportamento inadequado ou processos não-otimizados. Vazamentos de threads e identificadores causarão, em algum momento, a interrupção do funcionamento do servidor, e o uso excessivo do processador levará ao rastreamento do servidor. Os contadores a seguir são indispensáveis para diagnosticar afunilamentos relacionados a processos.

Processo\Número de Identificadores Mede o número total de identificadores abertos por um processo no momento. Se o valor for maior do que 10.000, o contador indica um possível vazamento de identificadores.

Processo\Contagem de Threads Mede o número total de threads ativos em um processo no momento. Pode haver um vazamento de threads se esse número for superior a 500, entre os números mínimo e máximo de threads.

Processo\Bytes Particulares Indica a quantidade de memória que o processo alocou e que não pode ser compartilhada com outros processos. Pode haver um vazamento de memória se o valor for superior a 250, entre os números mínimo e máximo de threads.

Conclusão

Agora, você já sabe que contadores os engenheiros do Suporte aos Serviços Microsoft utilizam para diagnosticar diversos afunilamentos. Logicamente, você terá seu próprio conjunto de contadores favoritos, adaptados de acordo com as suas necessidades específicas. Talvez você queira economizar tempo, eliminando a necessidade de adicionar todos os seus contadores favoritos manualmente sempre que precisar monitorar os servidores. Felizmente, existe uma opção no Desempenho do Sistema que permite salvar todos os seus contadores em um modelo para uso posterior.

Talvez você ainda esteja em dúvida se deve executar o Desempenho do Sistema local ou remotamente. E qual será o impacto exato sobre o desempenho ao executá-lo localmente? Isso depende do seu ambiente específico. O impacto sobre o desempenho no servidor será praticamente imperceptível se você definir intervalos de pelo menos cinco minutos.

Talvez você prefira executar o Desempenho do Sistema localmente se souber que há um problema de desempenho no servidor, pois é possível que ele não consiga capturar dados de um computador remoto quando os recursos do servidor estiverem se esgotando. Executá-lo remotamente, a partir de um computador central, é uma abordagem mais adequada para situações em que você queira monitorar ou estabelecer uma linha de base para vários servidores.

Fonte: Microsoft Technet Magazine (Steven Choy) - http://technet.microsoft.com/pt-br/magazine/cc718984.aspx

Steven Choy é engenheiro-chefe de campo sênior do departamento de engenharia de campo de ponta da Microsoft. Ele prestou suporte a agências governamentais e clientes comerciais em seus projetos de implantação e migração de desktops, gerenciamento de patches e Diretiva de Grupo. Atualmente, está concentrado na virtualização e na integridade de servidores.

26 agosto 2008

Guia de Segurança do Windows Server 2003

Caro amigos leitores,

Este é mais um guia que a TECHNET oferece em seu site. Discreve um pequeno guia de segurança aplicável no Windows 2003.

Boa Leitura....

Visão Geral

Herdado (LC), Cliente Corporativo (EC) e Segurança Especializada – Funcionalidade Limitada (SSLF) em todo este guia.

Orientações sobre como proteger computadores nesses três ambientes são fornecidas para um grupo de funções de servidor distintas. As contramedidas descritas e as ferramentas fornecidas pressupõem que cada servidor tem uma única função. Se for necessário combinar funções em alguns servidores do ambiente, você poderá personalizar os modelos de segurança incluídos na versão de download do guia para criar a combinação adequada de serviços e opções de segurança. As funções de servidor a que este guia se refere incluem:

• Controladores de domínio que também fornecem serviços DNS

• Servidores de infra-estrutura que fornecem serviços WINS e DHCP

• Servidores de arquivos

• Servidores de impressão

• Servidores Web que executam o Microsoft Internet Information Services (IIS)

• Servidores IAS (Serviço de Autenticação da Internet)

• Servidores de serviços de certificados

• Hosts bastiões

Esforços significativos foram empregados a fim de tornar este guia bem organizado e facilmente acessível, de modo que você possa localizar rapidamente as informações que precisa e determinar as configurações adequadas aos computadores em sua organização. Embora este guia se destine a clientes corporativos, muitas das informações que contém são apropriadas a organizações de qualquer porte.

Introdução ao Guia de Segurança do Windows Server 2003

Esse capítulo fornece uma visão geral do Guia de Segurança do Windows Server 2003 e traz uma descrição breve de cada capítulo. Descreve os ambientes de Cliente Herdado, Cliente Corporativo e Segurança Especializada – Funcionalidade Limitada, assim como os computadores neles executados.

Mecanismos de proteção do Windows Server 2003

Esse capítulo fornece uma visão geral dos principais mecanismos usados neste guia para proteger o Windows Server 2003 com SP1: o Assistente de Configuração de Segurança (ACS) e a Diretiva de Grupo do Active Directory. Explica como o ACS fornece uma estrutura interativa para criar, administrar e testar diretivas de segurança para computadores com o Windows Server 2003 que desempenham diferentes funções de servidor. Também avalia as funções do ACS no contexto dos três ambientes descritos no Capítulo 1.

A próxima parte desse capítulo fornece descrições de alto nível dos Objetos de Diretiva de Grupo (GPO), da diretiva de domínio e dos designs do Active Directory, da unidade organizacional (UO) e do grupo administrativo. Esses tópicos são discutidos no contexto dos três ambientes descritos no Capítulo 1 a fim de se fornecer uma visão de um ambiente idealmente protegido.

Este capítulo termina com um exame detalhado de como este guia combina os melhores recursos do ACS e as abordagens tradicionais baseadas em GPO para proteger o Windows Server 2003 com SP1.

A diretiva de domínio

Este capítulo explica as configurações de modelo de segurança e as contramedidas adicionais para as diretivas de nível de domínio nos três ambientes descritos no Capítulo 1. O capítulo não se concentra em nenhuma função de servidor específica, mas nas diretivas e configurações específicas úteis às diretivas de domínio de nível superior.

A diretiva de linha de base de servidor membro

Este capítulo enfoca como estabelecer uma Diretiva de Linha de Base de Servidor Membro (MSBP) para as funções de servidor discutidas mais adiante no guia.

A diretiva de linha de base do controlador de domínio

A função de servidor de controlador de domínio é uma das mais importantes a se proteger em ambientes do Active Directory com computadores que executam o Windows Server 2003 com SP1. Qualquer perda ou comprometimento de um controlador de domínio pode afetar seriamente os computadores clientes, os servidores e os aplicativos que dependem dos controladores de domínio para autenticação, Diretiva de Grupo e diretório central LDAP. Nos três ambientes definidos no guia, os controladores de domínio também fornecem serviços DNS.

A função de servidor de infra-estrutura

Nesse capítulo, a função de servidor de infra-estrutura se caracteriza por fornecer serviços DHCP ou WINS. São fornecidos detalhes sobre como os servidores de infra-estrutura que executam o Windows Server 2003 com SP1 em seu ambiente podem se beneficiar das configurações de segurança que não são aplicadas pela Diretiva de Linha de Base de Servidor Membro (MSBP).

A função de servidor de arquivos

Este capítulo enfoca como proteger computadores que funcionam como servidores de arquivos e porque é um desafio proteger tais servidores. Os serviços mais essenciais fornecidos pelos servidores de arquivos exigem protocolos relacionados ao Windows NetBIOS, assim como os protocolos SMB (Server Message Block) e CIFS (Common Internet File System). Os protocolos SMB e CIFS são normalmente usados para proporcionar acesso aos usuários autenticados, mas, quando protegidos de maneira inadequada, também podem expor muitas informações a usuários não autenticados ou invasores. Devido a essa ameaça, esses protocolos freqüentemente são desativados em ambientes de alta segurança. Este capítulo descreve como servidores de arquivos que executam o Windows Server 2003 com SP1 podem se beneficiar de configurações de segurança que não são aplicadas pela MSBP.

A função de servidor de impressão

Este capítulo se concentra em servidores de impressão. Assim como acontece com os servidores de arquivos, os serviços mais essenciais fornecidos pelos servidores de impressão exigem protocolos relacionados ao Windows NetBIOS, assim como os protocolos SMB e CIFS. Conforme dito anteriormente, os protocolos SMB e CIFS com freqüência são desativados em ambientes com alto nível de segurança. Este capítulo descreve como as configurações de segurança dos servidores de impressão que executam o Windows Server 2003 com SP1 podem ser reforçadas de maneiras que não são aplicadas pela MSBP.

A função de servidor Web

Este capítulo descreve como a segurança abrangente de sites e aplicativos depende de um servidor IIS inteiro (inclusive cada site e aplicativo executado no servidor IIS) para sua proteção com relação a computadores clientes no ambiente. Os sites e aplicativos também devem ser protegidos contra outros sites e aplicativos executados no mesmo servidor IIS. As práticas destinadas a assegurar que essas medidas sejam alcançadas pelos servidores IIS que executam o Windows Server 2003 com SP1 em seu ambiente são descritas nesse capítulo.

A função de servidor IAS

Servidores IAS (Internet Authentication Servers) fornecem RADIUS (Remote Authentication Dial-in User Service), um protocolo de autenticação de baseado em padrões, projetado para verificar a identidade dos clientes que acessam as redes remotamente. Este capítulo descreve maneiras como servidores IAS que executam o Windows Server 2003 com SP1 podem se beneficiar de configurações de segurança que não são aplicadas pela MSBP.

A função de servidor de serviços de certificados

Os serviços de certificados fornecem serviços de criptografia e gerenciamento de certificados, necessários para desenvolver uma PKI (infra-estrutura de chave pública) no ambiente de servidor. Este capítulo descreve maneiras como servidores de Serviços de Certificados que executam o Windows Server 2003 com SP1 podem se beneficiar de configurações de segurança que não são aplicadas pela MSBP.

Capítulo 12: A função de hosts bastiões

Os servidores de host bastião são acessíveis a computadores clientes pela Internet. Neste capítulo, explicamos como esses sistemas expostos publicamente são suscetíveis a ataques por um grande número de usuários que podem permanecer completamente anônimos, se assim o desejarem. Visto que muitas organizações não estendem sua infra-estrutura de domínio à Internet, esse capítulo enfoca como proteger computadores autônomos que executam o Windows Server 2003 com SP1 mas não pertencem a um domínio baseado no Active Directory.

Capítulo 13: Conclusão

O capítulo final deste guia resume brevemente o material apresentado nos capítulos anteriores.

Ferramentas e formatos de segurança

Embora o Guia de Segurança do Windows Server 2003 se concentre em como usar o ACS para criar diretivas que são então convertidas em modelos de segurança e objetos de Diretiva de Grupo, há diversas outras ferramentas e formatos de dados que podem ser usados para incrementar ou substituir essa metodologia. Este apêndice fornece uma breve lista dessas ferramentas e formatos.

Principais configurações a serem consideradas

O Guia de Segurança do Windows Server 2003 discute muitas contramedidas e configurações de segurança, mas é importante compreender que algumas delas são especialmente importantes. Este apêndice discute as configurações de maior impacto na segurança de computadores que executam o Windows Server 2003 com SP1.

Resumo da configuração de modelo de segurança

Esse apêndice apresenta a pasta de trabalho do Microsoft Excel® "Windows Server 2003 Security Guide Settings", que é incluída entre as ferramentas e modelos na versão de download do guia em http://go.microsoft.com/fwlink/?LinkId=14846. Essa planilha fornece uma referência abrangente, em um formato útil e compacto, de todas as configurações recomendadas para os três ambientes definidos neste guia.

Testando o Guia de Segurança do Windows Server 2003

O Guia de Segurança do Windows Server 2003 fornece uma quantidade considerável de informações sobre como proteger servidores que executam o Windows Server 2003 com SP1, mas o leitor é advertido constantemente a testar e validar todas as configurações antes de implementá-las em um ambiente de produção.

Este apêndice fornece orientações sobre como criar um ambiente adequado de laboratório de teste para ajudar a assegurar a implementação bem-sucedida das configurações recomendadas em um ambiente de produção. Ele ajuda os usuários a executar a validação necessária e minimiza a quantidade de recursos necessários para tal.

Ferramentas e modelos

Uma coleção de modelos de segurança, scripts e ferramentas adicionais acompanha a versão de download deste guia para facilitar a avaliação, teste e implementação das contramedidas recomendadas pela sua organização. Os modelos de segurança são arquivos de texto que podem ser importados para Diretivas de Grupo baseadas em domínio ou aplicados localmente com o snap-in de Configuração e Análise de Segurança do Console de Gerenciamento Microsoft (MMC). Esses procedimentos são detalhados no Capítulo 2, "Mecanismos de proteção do Windows Server 2003". Este guia inclui scripts para criar e vincular objetos de Diretiva de Grupo, assim como para teste das contramedidas recomendadas.

Fonte: Thecnet - http://www.microsoft.com/brasil/technet/security/prodtech/windowsserver2003/w2003hg/sgch00.mspx

Saiba como tratar as alterações na hora do Windows devido ao horário de verão

Caros amigos leitores,

Lendo alguns materiais da Microsoft, localizei este abaixo. Bom muitos administradores de redes sofrem com o horário de verão. Tanto no inicio de sua virgencia, quanto no final dela. E com este guia podemos utilizar melhor essas mudanças, mantendo-se bem atualizados Servidores, Computadores entre outros.

Boa leitura.

Esta página é uma reprodução do artigo 317211 da Base de Conhecimento Microsoft e ensina você a configurar o Microsoft Windows para a mudança correta da hora do sistema operacional de acordo com o período estabelecido pelo governo brasileiro para o ano corrente. O artigo original encontra-se em http://support.microsoft.com/kb/317211/pt-br.

INFORMAÇÕES IMPORTANTES

• O download da atualização que trata as alterações no horário de verão de 2007 podem ser obtidas a partir do artigo 931836 da Base de Conhecimento Microsoft.

• Leia o artigo sobre dispositivos móveis caso você deseje saber mais sobre configuração de horário de verão para dispositivos baseados no Windows Mobile.

• Este artigo contém informações sobre como modificar o Registro. Faça um backup do Registro antes de modificá-lo. Verifique se sabe como restaurá-lo caso ocorra algum problema. Para obter informações adicionais sobre como fazer backup, restaurar e modificar o Registro, acesse o artigo 256986 da Base de Conhecimento da Microsoft.

Aplica-se a

A informação contida neste artigo aplica-se a:

• Microsoft Windows Server 2003 Enterprise Edition

• Microsoft Windows Server 2003 Standard Edition

• Microsoft Windows XP Professional Edition

• Microsoft Windows XP Home Edition

• Microsoft Windows 2000 Server

• Microsoft Windows 2000 Advanced Server

• Microsoft Windows 2000 Professional Edition

• Microsoft Windows 98 Second Edition

• Microsoft Office Outlook 2003

• Microsoft Outlook 2002 Standard Edition

• Microsoft Outlook 2000 Standard Edition

• Microsoft Outlook 98 Standard Edition

• Microsoft Outlook 97 Standard Edition

Sumário

Observe que essas informações alteram todo ano e o conteúdo desse artigo será atualizado conforme necessário. Os clientes que desejam atualizar o fuso horário usando os arquivos do Registro devem testar a solução por completo antes de implantá-la.

O Brasil não usa datas de horário de verão estáticas. As datas de início e de fim para o horário de verão no Brasil são diferentes a cada ano. Nos produtos da Microsoft listados na seção "Aplica-se a" desse artigo, Brasília (GMT -3:00) é o fuso horário padrão para o Brasil. Esse artigo explica como modificar o comportamento padrão das datas de início e de fim do horário de verão para o fuso horário (GMT -3:00) Brasília no Windows, de modo a refletir as datas de início e de fim do horário de verão atual para o Brasil.

As datas padrão de início e fim do horário de verão para o fuso horário (GMT -3:00) Brasília no Windows são da seguinte maneira:

• O horário de verão começa às 02:00 no terceiro domingo de outubro.

• O horário de verão termina às 02:00 no segundo domingo de fevereiro.

As datas de início e de fim do horário de verão real implementadas no Brasil para os anos de 2005 a 2006 são as seguintes:

• O horário de verão começa em 16 de outubro de 2005.

• O horário de verão começa em 16 de outubro de 2005.

Os estados inclusos são Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, Espírito Santo, Minas Gerais, Goiás, Mato Grosso, Mato Grosso do Sul e Distrito Federal. Usando as configurações de fuso horário padrão (GMT -3:00) Brasília, os computadores com o Windows nos estados brasileiros afetados do Brasil não interpretam corretamente o horário relacionado à transição para o horário de verão. Execute um dos seguintes métodos para modificar o comportamento padrão desse fuso horário no Windows de modo a refletir corretamente as datas reais do horário de verão.

Para obter informações adicionais sobre as datas de início e fim do horário de verão de 2005 e 2006, consulte o seguinte site brasileiro: Ministério de Minas e Energias (http://www.mme.gov.br).

Use a ferramenta Time Zone Editor (Tzedit.exe)

Use o Time Zone Editor (Tzedit.exe) para configurar as novas datas de início e de fim do horário de verão para o fuso horário de Brasília. Essa ferramenta está incluída no Resource Kit para a sua versão do Microsoft Windows.

Método 1: Configurar manualmente as datas do horário de verão

É possível modificar manualmente as configurações de fuso horário usando o Tzedit.exe. Execute esse método se você precisar configurar as datas do horário de verão em diversos computadores. Para fazer isso, execute as seguintes etapas:

1. Inicie o Time Zone Editor.

2. Na lista Time Zones, clique em (GMT -3:00) Brasília e em Edit.

3. Na caixa de diálogo Edit Time Zone, marque a caixa de seleção Automatically set Daylight Saving Time.

4. Especifique as datas corretas de início e de fim do horário de verão. Na caixa Start Day, clique no número do dia que deseja. Por exemplo, clique em Second. Clique no dia correspondente da semana que deseja. Por exemplo, clique em Sunday. Clique no mês que deseja. Por exemplo, clique em October. Selecione o horário de início do horário de verão. Por exemplo, selecione 12:00 AM.

5. Na caixa Last Day, clique no número do dia que deseja. Por exemplo, clique em Last. Clique no dia correspondente da semana que deseja. Por exemplo, clique em Sunday. Clique no mês que deseja. Por exemplo, clique em February. Selecione o horário de término para o horário de verão. Por exemplo, selecione 12:00 AM.

6. Na lista Daylight Bias, selecione a quantidade de horas que deseja alterar quando o horário de verão estiver em vigor. Por exemplo, para configurar o relógio para avançar 1 hora, mantenha a configuração padrão de +1:00.

7. Clique em OK e em Fechar.

8. Clique em Iniciar, aponte para Configurações, para Painel de controle e clique duas vezes em Data e hora.

9. Clique na guia Fuso horário.

10. Selecione um fuso horário diferente de (GMT -3:00) Brasília e clique em Aplicar.

11. Clique em (GMT -3:00) Brasília e em OK. Observação: As etapas 10 e 11 são necessárias para que as novas alterações tenham efeito.

Método 2: Exportar as informações da chave do Registro

Aviso: Problemas sérios podem ocorrer se você modificar o Registro incorretamente usando o Editor do Registro ou outro método. Esses problemas podem exigir a reinstalação do sistema operacional. A Microsoft não garante que esses problemas possam ser resolvidos. A modificação do Registro é de sua responsabilidade.

É possível implantar as novas configurações de fuso horário exportando as chaves do Registro que armazenam as informações de fuso horário para um arquivo .reg e usar esses arquivos para atualizar o Registro de outros computadores. Para fazer isso, execute as seguintes etapas:

1. Execute as etapas de 1 a 11 da seção "Método 1: Configurar manualmente as datas do horário de verão" desse artigo para modificar as datas de início e de fim do horário de verão para o fuso horário de Brasília.

2. Teste para verificar se as informações de fuso horário estão atualizadas corretamente.

3. Clique em Iniciar e em Executar.

4. Na caixa Abrir, digite regedit e clique em OK.

5. Na janela do Editor do Registro, execute uma das seguintes ações, de acordo com o sistema operacional que está executando:

• Se estiver executando o Microsoft Windows XP, o Microsoft Windows 2000 ou o Microsoft Windows Server 2003, localize e clique na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time

• Se estiver executando o Microsoft Windows 98, o Microsoft Windows 98 Segunda Edição ou o Microsoft Windows Millennium Edition (Me), localize e clique na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones\E. South America

6. No menu Registro (ou Arquivo), clique em Exportar arquivo do Registro (ou Exportar).

7. Na caixa de diálogo Exportar arquivo do Registro que aparece, clique em Desktop na caixa Salvar em, digite Fusos_horários na caixa Nome do arquivo e clique em Salvar.

8. Localize e clique na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

9. No menu Registro (ou Arquivo), clique em Exportar arquivo do Registro (ou Exportar).

10. Na caixa de diálogo Exportar arquivo do Registro que aparece, clique em Desktop na caixa Salvar em, digite tzinfo na caixa Nome do arquivo e clique em Salvar.

11. Feche o Editor do Registro.

12. Copie os arquivos fusos_horários.reg e Tzinfo.reg criados na etapa 7 e na etapa 10 para os computadores nos quais deseja atualizar as configurações de fuso horário com as configurações das novas datas de horário de verão.

13. Nos computadores de destino, clique duas vezes nos arquivos fusos_horários.reg e Tzinfo.reg.

14. Clique em Sim quando for solicitado para adicionar as informações ao Registro.

15. Clique em OK ao receber a mensagem afirmando as informações foram inseridas com êxito no Registro.

16. Reinicie o computador.

Método 3: Usar um script de logon

Para usar esse método, você deve seguir as etapas no Método 2 para criar os arquivos do Registro que serão usados no script de logon. Para fazer isso, adicione o seguinte exemplo de código a um script de logon:

 if "%OS%" == "Windows_NT" goto NT_OS
regedit /s z:\<Win9x.reg file>

goto TZEND

:NT_OS
regedit /s %LogonServer%\NETLOGON\<NT.reg file>

: TZEND


Observação: Para usar os métodos 2 e 3 em computadores que executam o Windows XP, o Windows 2000 ou o Windows Server 2003, o usuário que faz as alterações no Registro deve ter permissão administrativa no computador ou as permissões da chave do Registro corretas.





Como atualizar as permissões da chave do Registro



Por padrão, em um computador com o Windows 2000 ou com o Windows XP, os usuários de domínio não possuem permissões de gravação para as seguintes chaves do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time



HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation



Se os usuários não possuírem as permissões para essas chaves, eles não serão capazes de atualizar as informações do Registro usando o procedimento de script de logon. Para atribuir permissões a essas chaves, execute as seguintes etapas:



1. Leia os seguintes artigos com atenção para entender os utilitários e os processos:



180546 - Atualizações automáticas para membros de grupos locais



264584 - Como alterar valores ou permissões do Registro a partir de uma linha de comando ou de um script



245031 - Como usar um certificado para alterar as permissões do Registro da linha de comando



2. Use os procedimentos explicados no artigo Q180546 para criar um processo em lotes para atualizar as chaves do Registro em todos os servidores e estações de trabalho que fazem parte do domínio especificado por você. Lembre-se que esse processo pode ser usado para muitas outras coisas. A ação a ser realizada em cada computador está em Sub3.bat. Nesse caso, você usa o utilitário Regini.exe para atribuir permissões Todos têm controle total sobre duas chaves do Registro. Também é possível usar o Regini.exe para fazer as alterações nas chaves do Registro em vez de usar um script de logon. Consulte o artigo 264584 para obter informações adicionais.



A seguir estão exemplos de arquivos em lote.



Nome do arquivo: INSUSER.BAT (arquivo bat inicial)



 set CurrentDomain=nicdome1
echo off
cls
if (%CurrentDomain%) == (mydomain) echo Edit the first line of INSUSER.BAT.
if (%CurrentDomain%) == (mydomain) echo then rerun INSUSER.BAT
if (%CurrentDomain%) == (mydomain) goto verybottom
rem *** Display current variable settings ***
echo Current domain is %CurrentDomain%.
echo.
rem *** Determine if working list is present ***
If exist working.txt echo Working list detected, resuming batch process.
If exist working.txt goto SkipCreateList
echo Creating a list of member servers in %CurrentDomain%.
echo.
netdom /d:%CurrentDomain% member > workingM.txt
netdom /d:%CurrentDomain% bdc > workingDC.txt
rem *** Remove NETDOM formatting from server names ***
if exist temp.txt del temp.txt
for /F "skip=6 delims=\ tokens=2" %%a in (workingM.txt) do call sub1.bat %%a
for /F "skip=6 delims=\ tokens=2" %%a in (workingDC.txt) do call sub1.bat %%a
del workingM.txt
del workingDC.txt
ren temp.txt working.txt

:SkipCreateList
rem *** Determine if machine is online ***
if exist online.txt del online.txt

for /F "delims=\\ tokens=1" %%a in (working.txt) do call sub2.bat %%a
rem *** Remove servers that have been processed from WORKING.TXT ***
if not exist online.txt goto NoServersOnline
echo.
echo Updating list of servers that need to be processed.
for /F "delims= tokens=1" %%a in (online.txt) do call sub4.bat %%a
echo List complete.
goto Bottom

:NoServersOnline
Echo.
Echo There are no servers currently online that can be processed.

:Bottom
echo.
echo ------------------------------------
echo --- Finished processing servers. ---
echo ------------------------------------

:verybottom


Nome do arquivo: SUB1.BAT



rem *** Remove formatting from Netdom output ***
echo %1 >> temp.txt

File name: SUB2.BAT
echo Pinging %1...
ping %1 > PING.TXT
for /F "skip=6 tokens=4" %%a in (PING.TXT) do call sub3.bat %%a %1
del PING.TXT

File name: SUB3.BAT
rem *** If server is online it will be logged in online.txt for ***
rem *** processing later. ***
rem *** %2 is a bogus variable, thrown away.
if not (%1) == (bytes) goto NotOnline
echo %3 >> ONLINE.TXT
echo [%3 is online.]
rem ***********************************************
rem *** Put per-server processing commands here ***
rem ***********************************************

ECHO Changing Registry Key permissions on %3.
ECHO *** \\%3 *** >> local.log

Regini -m \\%3 regacl.ini > nul

rem *****************************************************
rem *** Put per-server processing commands above here ***
rem *****************************************************

goto Sub3Bot
:NotOnline
:Sub3Bot


Nome do arquivo: SUB4.BAT



rem *** loop thru each name in working.txt and remove servers that were   ***
rem *** in online.txt ***

echo Removing %1 from list.
if exist temp.txt del temp.txt
for /F "tokens=1" %%a in (working.txt) do call sub5.bat %%a %%1
del working.txt
if exist temp.txt ren temp.txt working.txt


Nome do arquivo: SUB5.BAT



rem *** Filter out servers that have been updated ***
rem %1 is name from working.txt
rem %2 is name from online.txt
if (%1) == (%2) echo %1 >> complete.txt
if not (%1) == (%2) echo %1 >> temp.txt


Observação: O arquivo Regacl.ini possui duas chaves: E. South America Standard Time e Hor. padrao America Sul (Leste). As duas chaves serão necessárias apenas se você tiver uma combinação dos Windows em inglês e em português do Brasil, respectivamente.



Nome do arquivo: REGACL.INI



 \Registry\Machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\E. South America Standard Time [1 5 7 11 14 17]
\Registry\Machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Hor. padrao America Sul (Leste) [1 5 7 11 14 17]
\Registry\Machine\SYSTEM\CurrentControlSet\Control\TimeZoneInformation [1 5 7 11 14 17]


Use o utilitário de atualização do horário de verão (Timezone.exe)



Use o utilitário de atualização do horário de verão (Timezone.exe) para atualizar as datas de início e fim do horário de verão para o fuso horário atual no Registro. Essa ferramenta de linha de comando está incluída no Resource Kit para a sua versão do Windows.



Observação: Esse utilitário atualiza as informações de horário de verão apenas para o fuso horário atual, que é armazenado na seguinte chave do Registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. Ele não altera a definição padrão do fuso horário que é armazenado na chave do Registro.







Windows XP, Windows 2000 e Windows Server 2003



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones







Windows 9x e Windows Me



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones

Isso significa que se, posteriormente, você alterar o fuso horário usando a ferramenta Data e hora no Painel de controle, as datas de início e de fim do horário de verão para o fuso horário que você modificou serão redefinidas para os valores padrão.



Timezone.exe usa a seguinte sintaxe:

timezone /g /sstartdate enddate


Os parâmetros usados pelo Timezone.exe são da seguinte maneira:



/g exibe as informações de fuso horário atual.



hora especifica a hora em que a tarefa será executada. A hora é especificada como horas:minutos, com base no relógio de 24 horas. Por exemplo, 0:00 representa meia-noite e 20:30 representa 8:30 P.M.



StartDate EndDate define um novo fuso horário, no qual StartDate é a data na qual o horário de verão começa e EndDate é a data na qual o horário de verão termina.


StartDate e EndDate usam o formato Hora:Dia da semana:Dia:Mês , no qual:



• Hora especifica a hora, usando um relógio de 24 horas. Use valores de 00 a 23. Por exemplo, 00 representa meia-noite e 20 representa 8:00 P.M.



• Dia da semana especifica o dia da semana. Use valores de 0 a 6, no qual 0 representa Domingo, 1 representa Segunda e assim por diante.



• Dia especifica a ocorrência do Dia da semana no mês, no qual 1 representa a primeira ocorrência, 2 representa a segunda e assim por diante. Por exemplo, se Dia da semana for domingo, 1 representará o primeiro domingo do mês e 3 representará o terceiro domingo do mês.



• Mês especifica o mês. Use valores de 01 a 12, no qual 01 representa janeiro, 02 representa fevereiro e assim por diante.







Método 1: Configurar manualmente as datas do horário de verão



A seguir está um exemplo de como usar o Timezone.exe para configurar novas datas de início e de fim do horário de verão.



Digite a seguinte linha em um prompt de comando e pressione ENTER:

timezone /s 00:0:2:10 00:0:3:02


O horário de verão para o fuso horário atual está configurado para iniciar às 12:00, meia-noite, no segundo domingo de outubro (00:0:2:10) e terminar às 12:00, meia-noite, no terceiro domingo de fevereiro (00:0:3:02).







Método 2: Usar um script de logon



É possível usar o Timezone.exe em um script de logon se quiser automatizar o processo de atualização das novas datas de início e de fim do horário de verão para diversos computadores. Adicione o seguinte código de exemplo a um script de logon para atualizar um computador com o Windows 2000 ou com o Windows XP usando o Timezone.exe:



if "%OS%" == "Windows_NT" goto NT_OS
z:\Timezone /s 02:0:2:10 00:0:3:02
goto TZEND

:NT_OS
%LogonServer%\NETLOGON\Timezone /s 02:0:2:10 00:0:3:02

:TZEND


Observação: Em computadores que estiverem executando o Windows XP, o Windows 2000 ou o Windows Server 2003, o usuário que faz as alterações no Registro deverá ter permissão administrativa no computador ou as permissões de chave do Registro corretas.







Use o Visual Basic para alterar as informações de fuso horário programaticamente



Para obter informações adicionais sobre como usar o Visual Basic para alterar as informações de fuso horário programaticamente, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:



221542 - Como alterar o fuso horário utilizando o Visual Basic







Mais Informações



No Microsoft Windows 98, no Windows 98 Segunda Edição e no Windows Millennium Edition (Me), as informações de fuso horário são armazenadas na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones



No Microsoft Windows XP, no Windows 2000 e no Windows Server 2003 as informações de fuso horário são armazenadas na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones



As configurações de data e hora atuais configuradas no computador estão localizadas na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation





Fonte: Technet Microsoft - http://www.microsoft.com/brasil/technet/suporte/verao.mspx

18 agosto 2008

Futuro - O que tem no futuro dos técnicos de informática?

Antigamente, quem aprendia uma profissão costumava ficar nela até se aposentar. O tempo passou, as coisas foram mudando e o Brasil de hoje é muito diferente daquele onde nossos pais e avós começaram a trabalhar. As mudanças foram sendo implementadas em velocidade cada vez maior e a informática, que começou a se popularizar a partir dos anos 80, só serviu para aumentar ainda mais a velocidade das mudanças.

Com isto, criou-se uma nova atividade, a de técnico em informática. É uma profissão que já nasceu nos novos tempos e está intimamente ligada ao mundo moderno. Quem faz algum curso na área de informática precisa ter consciência de que, assim que colocou os pés para fora da escola, já estará defasado profissionalmente e precisa imediatamente começar a estudar outro assunto, para não ficar deslocado do mercado de trabalho.

O técnico de informática e qualquer outro profissional que lide com computadores precisa entender que não basta fazer uma escola profissisonalizante ou faculdade, ou então obter certificação em determinado produto e começar a viver disto. É preciso ver para que lado o mercado está indo e procurar, na medida do possível, adiantar-se nos estudos para estar pronto quando as coisas começarem a acontecer.

Quem trabalha, mais especificamente, na área de manutenção de computadores tem um desafio ainda maior. Precisa dominar não só as tecnologias que já passaram, mas também as que estão acontecendo neste exato momento e também preparar-se para aquelas que estão vindo por aí.

Isto porque o dia-a-dia de um técnico de manutenção é marcado pela variedade. Quem tem uma oficina nunca sabe o que vai encontrar pela frente, num mesmo dia pode entrar um antigo 486 e também uma moderníssima máquina com processador de quatro núcleos. Só que, independentemente da situação, a resposta tem que ser a mesma, ou seja: atendimento rápido, eficiente a um preço compatível com o equipamento e o trabalho a ser feito.

A edição número 9 da Revista PnP tem como tema de capa justamente a “Manutenção de PCs”. Mostra detalhadamente as técnicas que temos desenvolvido ao longo das duas últimas décadas e que podem ser aplicadas a qualquer tipo de computador, independentemente de seu ano de fabricação. Mesmo máquinas novas podem apresentar defeito, porém o mais provável é que você se veja frente a frente com um micro com alguma coisa entre 2 a 4 anos de uso, mas isto realmente não importa: o principal é o técnico seguir uma metodologia de trabalho e não se perder durante os procedimentos.

Fazendo um paralelo, imagine um médico-cirurgião cardíaco que já vai logo abrindo o peito do paciente para ver se tem algo errado com o coração. Pois então, é a mesma coisa que você pegar um micro com algum defeito e ir logo formatando o HD e reinstalando o Windows. Antes deste método radical, existem diversos procedimentos que caracterizam o bom atendimento técnico. Esperamos que as dicas que alinhavamos na Revista PnP nº 9 sirvam para melhorar um pouco tanto a profissão dos técnicos de informática quanto o atendimento aos respectivos clientes que, no final das contas, precisam manter seus micros em funcionamento de maneira rápida e econômica.

Bem, mas, respondendo à nossa pergunta inicial... o que tem no futuro dos técnicos de informática é muito estudo, testes, dedicação exclusiva e muita paixão pelo que faz. Só assim os profissionais deste ramo conseguirão sobreviver aos enormes desafios que estão vindo por aí...

Fonte: Revista PnP - www.revistapnp.com.br

Brute-Force - SCRIPT para bloquear ataques de brute-force

Caros Leitores,

É comum hoje em dia, acharmos em nossos logs, várias tentativas de ataques de em um servidor SSH. As ferramentas e dicionários utilizados estão cada vez mais aprimorados. A idéia deste tutorial á fornecer um passo de como implementar um script que verifica uma tentativa de ataque brute force de SSH e imediatamente bloquei o host de origem que estava tentando fazer o ataque.

Neste script estou me baseado na distribuição SlackWare 11.0. Mas poderar ser usado em qualquer distribuição, mas será necessário a alteração do endereço do arquivo onde esta gravado o LOG com os referidos ataques.

O ideal para companhamento um pouco mais eficaz, você implementar o LOGCHECK - http://logcheck.org/. Esta ferramenta tem a função de enviar via e-mail as ultimas alterações feitas no LOG, de acordo com as datas e horários estipuladas pelo usuário.

Vou postar o script e detalharei os seus passo.

#!/bin/sh
# Desenvolvido por José Carlos Oliveira
# Testado no slackware 9, 10, 11.
#
####

##Variáveis para gravação de arquivos

tempip="/usr/local/scripts/bruteips/bloqueia-ips-`date +%d%m%Y`.tmp";
blockip="/usr/local/scripts/bruteips/bloqueia-ips-`date +%d%m%Y`";
script="/usr/local/scripts/bruteips/boqueia-`date +%d%m%Y`";

# separa todos os ips que tentaram bruteforce utilizando os usuarios guest/test/admin/user
#echo -n "Digite o nome do LOG (exemplo: messages): "
#read

cat -n /var/log/messages | grep -P "(guest|test|admin|user)" | grep -i sshd | awk -F" " '{ print $11}' > $tempip;

# faz backup da lista de ips bloqueados
if [ -f $blockip ]; then
cat $blockip >> $tempip;
fi

# remove ips duplicados
sort -u $tempip | grep -v ^$ | grep -v user > $blockip;

# gera um script que bloqueia o ip através do iptables
ips=$(cat $blockip);

#echo "iptables -F INPUT" > $script;
for ip in $ips ; do
blocked=("iptables -A INPUT -s $ip -j DROP")
echo $blocked >> $script
done


#Torna o script executável

chmod +x $script

#Executa Script
$script

#Apaga os arquivos temporários
rm $tempip

Simples, não.... Basta apenas coloca-lo no CRON <Clique aqui para ver sobre o comando CRON> para ser executado no momento em que desejar. Eu particularmente, executo ele de 4 em 4 horas. A invasão não tem hora marcada para acontecer. rs*

Além do script acima, é fundamental um sistema bem configurado. Uma configuração com números máximo de tentativas, por exemplo. Ou seja, configure seu servidor para bloquear contas depois do terceiro login sem sucesso.

Este script pode sofrer melhorias. Coloque a ideia em pratica e compartilhe, para que possamos aperfeiçoa-lo. Conto com vocês...

Em um próximo post estarei falando sobre um programinha de brute force. Caso você tenha interesse em saber um pouco mais, acesse www.cygwin.com ou www.thc.org/thc-hydra.

Até o próximo post....Abraços

13 agosto 2008

Shell scripts não convencionais

Na primeira linha de uma shell, geralmente encontramos algo do tipo:

  #!/bin/bash


ou



  #!/bin/csh


O que poucos sabem, é que podemos criar shells diretamente com outros comandos do Unix.



Por exemplo, eu frequentemente preciso saber o meu endereço de trabalho, mas nunca me lembro onde coloquei o cartão com todos os dados. Este problema pode ser facilmente resolvido com uma shell como abaixo:



  #! /bin/more
Rubens Queiroz de Almeida
Cidade Universitária Zeferino Vaz
Centro de Computação
Unicamp
13.083-970 - Campinas - São Paulo


Este é um script que ecoa para a tela o seu conteúdo. Ao executá-lo temos:



  #! /bin/more
Rubens Queiroz de Almeida
Cidade Universitária Zeferino Vaz
Centro de Computação
Unicamp
13.083-970 - Campinas - São Paulo


Bom, apareceu também a primeira linha, que é uma informação que não preciso. Para resolver isto, basta fornecer ao comando more, o argumento +2, instruindo o comando a iniciar seu trabalho a partir da linha 2. O script fica então assim:



  #! /bin/more +2
Rubens Queiroz de Almeida
Cidade Universitária Zeferino Vaz
Centro de Computação
Unicamp
13.083-970 - Campinas - São Paulo


Desta forma a linha inicial não é mais exibida.



Da mesma forma, se eu substituir a primeira linha por



  #! /bin/ls -l


Teremos uma shell que executa o comando **ls -l* sobre ele mesmo, como abaixo:



  $ ./endereço
-rwxr-xr-x 1 queiroz queiroz 137 Jul 12 18:40 ./endereço


Parece meio inútil, mas certamente deve haver algum uso inteligente para esta facilidade ....

Speedy - Script de autenticação automática Speedy Negócios

Procurei e testei inumeros scripts, porém quase todos continham erros ou incorreções para efetuar a autenticação no Speedy Negócios.

Refiz o script e inclui um log para manter um histórico das conexões.

Salve este script com o nome que desejar, dê permissões para execução do mesmo chmod 755 < nome_do_script> e coloque o mesmo para executar a cada

15 minutos no cron

Altere as variáveis para o seu caso, funciona muito bem no Debian etch.

#!/bin/bash

###########################################

# Script de autenticação speedy negócios

# ver. 1.0

# data 28/04/2008

###########################################

### VARIAVEIS ###

SPEEDYZONEIP="200.171.222.97"

#SPEEDYZONEIP="200.171.222.93"

LOGIN=internet # coloque o seu login

DOMINIO=speedy.com.br # coloque o seu domínio de autenticação

SENHA=internet # coloque sua senha

SPEEDYZONE="http://${SPEEDYZONEIP}/wsc/servlet/logon.do";

URL=registro.br # use uma url sem java e com alta disponibilidade

ARQTEMP=/etc/firewall/temp.txt # coloque o path completo do arquivo temporário

ARQLOG=/etc/firewall/report_auth.log # coloque o path completo do arquivo de log

### FUNÇOES ###

###########################################

# Função para redução do arquivo de log,

# mantêm o arquivo de log com um tamanho

# aceitável

###########################################

corrigeLOG() {

# remove o arquivo temporario de transferência

rm -f $ARQTEMP

if [ -e $ARQLOG ];then

# se o arquivo de log existe, verificar quantas linhas existem no arquivo

LINHAS=`cat $ARQLOG | wc -l`

if [ $LINHAS -gt "2700" ];then

# copiar 2000 linhas de trás pra frente e salvar em um arquivo temporário

# e enviar os textos do console para null

tail -n 2000 $ARQLOG > $ARQTEMP 2> /dev/null

# apagar arquivo de log

rm -f $ARQLOG

# renomear o arquivo temporario como arquivo de log

mv -f $ARQTEMP $ARQLOG

fi

fi

}

###########################################

# Função de autenticação

# cuidado com esta função qq erro imperirá

# a autenticação.

# NOTA : A telefonica custuma mudar os

# endereços e rotinas com alguma frequencia

# já houveram pelo menos 3 alterações desde

# 2002 nesta rotina.

# Caso o sistema não autentique verifique

# pelo browser gráfico os endereços e variáveis

# corretas e altere o script para se adequar

# as novas rotinas.

###########################################

speedy_auth() {

# este comando abaixo é a rotina de autenticação do speedy

lynx -dump

$SPEEDYZONE\?opcion=internet\&CPURL=http\%3A\%2F\%2F${URL}\%2F\&username=${L

OGIN}\%40${DOMINIO}\&password=${SENHA}|grep -i "salvar" >/dev/null

if [ "$?" = "0" ];then

echo "Erro de autenticação de Speedy! `date +"%T de %d/%m/%Y"`" >> $ARQLOG

exit 1

fi

echo "Conexão Ok !! `date +"%T de %d/%m/%Y"`" >> $ARQLOG

}

###########################################

# Função de teste do navegador

# verifica se o lynx está instalado

# se não estiver apt-get install lynx

###########################################

testaNav() {

# testa a presença do nevegador lynx

if ! [ -f "/usr/bin/lynx" ] ; then

# nevegador não intalado o script não funcionará

# portanto sair do script

exit 0;

fi

}

### PRINCIPAL ###

# Verifica se o computador de destino esta pedindo autenticacao

main() {

# verifica se o navegador esta disponivel lynx

testaNav

# reduz, se necessário, o tamanho do log

corrigeLOG

# testa a conexão

ping -c 1 $URL &>/dev/null

# se retornar qq coisa diferente de zero

if [ "$?" != "0" ];then

# conexão não respondeu, então verificar se é a pagina do speedyzone

lynx -dump "$URL" | grep -iEq "speedyzone"

# se a palavra speedyzone foi encontrada então estamos na pagina de login do speedy negocios

if [ "$?" = "0" ];then

# autorizar a conexão

speedy_auth

fi

else

# houve resposta positiva do ping então estamos conectados

echo "Conectado !!! `date +"%T de %d/%m/%Y"`" >> $ARQLOG

exit 1

fi

}

# Chamada da rotina principal

main

exit 0;

Fonte: Roberto L. Machado - http://www.Dicas-L.com.br/

sAMBA - Configurando uma lixeira pARA O Samba

1. Instale o pacote samba-vfs

apt-get install samba-vfs

Se você compilou seu samba na mão habilite o modo compilando-o dentro do diretório com os fontes, na pasta examples/VFS/recycle/

./configure

make && make install

Depois de compilar copie o arquivo gerado (.so) para /usr/lib/samba/vfs/, lembrando de ter configurado (compilado) o samba com a opção vfs habilitada

2. Edite o arquivo recycle.conf

vi /etc/samba/recicle.conf

name = .recycle #lembrando que . no linux significa oculto

# determina que ele vai recriar a estrutura de diretórios sem alterações dentro da lixeira

mode = KEEP_DIRECTORIES|VERSION|TOUCH

#tamanho máximo dos arquivos a serem transferidos pra lixeira 0 = sem limite

maxsize = 0

# arquivos que não serão adicionados na lixiera

exclude = *.tmp|*.temp|*.o|*.obj|~$*

# diretórios que não serão inclusos

excludedir = /tmp|/temp

# arquivos que serão salvos na lixeira se a opção VERSION tiver sido setada em mode (está)

noversions = *.doc|*.xls|*.ppt

Feito isso adicionamos em cada share que quermos habilitar a lixeira:

vfs object = sr/lib/samba/vfs/recycle.so

vfs options = /etc/samba/recycle.conf

Feito!!!

Restarte o samba

PS: como a lixeira não é rotativa se você apaga muita coisa nos seus shares adicione ao crontab uma rotina para apagar arquivos antigos de acordo com a sua necessidade...

FONTE: Dicas-L - http://www.Dicas-L.com.br/

11 agosto 2008

UltraSurf - Bloqueando o ultrasurf na sua rede

O Ultrasurf é um software da UltraReach Internet Corp. desenvolvido para os chineses burlarem a censura que existe por lá. Acho admirável a iniciativa e os desenvolvedores merecem aplausos. Porém, aqui no mundo capitalista, a ordem é produção, logo, preciso evitar que alguns funcionários gastem seu tempo acessando Orkut e derivados.
O Ultrasurf é inteligente e pequeno, cerca de 100Kb. Ele abre várias conexões pela porta 443 a diferentes sites (proxy) e permite que Orkut ou qualquer página bloqueada pelo Orkut seja acessada.
Temos duas formas de bloquear este carinha. Ou seja, ou você bloqueia todas portas e libera as necessarias ou bloqueia via hash no GPO do Windows 2000, XP, 2003.

Bloqueando pelo Squid

Caso você opte por bloquear pela primeira opção crie uma ACl no squid da seguinte forma:
1. Use a política DROP no Iptables, bloqueando todas as portas e liberando o que era necessário.
2. Fechei o acesso no Squid para todas as conexões SSL que eu não queria liberar, assim:
acl sitesssl url_regex -i "/etc/squid/sitesssl"
http_access deny SSL_ports !sitesssl
No arquivo /etc/squid/sitesssl estão os sites liberados, entre eles, bancos, gmail, hotmail, messenger.
Detalhe: NÃO funciona com proxy transparente.
Para saber se os usuários estão usando o Ultrasurf basta visualizar os relatórios de acesso. Caso apareçam muitas conexões pela porta 443 com um número significativo de IPs (não vai resolver nomes), o usuário está usando o programa.

Bloquenado no GPO do Windows 2000 e 2003

  1. Crie uma GPO para configurar apenas este recurso. O nome pode ser, por exemplo, COMPUTADORES: Bloqueio executável Ultrasurf.
  2. Edite a GPO atráves do comando GPEDIT.MSC no menu executar do Windows. Saiba mais sobre os comando do Windows <Clique AQUI>
  3. Na janela de edição da GPO, expanda Configurações do computador -> Configurações do Windows -> Configurações de segurança.
  4. Clique com o botão esquerdo do mouse para selecionar Diretivas de restrição de software.
  5. Clique com o botão direito em Diretivas de restrição de software e clique em Novas diretivas de restrição de software.
  6. Na pasta "Regras adicionais", clique com o botão direito do mouse e selecione "Nova regra de hash...".
  7. Na janela "Nova regra de hash", clique no botão procurar e localize o executável do Ultrasurf. Confirme que a opção "Nível de segurança" esteja definida como "Não permitido" e clique no botão Ok para criar a nova regra de hash.
  8. Repita os passos 6 e 7 para cada versão do executável do Ultrasurf.
  9. Aplique a GPO apenas na Unidade Organizacional que contém os computadores dos usuários.
Infelizmente temos que criar uma nova regra de hash para cada versão do Ultrasurf, pois o hash do executável dele é diferente para cada versão.
Não esqueça as recomendações padrão no trato de GPOs:
  • Não altere as GPOs "Default domain policy" ou "Default domain controllers policy".
  • Trabalhe com GPOs sempre no nível das Unidades Organizacionais para evitar erros de configuração em outros níveis do domínio.
  • Aplicada esta regra no Windows e você esteja em um dominio, a regra será aplicada para todo usuário do mesmo.

Bloquenado no GPO do Windows XP

  1. Iniciar, executar, gpedit.msc. Saiba mais sobre os comando do Windows <Clique AQUI>
  2. Expanda Configuração do Computador, configurações do Windows, configurações de segurança, Diretivas de restrição de software, regras adicionais.
  3. Clicar com o botão direito no lado direito do gpedit, nova regra de Hash, no hash de arquivo procurar o arquivo ou o executável que deseja bloquear, nível de segurança fica na opção não permitido.
  • Não esqueça que para cada versão do software, será necessário a criação de uma nova hash.
  • Procure sempre manter-se atualizado sobre novas versões deste software.
De uma olhada nas imagens:
imagem1
imagem2
imagem3
imagem4
imagem5
imagem6
imagem7
imagem8
fonte: http://www.vivaolinux.com.br/ (trechos destes posts retirados do site)
Espero ter ajudado.
Até o próximo post.....