hardening para windows

20
Windows Hardening Autor: Bernardo Maia Rodrigues CSIRT PoP-MG ([email protected]) Última modificação: 22/02/2008

Upload: ariadne-rodrigues

Post on 20-Oct-2015

74 views

Category:

Documents


0 download

TRANSCRIPT

Windows Hardening

Autor: Bernardo Maia Rodrigues

CSIRT PoP-MG ([email protected]) Última modificação: 22/02/2008

Introdução

O conceito de Hardening caracteriza medidas e ações que visam proteger um determinado sistema de invasores. Dentre as ações típicas do processo podemos citar:

• Remoção de logins, usuários, programas e serviços desnecessários • Aplicação de patches nos programas e no kernel do sistema operacional • Fechar portas da rede • Adoção de sistemas de detecção e prevenção de intrusão • Firewalls • Scripts de hardening

A grande maioria de máquinas comprometidas têm o Windows como sistema operacional. Os criadores de malware tentam infectar o maior número possível de máquinas em um curto prazo de tempo, e, como Windows é a plataforma mais usada atualmente, eles focam seus esforços no sistema da Microsoft. Um sistema Windows deve estar sempre atualizado, protegido por Firewall e Anti-vírus, e os usuários locais devem ser cautelosos com o conteúdo de arquivos e páginas que acessam.

As recomendações a seguir aplicam-se à maior parte das versões do Windows baseadas no NT (Windows NT/2000/XP/2003/Vista). Nos casos em que existem grandes diferenças nas configurações dos Sistemas, detalhou-se os passos para cada uma das versões.

Atualizações e Patches

Todo sistema operacional deve ser atualizado com frequência, assim como seus componentes, programas e serviços instalados. O Windows possui um sistema automático para verificar se os pacotes estão desatualizados e passíveis de falhas - o Windows Update. Além disto, existem vários gerenciadores de versões de programas comerciais, Freewares e Sharewares instalados na máquina, que auxiliam o usuário final a manter seu sistema sempre atualizado.

Para manter um sistema Windows atualizado, siga os procedimentos do documento abaixo: http://www.csirt.pop-mg.rnp.br/docs/so/atualizacao.html#windows

Firewall

Existe uma quantidade grande de soluções firewall disponível. Para usuários domésticos que usam o sistema Windows, um dos mais conhecidos é o ZoneAlarm, que dispõe de uma versão gratuita e outra paga, com mais recursos. Em ambos os casos, é possível utilizar configurações pré-definidas, que oferecem bons níveis de segurança. O site para fazer o download do software é o www.zonealarm.com.

Uma outra solução interessante (e gratuita) é o Comodo Firewall - http://www.comodobr.com/produtos/prd_firewall.php. Ele ajuda você a entender o que está acontecendo, analisando cada alerta e fornecendo respostas intuitivas. Um diferencial do programa é o fato dele ter uma base de dados interna, usada para classificar os aplicativos de acordo com seu nível de risco, tais como SEGURO, SPYWARE, ADWARE etc.

Vale citar que o Windows XP já vem com um firewall, que apesar de não ser tão eficiente, é um bom aliado na segurança. Para ativá-lo, vá em Iniciar / Configurações / Conexões de Rede /

Conexão Local / Avançado e habilite o Firewall de Conexão com a Internet. Caso sua internet chegue por uma placa wireless você deve habilitar o firewall para Conexão de Rede Sem Fio.

O uso de mais de um firewall ao mesmo tempo é desaconselhável. Em muitos casos, isto irá gerar um conflito entre os programas, tornando a conexão com a internet instável, além de prejudicar a performance do sistema. Para proteger a rede com várias camadas, o uso de um Firewall baseado em Hardware pode ser interessante.

Netbios

Um item importante que deve ser observado é a presença do protocolo NetBios. O NetBios é uma interface que fornece às aplicações de rede um serviço de transmissão orientada à conexão, um serviço de nomes para identificar seus usuários na rede, e opcionalmente um serviço de transmissão de datagramas não confiável. Em outras palavras, com esse protocolo ativado, algumas portas de sua máquina ficam em estado de escuta (abertas), e através dessas portas que são feitas invasões, além é claro, do alto tráfego de vírus que passam pelas mesmas. O NetBios usa as seguintes portas UDP/137, UDP/138, UDP/139.

Para desabilitar a interface NetBios:

1. Na área de trabalho, clique com o botão direito do mouse em Meu Computador e clique em Propriedades.

2. Clique na alça Hardware e clique no botão Gerenciador de Dispositivos. 3. Clique no menu Exibir e depois em Mostrar dispositivos ocultos. 4. Expanda (clique no símbolo +) Drivers que não são Plug and Play. 5. Clique com o botão direito em NetBT (NetBios) em TCP/IP e clique em Desinstalar.

O serviço de nomes NetBios permite a resolução de nomes sem usar um servidor WINS. O Serviço Transmissão de Datagramas NetBios é usado por aplicações como o serviço Mensageiro e serviço do Browser, além de outras aplicações que usam a interface de Mailslots. O Serviço de Seção NetBios está presente na maior parte das redes, e é responsável pelas transferências/impressões pela rede, e por aplicações remotas como o Gerenciador do Servidor e o Gerenciador de Usuários. Desativar a interface pode prejudicar e até mesmo parar totalmente estes serviços.

SMB (Bloco de Mensagem de Servidor)

Um outro vilão, e que trabalha junto com o NetBios, é o SMB (Bloco de Mensagem de Servidor), que opera na porta 445, porta essa que passa tráfego de muitos vírus. O fato de desabilitarmos as portas que o NetBios trabalha, não resolve o problema, pois na ausência das mesmas todo o tráfego da interface NetBios é direcionado para essa porta. Portanto, esses serviços devem ser desabilitados. A interface NetBios deve ser desabilitada nas propriedades de rede, e o SMB, removendo o Compartilhamento de Arquivos e Impressoras para Rede Microsoft e Cliente para Redes Microsoft. Vale lembrar que o item Cliente para Redes Microsoft deve ser desabilitado somente se você não possuir uma rede local. Já o item Compartilhamento de Arquivos e Impressoras pode ser desabilitado mesmo você tendo uma rede local, desde que não haja a necessidade de compartilhamento de impressora e arquivos na rede.

Para desabilitar o SMB:

1. No menu Iniciar, aponte para Configurações e, em seguida, clique em Conexões de Rede.

2. Clique com o botão direito do mouse na conexão com a Internet e clique em Propriedades.

3. Selecione Cliente para Redes Microsoft e clique em Desinstalar. 4. Siga as etapas de instalação. 5. Selecione Compartilhamento de Arquivos e Impressoras para Redes Microsoft e clique

em Desinstalar. 6. Siga as etapas de instalação.

Esses passos desabilitam a escuta no host direto SMB nas portas TCP/445 e UDP 445.

Observação: esse procedimento desabilita o driver nbt.sys. A guia WINS da caixa de diálogo Configurações TCP/IP Avançadas contém uma opção Desativar NetBios sobre TCP/IP. Selecionar essa opção somente desabilita o Serviço de Sessão NetBIOS (que escuta na porta TCP 139). Ela não desabilita o SMB completamente. Para isso, siga as etapas descritas acima.

Como um impacto inicial, nenhum sistema poderá se conectar com o servidor via SMB. Os servidores não poderão acessar pastas compartilhadas na rede e muitas ferramentas de gerenciamento não conseguirão se conectar aos servidores.

Limitando contas dos usuários

O uso de contas não administrativas garante uma proteção eficaz contra Malwares. A maioria das atividades diárias (navegar na Internet, ler E-mail, mensageiros instantâneos etc) não necessitam de privilégios administrativos: pode-se restringir a conta do administrador para tarefas de manutenção, instalação e configuração do sistema. Esta medida restringe drasticamente a exposição a Malwares.

O simples fato de limitar a conta do usuário inibe a ação de vários exploits (falhas), que necessitam de privilégios elevados para explorar falhas remotas. De posse da conta de administrador, um intruso pode:

• Instalar rootkits no kernel, além keyloggers • Instalar e executar serviços • Instalar controles do ActiveX, incluindo add-ins para o IE (infectados com spyware e

adware) • Acessar dados de outros usuários • Capturar/Registrar as ações de todos os usuários • Substituir os Arquivos de Programas do sistema operacional com Trojans • Acessar os LSA Secrets,além de informações sensíveis das contas de usuários • Desabilitar/Desinstalar anti-vírus • Cobrir os rastros apagando logs do sistema • Desativar o boot do sistema • Se a mesma conta for usada em outros computadores da sub-rede, o intruso pode

ganhar controle sobre várias máquinas

Conta de Convidado (Guest)

Uma conta de Convidado permite que usuários sem conta no sistema acessem o computador. Na instalação padrão do Windows, ela já vem desabilitada. Além de desabilitar a conta Guest, é possível renomear e/ou proteger a conta com uma senha. Entre no Painel de Controle/Ferramentas Administrativas/Gerenciamento do Computador

No campo de Usuários Locais e Grupos, basta clicar com o botão direito no usuário Guest (ou em qualquer outro usuário) para fazer as modificações desejadas. O comando net, também pode ser usado:

net user [nome_de_usuário [senha | *] [opções]] [/domain]

nome_de_usuário {senha | *} /add [opções] [/domain]

nome_de_usuário [/delete] [/domain]

Quando este comando é usado sem as opções de linha de comando, as contas de usuário do computador são listadas. As informações das contas de usuário são armazenadas no banco de dados de contas de usuário.

É possível usar os seguintes parâmetros com o comando net user:

• nome_de_usuário: É o nome da conta de usuário a ser adicionada, excluída, modificada ou exibida. O nome desta conta pode ter até 20 caracteres.

• senha: Atribui ou altera uma senha para a conta do usuário. Uma senha deve atender ao comprimento mínimo definido com a opção /minpwlen do comando net accounts e pode conter até 14 caracteres.

• *: Produz um prompt para a senha. Esta senha não é exibida quando digitada em um prompt de senha.

• /domain: Realiza a operação no PDC (Controlador de Domínio Primário) do domínio atual. Este parâmetro somente se aplica aos computadores que executam o Windows

NT Workstation e que são membros de um domínio do Windows NT Server. Por padrão, computadores com base no Windows NT Server realizam operações no PDC.

• /add: Adiciona uma conta de usuário ao banco de dados de contas de usuário. • /delete: Remove uma conta de usuário do banco de dados de contas de usuário.

Conta de Administrador

A conta de Administrador é capaz de modificar quaisquer permissão e configuração do sistema. A contas padrão “Administrator” e/ou “Administrador” são altamente visadas nos ataques de força bruta. Para evitar que intrusos ganhem privilégios administrativos usando a conta de Administrador, é altamente recomendável renomeá-la:

1. Vá em Painel de Controle/Ferramentas Administrativas/Gerenciamento do Computador

2. Entre na aba Usuários e Grupos Locais, clique com o botão direito em “Administrador” (ou “Administrator” para sistemas em inglês) e clique em renomear.

3. Em seguida, clique novamente com o botão direito no “Administrador” e vá até Propriedades e edite a descrição para a conta de usuário, para não revelar sua identidade.

Se a conta de Administrador não estiver protegida por senha, ajuste-a nesse momento. Para verificar todos os usuários pertencentes ao grupo de administradores, pode-se usar o utilitário net, no Prompt de Comando:

Para Sistemas em Inglês:

net localgroup administrators

Para Sistemas em Português:

net localgroup administradores

Existe também um software que renomeia as contas automaticamente, pelo Promt de Comando. O RenUser é gratuito, e pode ser baixado ehttp://www.jsifaq.com/docs/files/74391/renuser.zip. A sintaxe do programa segue o modelo:

renuser <Usuário Atual> <Novo Usuário> [<Domínio>]

O Campo domínio é opcional. Para renomear o usuário “Administrador” para “Pedro”, no domínio WORKGROUP, por exemplo, basta usar o comando:

renuser Administrador Pedro WORKGROUP

Segurança de Senhas

Com todos os avanços na área da segurança da informação, um aspecto permanece constante: senhas têm uma importância primordial. O problema das senhas é o fato de que elas são, freqëntemente, o mecanismo de segurança mais fácil de ser quebrado. Podemos usar tecnologia e políticas para torná-las mais fortes, mas, ainda assim, permanecemos com o aspecto do sistema mais sucetível a falhas: o elemento humano.

Uma meta dos administradores é fazer com que usuários escolham as melhores senhas possíveis. Contudo, nem sempre está especificado como fazer isso. O problema é que a mente humana é altamente previsível. Se alguém começar a fazer uma lista aleatória de palavras, fatalmente surgirá algum padrão. Escolher boas senhas requer treinamento. Os administradores precisam ser treinados para instruir os usuários finais. Os tópicos abaixo cobrem aspectos relevantes e mitos comuns nas senhas usadas pelo Windows 2000/2003/XP/Vista.

Desabilitando Hash LM

Em vez de armazenar a senha da conta do usuário em texto sem formatação, o Windows gera e armazena as senhas usando duas representações distintas, geralmente conhecidas como “hashes”. Ao definir ou alterar a senha de uma conta de usuário para uma senha que contém menos de 15 caracteres, o Windows gera um hash do LM hash (LAN Manager) e um NT hash (hash do Windows NT) da senha. Estes hashes são armazenados no banco de dados SAM (Gerenciador de contas de segurança) local ou no Active Directory.

O LM hash é relativamente fraco se comparado ao NT hash e, por isso, é mais suscetível a ataques de força bruta e por tabelas pré-computadas (Rainbow Tables). Portanto, é possível impedir que o Windows armazene um LM hash da sua senha.

Servidores com o Windows 2000 e com o Windows Server 2003 podem autenticar usuários que se conectam de computadores executando todas as versões anteriores do Windows. No entanto, as versões do Windows anteriores ao Windows 2000 não usam o Kerberos para autenticação. Para a compatibilidade com versões anteriores, o Windows 2000 e o Windows Server 2003 aceitam autenticação LM (LAN Manager), autenticação NTLM (Windows NT) e a autenticação NTLMv2 (NTLM versão 2). O NTLM, o NTLMv2 e o Kerberos todos usam o NT hash, também conhecido como o hash Unicode. O protocolo de autenticação LM usa o LM hash. O LM já vem desativado por padrão no Windows Vista, mas pode ser reativado manualmente por motivos de compatibilidade.

É melhor evitar o armazenamento do LM hash se você não precisar dele para compatibilidade com versões de sistemas operacionais anteriores. Se a rede contiver clientes com Windows 95, com Windows 98 ou com Macintosh, será possível perceber os seguintes problemas ao impedir o armazenamento dos LM hashes para o seu domínio:

• Usuários sem um LM hash não serão capazes de se conectar a um computador com o Windows 95 ou com o Windows 98 que está funcionando como um servidor, a menos que os Directory Services Client para o Windows 95 e para o Windows 98 esteja instalado no servidor.

• Usuários em computadores com o Windows 95 ou com o Windows 98 não serão capazes de se autenticar em servidores usando suas contas de domínio, a menos que tenham o Directory Services Client instalado em seus computadores.

• Usuários em computadores com o Windows 95 ou com o Windows 98 não serão capazes de se autenticar usando uma conta local em um servidor se o servidor tiver os hashes LM desabilitados, a menos que eles tenham o Directory Services Client instalado em seus computadores.

• Os usuários podem não ser capazes de alterar suas senhas de domínio por um computador com o Windows 95 ou com o Windows 98, ou poderão perceber problemas de bloqueio de conta quando tentarem alterar suas senhas por estes clientes mais antigos.

• Usuários de clientes Macintosh Outlook 2001 podem não ser capazes de acessar suas caixas de correio em servidores com o Microsoft Exchange.

Para desativar os hashes LM e forçar o Windows a armazenar todas as senhas em NT, basta executar os seguintes passos (lembrar de fazer backup dos seus dados anteriormente!):

1. Execute o regedit 2. Navege até a

entrada HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

• Windows 2000: Clique em Editar e crie uma Nova Chave com o nome NoLMHash, apertando ENTER em seguida e ajustando o valor da chave (Value data) para 1.

• Windows XP/2003: No menu Editar, vá em Novo, e crie um valor DWORD com o nome NoLMHash (caso não exista) e troque o valor da chave para 1

• Windows Vista: Vá em Iniciar/Executar e abra o script secpol.msc. Ele possui uma série de configurações pré-definidas para ativar/desativar funções de segurança das senhas.

De acordo com a Microsoft, a maneira mais simples de evitar que o Windows armazene hashes LM da sua senha é usando senhas com mais de 15 caracteres. Deste modo, o valor do hash LM armazenado estará inválido e não poderá ser usado para autenticar o usuário. Uma outra maneira de evitar o LM é implementar a diretiva NoLMHash usando a diretiva de grupo:

1. Na diretiva de grupo, expanda Configuração do computador, Configurações do Windows, expanda Configurações de segurança, Diretivas locais e clique em Opções de segurança.

2. Na lista de diretivas disponíveis, clique duas vezes em Segurança de rede: não armazenar o valor de hash do LAN Manager na próxima alteração de senha.

3. Clique em Ativada e em OK.

Referências: http://support.microsoft.com/kb/147706 http://support.microsoft.com/?kbid=299656

Senhas e Mitos

Mito #1: Hashes de Senhas estáo Seguros com o NTLMv2

Hashes de senhas LanManager (LM) do Windows são fracos. O uso de hashes NTLM torna o serviço mais seguro incluindo um algoritmo maior de hash e diferenciando letras maiúsculas de minúsculas. Contudo, programas como L0phtcrack e o rcrack, associados a Rainbow Tables podem quebrá-las em apenas alguns minutos. O NTLMv2 tornou o processo ainda mais avançado, computando uma chave de 128-bits e usando chaves separadas para a integridade da mensagem. Apesar de todos esses avanços, versões mais antigas do Windows (2000/98/95) enviam hashes pela rede usando LM e NTLM, e o NTLMv2 ainda é vulnerável a ataques “in-transit” (também conhecidos como replay). E como os hashes LM e NTLM ainda permanecem armazenados no registro, seu sistema continua vulnerável a ataques contra o SAM.

Ainda vai levar algum tempo para se extinguir o uso do LanManager nos sistemas Windows. Até lá, não se pode garantir que os hashes estão 100% seguros.

Mito #2: Dj#wP3M$c é uma ótima senha

Um mito comum é que senhas aleatórias criadas por geradores de senhas são as melhores possíveis. Isto não é verdade. Apesar do fato destas senhas serem fortes, elas são difíceis de memorizar, lentas para se digitar, e às vezes vulneráveis a ataques contra o algoritmo que gerou a senha. É possível criar senhas fortes, mas fáceis de memorizar usando técnicas simples. Por exemplo, a senha “[email protected]”: A senha alterna caracteres maiúsculos e minúsculos, tem dois números e dois símbolos. Ela tem 17 dígitos e pode ser memorizada facilmente. Além disso, as palavras “Super81” e “senha.com” alternam posições da esquerda e direita no teclado, aumentando a velocidade para se digitar, diminuindo as chances de erros de digitação e de alguém descobrí-la olhando você digitá-la.

A melhor técnica para criar senhas complexas e de fácil memorização é através de estruturas de dados que já estamos acostumados. Uma boa referência sobre este tópico pode ser encontrada em http://www.csirt.pop-mg.rnp.br/docs/senhas.pdf

Mito #3: O tamanho ideal para a senha é de 14 dígitos

Com o LM, os hashes das senhas são divididas em dois hashes distintos, com 7 caracteres. Isto tornou as senhas mais vulneráveis porque um ataque por força bruta pode ser usado contra cada uma das metades ao mesmo tempo. Desta maneira, senhas que têm 9 caracteres são quebradas em um hash de 7 dígitos e outro de 2 dígitos. Obviamente, quebrar um hash de 2

dígitos não leva muito tempo, e a porção de 7 dígitos pode ser quebrada em algumas horas. Freqüentemente, a porção menor pode ser usada para ajudar a quebrar a parte maior. Por este motivo, muitos profissionais de segurança recomendam senhas com 7 a 14 caracteres.

O NTLM melhorou a situação usando hashes de 14 caracteres para armazenar a senha. Apesar disto, as caixas de diálogo do NT limitam as senhas em 14 caracteres. Para evitar problemas, senhas com exatamente 14 dígitos são altamente recomendáveis.

Versões mais novas do Windows armazenam senhas de até 127 dígitos. Para senhas com 15 ou mais caracteres, o Windows armazena a constante AAD3B435B51404EEAAD3B435B51404EE como hash, que equivale a uma senha nula. E como a senha real obviamente não é nula, as tentativas de quebrar o hash LM irão falhar.

Mito #4. J0hn99 é uma boa senha

Apesar de passar nos requisitos mínimos de complexidade do Windows 2000, “J0hn99” não é uma senha tão forte quanto parece. A maior parte dos programas para quebrar senhas possuem regras customizáveis que podem tentar milhões de variantes por segundo, trocando letras por números e alternando posições de sufixos e prefixos (“o” por “0”, “e” por “3” por exemplo).

Uma boa opção é tentar ser menos previsível. Ao invés de trocar “o” por “0”, tente trocar “o” por caracteres como ”()”, como em “j()hn”. E, além disso, vale ressaltar que senhas maiores ficam ainda mais difíceis de serem quebradas.

Mito #5: Qualquer senha pode ser quebrada

Uma senha pode ser descoberta através de keyloggers ou por engenharia social, mas, dependendo da sua complexidade, é possível torná-la inquebrável em tempo hábil. Se uma senha é grande o suficiente, o processo de força bruta pode ser extremamente custoso computacionalmente, levando séculos para ser quebrada. Avanços na computação podem tornar possível esse processo, o que transformaria este mito em realidade.

Mito #6: Senhas devem ser trocadas a cada 30 dias

Apesar desta ser uma boa prática para senhas de alto risco, não é uma política adequada para usuários regulares. Exigir mudanças freqüentes de senhas pode fazer com que o usuário crie padrões previsíveis de senhas, ou use outros meios que irão diminuir a eficiência da senha. É frustrante para o usuário ter que lembrar novas senhas a cada 30 dias. Ao invés de fazer as senhas expirarem, criar políticas para senhas mais fortes é uma melhor recomendação. Um tempo aceitável para expirar senhas de usuários regulares é de 90-120 dias. Se o usuário tem mais tempo para pensar, fica mais fácil convencê-lo a usar senhas mais fortes.

Mito #7: Senhas nunca devem ser escritas

Apesar de não recomendado, as vezes é necessário escrever uma senha de difícil memorização. Usuários ficam mais confortáveis para criar senhas complexas se puderem anotá-las em algum lugar. É importante educar os usuários sobre como escrever as senhas. Uma nota no monitor não é uma boa prática: um local fechado com acesso restrito é suficiente. Não se deve negligenciar as políticas de segurança e simplesmente jogar fora papéis

e documentos com senhas. Muitas senhas são comprometidas por pessoas que vasculham lixos e restos de papéis.

Às vezes pode ser interessante salvar as senhas em programas específicos para isto. Estes programas permitem que o usuário guarde diversas senhas em um um único lugar, protegido com uma senha mestre. De posse da senha mestre, você tem acesso a toda lista de senhas. Mas antes de permitir o uso destes aplicativos, deve-se educar o usuário para usar uma senha forte, já que o próprio programa de armazenamento de senhas pode ser alvo do ataque. A melhor técnica é combinar tecnologia, localização física e a política da companhia.

Para certos casos, as senhas precisam ser documentadas. É comum uma empresa enfrentar problemas com a saída de um administrador, que era o único responsável pelas senhas de servidores. Escrever senhas não é uma política recomendável, mas se for realmente necessária, deve ser usada com cautela e segurança.

Mito #8: Senhas não podem conter espaços

Apesar de muitos usuários não saberem disto, o Windows permite o uso de espaço nas senhas. De fato, todo caractere visível do Windows pode ser usado em senhas. Apesar de espaços serem caracteres válidos, algumas aplicações desconsideram-nos, o que pode acarretar problemas em senhas que começam e/ou terminam com espaços.

Espaços podem facilitar a criação de senhas mais complexas. Espaços usados entre palavras podem encorajar usuários a usar mais de uma palavra nas senhas.

Um aspecto interessante é que estes caracteres não afetam os requisitos de complexidade da senha do Windows. Não são considerados números, letras nem símbolos. Ao mesmo tempo que pode ajudar sua senha a ficar mais complexa, eles não ajudam a passar nos requisitos de complexidade do Windows.

E finalmente, uma desvantagem de usar espaços é o barulho de quando a tecla é digitada. Não é difícil escutar quando alguém usa o espaço em uma senha. Espaços são permitidos nas senhas, mas não devem ser utilizados com excesso.

Mito #9: Sempre usar a biblioteca Passfilt.dll

O Passfilt.dll é um componente que força o usuário a usar senhas fortes. No Windows 2000 e XP, ela é implementada através da política “Passwords must meet complexity requirements”. Obrigar os usuários a usar senhas fortes é uma boa prática, mas pode ser frustrante para alguém que tem várias senhas rejeitadas por não atingir os requisitos mínimos. Até mesmo administradores mais experientes têm de digitar várias senhas até encontrar uma que passe pelos requisitos de complexidade.

Se você descobrir que os usuários estão descontentes com os requisitos de complexidade, uma possível solução é cancelar esta política e exigir senhas maiores. Uma senha com nove caracteres (minúsculos) tem a mesma complexidade de uma senha de sete caracteres que alterna letras maiúsculas, minúsculas e números. O método usado no ataque de força bruta contra a senha terá diferentes resultados nestes casos: alguns destes programas tentam combinações de letras minúsculas antes de alternar letras e números.

Usuários mais avançados podem criar regras e políticas de senhas próprias, usando a Plataforma SDK do sistema.

Educar os usuários sobre o que torna as senhas complexas, com exemplos, também ajuda nestes casos.

Mito #10: Usar ALT+255 para criar a senha mais forte possível

É comum ver recomendações para se usar caracteres ASCII, não-existentes no teclado, o que tornaria a senha “inquebrável”. Caracteres ASCII altos não podem ser digitados diretamente no teclado: deve-se segurar a tecla ALT e digitar seu valor em ASCII no teclado numérico. Por exemplo, a seqüência ALT+0255 gera o caractere <ÿ>.

Apesar de ser útil em algumas situações, deve-se levar em conta as desvantagens no uso de senhas com tais caracteres. Segurar o ALT e digitar seqüências no teclado numérico pode ser facilmente observado por terceiros. Além disso, criar tais seqüências requer a memorização de cinco teclas distintas. Ao invés de digitar vários números para compor um caractere em alto ASCII, pode ser mais interessante usar estas teclas “a mais” e criar uma senha maior.

Por exemplo, uma senha de cinco caracteres criadas com letras em ASCII requer o uso de 25 teclas. Com 255 possibilidades para cada caractere, e cinco caracteres, o total de combinações posśiveis é de 255^5 (1.078.203.909.375). Uma senha com 25 caracteres minúsculos tem 26^25 (236.773.830.007.968.000.000.000.000.000.000.000) combinações possíveis. Notavelmente, criar senhas maiores é muito mais útil.

Outro aspecto que deve ser considerado é o fato que algumas aplicações de linha de comando não aceitam tais caracteres. Por exemplo, você pode usar o caractere ALT+0127 no Windows, mas não pode digitá-lo no prompt de comando. Caracteres específicos como Tabs (ALT+0009), Quebras de Linha (ALT+0010) e o ESC (ALT+0027) só podem ser usados no prompt.

Em casos específicos pode ser útil usar estes caracteres especiais. Se você possui um serviço sensível ou contas de Administrador locais que são raramente usadas, o caractere extendido pode ser útil, já que são poucos os Password Crackers com a função de testar estes caracteres em alto ASCII.

Uma observação final sobre caracteres extendidos é o uso do espaço que evita quebra de linhas (ALT+0160) - http://en.wikipedia.org/wiki/Non-breaking_space. Este caractere aparece como um espaço e pode enganar aqueles que, de alguma forma, conseguirem ver a senha. Supondo que um atacante instale um keylogger no seu sistema. Se você usa este espaço na sua senha, o caractere vai aparecer como um espaço normal no log do keylogger. Se o atacante não souber da existência deste espaço, e sem visualisar o código ASCII do arquivo, as senhas que ele testar não irão funcionar.

Conclusão

Muitos podem discordar de alguns pontos apresentados aqui, mas este é o propósito do artigo. Um mito é uma “quase-verdade”. Muitos dos mitos atacados aqui já foram boas recomendações há algum tempo atrás, ou continuam úteis para casos específicos. Estas recomendações, como o próprio nome já diz, são apenas sugestões. Você deve determinar quais regras funcionarão para você e sua empresa e quais não irão adiante. Talvez o maior mito de todos é o fato de que existem regras pré-definidas para segurança de senhas.

Em alguns casos J0hn99 é uma boa senha e em outros, senhas devem ser mudadas a cada 30 dias. Algumas senhas, como a de Administrador, precisa de maior proteção que as demais. Você deve usar o que você já sabe e aproveitar o que achar útil destas recomendações.

Uma boa senha não basta ser complexa. Uma boa senha não deve ser de fácil dedução, mas deve ser fácil de lembrar. Deve ser grande o suficiente e possuir letras, números e símbolos, e ser de fácil digitação, para que possa ser digitada rapidamente sem erros. Deve ter elementos de aleatoriedade que só um computador pode gerar, somados com fatores que só um ser-humano pode criar.

A melhor senha é aquela que o usuário escolhe baseado em um entendimento prévio sobre sua segurança - uma senha difícil de quebrar que não vai ser esquecida. E a melhor política de senha é aquela que ajuda o usuário a criar estas senhas.

Referência: http://www.securityfocus.com/infocus/1554/

Auditoria de Senhas

O processo de auditoria demostra se um sistema está seguro ou não, verificando se uma senha pode ser quebrada em segundos, horas, semanas ou anos. É um processo de grande importãncia para os administradores, já que qualquer senha pode ser quebrada, desde que haja tempo e poder de processamento suficiente.

SAMInside

O SAMInside é um programa designado para recuperar e auditar senhas dos usuários no Windows NT/2000/XP/2003/Vista. O programa, além de recuperar os hashes de senhas do sistema, realiza os seguintes ataques:

- Ataque por força bruta; - Ataque distribuído; - Ataque por máscara; - Ataque por dicionário; - Ataque híbrido; - Ataque por tabelas pré-computadas.

Site Oficial: http://www.insidepro.com/eng/saminside.shtml

PWDumpX

O PWDumpX permite que um usuário com privilégios administrativos recupere senhas do domínio no cache, hashes das senhas, histórico de senhas e os segredos LSA de um sistema Windows qualquer. O utilitário pode ser usado em um sistema local ou em um ou mais sistemas remotos.

Site Oficial: http://reedarvin.thearvins.com/tools.html

Pwdump

Existem várias versões do Pwdump, cada uma com uma funcionalidade distinta. Estes programas são usados para extrair hashes de senhas (LM/NTLM) dos usuários do Windows, para que possam ser quebrados posteriormente.

Download: http://www.openwall.com/passwords/microsoft-windows-nt-2000-xp-2003-vista

Cain & Abel

O Cain & Abel é um utilitário para auditar senhas nos Sistemas Operacionais da Microsoft. Ele permite recuperar vários tipos de senhas capturando o tráfego na rede, quebrando a criptografia por força bruta, dicionários, ataques de criptoanálise, decodificando senhas embaralhadas, revelando campos e caixas de senhas, recuperando senhas em cache e analisando protocolos de roteamento.

Site Oficial: http://www.oxid.it/cain.html

John the Ripper

O John the Ripper é um software para quebra de senhas altamente eficiente, que funciona em DOS, Windows, Linux, BSD, além de vários outros sistemas. Ele possui os seguintes modos de ataque:

• Dicionário (Wordlist): sendo o modo mais simples suportado pelo programa, este é o conhecido ataque de dicionário, que lê as palavras de um arquivo e verifica se são correspondentes entre si.

• Quebra Simples (Single Crack): mais indicado para início de uma quebra e mais rápido que o wordlist, este modo usa técnicas de mangling e mais informações do usuário pelo nome completo e diretório /home em combinação, para achar a senha mais rapidamente.

• Incremental: sendo o modo mais robusto no John the Ripper, ele tentará cada caractere possível até achar a senha correta, e por esse motivo é indicado o uso de parâmetros com o intuiro de reduzir o tempo de quebra.

• Externo (External): o modo mais complexo regras definidas em programação no arquivo de configuração do programa, que irá pré-processar as funções no arquivo no ato da quebra quando usar o programa na linha de comando e executápara aprender e acostumar

O modo mais simples de se usar o John é especificar o arquivo com as senhas de usuários criptografadas e deixar ele fazer tudo automaticamente. Ele irá começar com o modo single crack, depois irá passar para o modo wordlist e finalmente irá passar para o modo incremental.

Site Oficial: http://www.openwall.com/john/

Referências: http://pt.wikipedia.org/wiki/John_the_Ripperhttp://www.neoteam.com.br/index.php?mod=article&cat=Tuto&article=488

Incremental: sendo o modo mais robusto no John the Ripper, ele tentará cada caractere possível até achar a senha correta, e por esse motivo é indicado o uso de parâmetros com o intuiro de reduzir o tempo de quebra.

Externo (External): o modo mais complexo do programa que faz a quebra a partir de regras definidas em programação no arquivo de configuração do programa, que irá

processar as funções no arquivo no ato da quebra quando usar o programa na linha de comando e executá-las. Este modo é mais completo e necessita de tempo para aprender e acostumar-se.

O modo mais simples de se usar o John é especificar o arquivo com as senhas de usuários criptografadas e deixar ele fazer tudo automaticamente. Ele irá começar com o modo single

r para o modo wordlist e finalmente irá passar para o modo incremental.

http://www.openwall.com/john/

http://pt.wikipedia.org/wiki/John_the_Ripper http://www.neoteam.com.br/index.php?mod=article&cat=Tuto&article=488

Incremental: sendo o modo mais robusto no John the Ripper, ele tentará cada caractere possível até achar a senha correta, e por esse motivo é indicado o uso de

do programa que faz a quebra a partir de regras definidas em programação no arquivo de configuração do programa, que irá

processar as funções no arquivo no ato da quebra quando usar o programa na o e necessita de tempo

O modo mais simples de se usar o John é especificar o arquivo com as senhas de usuários criptografadas e deixar ele fazer tudo automaticamente. Ele irá começar com o modo single

r para o modo wordlist e finalmente irá passar para o modo incremental.

Acesso Remoto

O utilitário de Assistência Remota do Windows é usado para convidar pessoas para conectar na sua máquina, quando você precisa de algum tipo de assistência. O Remote Desktop é uma ferramenta para acesso e controle visual, à distância, no computador.

Na instalação padrão do Windows, a Assistência Remota já vem habilitada por padrão. Para desabilitá-los, abra a pasta de Sistema no Painel de Controle. Clique na aba Remote e desmarque “Allow Remote Assistance invitations to be sent from this computer” e “Allow users to connect remotely to this computer”. Clique em aplicar e salve as configurações.

Se o uso do Remote Desktop for realmente necessário, é aconselhável restringir o acesso, e proteger o usuário com uma senha forte. Uma possibilidade para ofuscar o serviço é trocar a porta padrão. O RDesktop usa a porta 3389 por padrão, e é possível trocá-la usando o registro do Windows:

1. Inicie o Editor do Registro. 2. Localize e clique na seguinte subchave do

Registro:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

3. No menu Editar, clique em Modificar e em Decimal. 4. Digite o novo número de porta e clique em OK. 5. Feche o Editor do Registro.

Agora, sempre que for conectar em um servidor remoto, basta usar o utilitário assistente do mstsc e digitar o IP/Host seguido ”:” e a nova porta, no formato IP:PORTA

Atributos e Extensões de Arquivos

O Windows, no modo padrão, oculta a extensão de arquivos conhecidos, quando visualizados no Windows Explorer ou na Área de Trabalho. Este fator é freqüentemente explorado por malwares, que se escondem adicionando uma segunda extensão no arquivo malicioso para enganar o usuário. Mudam-se os ícones para formatos aparentemente inofensivos, deixando

extensões de arquivos de fotos/vídeos/música/texto: fotos.jpg.exe, video.avi.scr, musica.mp3.bat, documento.doc.vbs. Na dúvida, nunca abra arquivos de procedência duvidosa/desconhecida.

Para exibir as extensões dos arquivos conhecidos:

• Abra o Painel de Controle e vá em Opções de Pastas • Clique na aba Visualizar • Desmarque “Hide extensions for known file types” / “Ocultar extensões de arquivos

conhecidos”

Também é recomendável exibir arquivos Ocultos, além dos arquivos de Sistema. Estas configurações também podem ser habilitadas em Opções de Pastas / Visualizar, permitindo a visualização no Explorer e no Prompt de arquivos com atributos +s e +h. Para exibir a listagem completa de arquivos em uma pasta, com seus atributos, pode-se usar o Prompt de Comando com o utilitário attrib. Para tirar os atributos (oculto/sistema) pode-se usar os parâmetros:

attrib -h -s PASTA/ARQUIVO

Criptografando documentos sensíveis

O EFS (Encrypting File System), disponível nas versões do Windows 2000/2003/XP/Vista permite criptografar arquivos e pastas NTFS usando chaves públicas. Criptografar dados sensíveis adiciona uma camada extra de proteção nos seus arquivos. Um possível invasor não consegue ver os dados das Pastas criptografadas, mesmo que ele tenha acesso à todo sistema de armazenamento do computador.

Para criptografar uma pasta/arquivo basta clicar com o botão direito no local, Propriedades, escolher a aba Geral, clicar em Avançado na seção atributos e marcar os campos relacionados.

Como todo método de segurança, o EFS tem uma série de vulnerabilidades que afetam principalmente os Laptops. Como os arquivos de sistema não podem ser criptografados, o intruso consegue ligar o sistema operacional. Se ele for capaz de quebrar a senha de administrador (usando um método qualquer), ele poderá descriptografar e ter acesso aos arquivos de qualquer usuário. Isto acontece porque o administrador, por padrão, é o agente de recuperação do EFS. O agente de recuperação é uma função do EFS que torna possível recuperar arquivos criptografados se, por exemplo, um empregado que criptografou um arquivo qualquer morreu ou deixou a empresa.

Por causa desta vulnerabilidade, a Microsoft recomenda que o agente de recuperação guarde o certificado de recuperação e sua chave privada em um local seguro (usando o comando de Exportar Certificados MMC) e apague o certificado de recuperação, para que um intruso não possa ter acesso à ele. Apesar disto, um intruso com privilégios administrativos pode trocar a senha de todos usuários e conectar em todas as contas até encontrar aquele que criptografou o(s) arquivo(s). Ao fazer log-on com este usuário, os arquivos já aparecerão descriptografados.

O fato de um computador pertencer a um domínio qualquer garante uma camada extra de proteção, mas ainda existem maneiras de quebrar o EFS (capturando as credenciais no logon ou acessando a chave privada do usuário, que é armazenada no disco rígido da máquina onde está residente o arquivo criptografado).

Referência: http://www.windowsecurity.com/articles/Where_Does_EFS_Fit_into_your_Security_Plan.html

Serviços

A instalação padrão do Windows acompanha uma série de serviços que não são necessários para o funcionamento do sistema, e, alguns deles podem até mesmo colocar a segurança do computador em risco. A menos que um serviço esteja desabilitado explicitamente, ele estará executando, desperdiçando memória RAM.

Para visualizar e modificar os serviços do Windows, basta clicar em Iniciar / Executar e rodar o utilitário services.msc. Serão exibidos todos os serviços, seus parâmetros, configurações e os seus três possíveis estados:

• Automático: O Serviço é incializado juntamente com o Windows.

• Manual: O Seviço não é iniciado no momento do boot, mas pode ser ativado manualmente se necessário.

• Desabilitado: Serviço não é iniciado durante o boot, e não pode ser inicializado a menos que se mude as opções na configuração do serviço, reiniciando a máquina e/ou ativando-o manualmente.

O utilitário net pode ser usado no prompt de comando, para visualizar, parar e iniciar os serviços manualmente.

Para exibir os serviços inicializados: net start

Para iniciar um determinado serviço: net start "SERVIÇO"

Para parar um serviço: net stop "SERVIÇO"

Os serviços que podem ou não ser desativados variam em cada máquina, dependendo das funções exercidas. Consulte maiores informações sobre os serviços, e faça testes para ver se o sistema continuará estável sem o módulo específico.

Conclusão

Todo computador conectado à internet corre sérios riscos, e pode ser infectado em apenas alguns minutos, caso não esteja devidamente protegido. Estas recomendações visam dificultar e coibir a ação de usuários maliciosos, diminuindo os riscos de comprometimento, educando e conscientizando o usuário final.