SecureSite - Trend Micro SMB

Propaganda
Trend Micro™
SecureSite
Guia de Melhores Práticas
Marketing Técnico de produtos SMB
A Trend Micro Incorporated reserva-se o direito de fazer mudanças sem aviso neste documento e nos
produtos nele descritos. Antes de instalar e usar o software, verifique o arquivo ‘Readme’ e a versão mais
recente da documentação correspondente.
Trend Micro, o logotipo Trend Micro t-bal e Worry-Free são denominações comerciais ou marcas registradas
da Trend Micro Incorporated. Todos os outros nomes de produtos ou empresas podem ser denominações
comerciais ou marcas registradas de seus respectivos titulares.
Copyright © 2008. Trend Micro Incorporated. Marketing Técnico de Produtos SMB. Todos os direitos
reservados.
Trend Micro SecureSite 1.0 – Guia de Melhores Práticas oferece orientações a revendedores e clientes
que estão desenvolvendo e gerenciando um site de comércio eletrônico pequeno ou médio. Informações
detalhadas sobre o uso de recursos específicos do software estão disponíveis na seção de ajuda on-line
e também nos documentos Trend Micro Getting Started Guide (Guia Rápido Trend Micro) e Trend Micro
SecureSite 1.0 Administrator’s Guide (Trend Micro SecureSite 1.0 – Guia do Administrador).
A Trend Micro busca melhorar sua documentação constantemente. Se você tem dúvidas, comentários ou
sugestões sobre este ou qualquer outro documento da Trend Micro, por favor entre em contato conosco
pelo e-mail [email protected]. Você também pode avaliar este documento no endereço abaixo:
www.trendmicro.com/download/documentation/rating.asp
3
PERFIL DO DOCUMENTO:
Produto: Trend Micro™ Worry-Free SecureSite 1.0
Título do Documento: Trend Micro™ Worry-Free SecureSite 1.0 – Guia de Melhores Práticas v1.0
Nome de Arquivo do Documento: Best Practices v1.0 Trend Micro SecureSite 1.0
Data de Lançamento do Documento: 29 de abril de 2008
Equipe: Marketing Técnico de Produtos SMB
Autor: Randy Jeff Licsi, Engenheiro Sênior de Produto (TSS-PH)
4
Índice
Prefácio...........................................................................................................................................................7
Introdução.................................................................................................................................................... 8
Capítulo 1: Melhores Práticas para Sites de Comércio Eletrônico...........................................9
Segurança dos Sistemas Operacionais......................................................................................................................9
Instalação.................................................................................................................................................................9
Pós-Instalação.........................................................................................................................................................11
Segurança do Servidor Web....................................................................................................................................... 20
Serviços de Informação na Internet (IIS 6.0)............................................................................................... 20
Apache 2.0 ............................................................................................................................................................21
Segurança dos Aplicativos Web.................................................................................................................................24
Segurança do Banco de Dados..................................................................................................................................26
SQL Server ...........................................................................................................................................................26
Capítulo 2: Manutenção da segurança de
seu site de comércio eletrônico com Trend Micro SecureSite........................................... 31
Como o Trend Micro SecureSite funciona................................................................................................................31
Arquitetura.............................................................................................................................................................31
Principais Recursos e Benefícios...............................................................................................................................32
Manutenção da postura de segurança de seu site de comércio eletrônico com Trend Micro SecureSite.........34
Apêndice A – Amostra Executiva Geral.......................................................................................... 37
Apêndice B – Amostra de Plano de Remediação........................................................................... 4
5
Prefácio
Bem-vindo ao Trend Micro™SecureSite 1.0 – Guia de Melhores Práticas. Este documento foi criado para
ajudar revendedores e clientes no desenvolvimento de um conjunto de melhores práticas de segurança
para sites de comércio eletrônico pequenos e médios, além do teste de vulnerabilidades por meio do
Trend Micro SecureSite 1.0.
O documento deve ser usado em conjunto com os guias a seguir:
• Trend Micro SecureSite 1.0 Getting Started Guide (Trend Micro Worry Free Secure Site 1.0 – Guia
Rápido)
• Trend Micro SecureSite 1.0 Administrator’s Guide (Trend Micro Worry Free Secure Site 1.0 – Guia do
Administrador)
- Grupo de Marketing Técnico de Produtos SMB
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
7
Introdução
O rápido crescimento da Internet abre muitas portas para novos negócios, já que se trata de uma maneira
nova e fácil de oferecer produtos e serviços. Com a Internet ficou muito mais fácil navegar por vários
itens e categorias de produtos, comparar preços em várias lojas e contar com a conveniência de receber
os produtos em casa. Estas transações on-line exigem a troca eletrônica de dados confidenciais, como
por exemplo, o envio de um número de cartão de crédito de um consumidor na Europa para uma empresa
sediada nos Estados Unidos. O tratamento dado às informações confidenciais recebidas dos clientes pode
definir o destino de uma empresa de comércio eletrônico.
A segurança das informações não deve ser considerada um recurso adicional no site: deve ser encarada
como uma parte vital do design e do planejamento. O conjunto de melhores práticas a seguir oferece todas
as informações necessárias para planejar, desenvolver e manter de maneira eficiente os servidores e aplicativos de seu site de comércio eletrônico. Desta forma, você garante a segurança de seu negócio e o protege
contra uma grande variedade de vulnerabilidades.
8
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
Capítulo 1:
Melhores Práticas para Sites de Comércio Eletrônico
1
Segurança dos Sistemas Operacionais
O sistema operacional é o programa de base que gerencia todos os recursos de hardware e software de um
computador. Por se tratar de um programa muito complexo, um sistema operacional é dividido em diversos
subsistemas, e cada um deles é responsável por uma tarefa específica. Esta complexidade e os milhões de
linhas de código transformam o sistema operacional em um alvo em potencial para ataques.
É muito importante levar em conta a segurança de um sistema operacional antes de decidir por sua instalação. As soluções e procedimentos de segurança a seguir ajudam a minimizar os efeitos das vulnerabilidades de segurança em um sistema operacional Windows.
Instalação
1. Etapas da Instalação – O administrador deve inserir algumas informações durante o processo de instalação do Windows. As etapas abaixo devem ser definidas antes da instalação.
• Sempre que possível, instale o servidor quando não estiver conectado à Internet ou protegido por
um firewall. Isso vai proteger o servidor do tráfego intenso até que esteja completamente instalado,
atualizado e configurado.
• Compatibilidade de Hardware e Software – Sistemas operacionais mais novos demandam mais recursos
de hardware. Antes do lançamento de um sistema operacional, a Microsoft divulga uma lista de hardware
compatível. É importante verificar os drivers de todos os periféricos, especialmente se você estiver
usando hardware legado, já que esses drivers também podem causar problemas de vulnerabilidade.
o O Catálogo do Windows Server, que pode ser acessado em http://www.windowsservercatalog.com,
contém uma lista de recursos de hardware e software compatíveis com o sistema operacional
Windows. Os fabricantes de hardware testam seus próprios produtos e enviam os resultados
das provas. Os fabricantes de software, por outro lado, enviam seus programas para que sejam
testados pela equipe competente e recebam o logotipo do Windows.
• Espaço em Disco – Planeje com antecedência e reserve espaço em disco suficiente para o sistema
operacional e os aplicativos. Considere o espaço necessário para bancos de dados e logs.
• Partições de Disco – Atualmente o tamanho dos discos rígidos varia de 40GB a 750GB para unidades
IDE/SATA e de 37 GB a 1TB para unidades SCSI/SAS. É uma prática comum deixar o sistema operacional em um disco ou partição separado, reservando outro disco ou partição para os aplicativos e
bancos de dados.
• Sistema de Arquivos – O sistema de arquivos deve ser configurado como NTFS para permitir as configurações de segurança. Existe uma idéia errada e bastante difundida de que é mais fácil recuperar um
sistema que usa uma partição FAT. Isso não é verdade. Um sistema FAT é menos seguro e sua recuperação não é fácil. NTFS oferece mais segurança por meio de direitos de acesso a arquivos e diretórios,
além de suportar criptografia de arquivos.
• Componentes de Serviço – Antes da instalação, decida quais serviços serão necessários para o sistema operacional. Para instalações de servidor, as opções podem incluir Active Directory, DNS, WINS ou
DHCP. Procure instalar apenas os serviços que você vai precisar.
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
9
2. Escolha de Senha – é importante pensar bem sobre a senha de administrador antes da instalação.
As instruções a seguir podem ser úteis para escolher uma senha segura:
•Uma senha deve ter pelo menos 8 caracteres. A Microsoft recomenda 14 caracteres ou mais.
•Use uma combinação de caracteres diferentes. Para ter mais segurança, misture letras maiúsculas,
minúsculas, números e pontuação. Lembre-se: quanto menos tipos de caracteres você usar em sua
senha, mais longa ela deve ser.
1
• Pense em palavras longas ou frases curtas que você se lembre facilmente, mas que sejam difíceis
de adivinhar. Você também pode transformar a frase em uma senha mais segura. Exemplo: a frase
“Minha filha Sofia faz aniversário em 25 de agosto!” pode ser usada como mfSfaem25A!.
• Você também pode substituir letras por caracteres especiais. A letra “s” pode ser substituída por “$”
e a letra “e” pode se transformar em “&”. Você pode até escrever com erros de ortografia para dar
mais complexidade.
• Verificadores de senhas on-line podem determinar a força de sua senha. O endereço abaixo é de uma
ferramenta deste tipo da Microsoft:
https://www.microsoft.com/protect/yourself/password/checker.mspx
Figura 1 – Verificador de Senha da Microsoft
3. Escolha Apenas os Componentes de Serviços Necessários – Não instale um determinado componente de
serviço se não tiver necessidade imediata. Na última etapa do procedimento de instalação do Windows, o
sistema vai perguntar quais componentes você deseja instalar. Desmarque todas as opções desnecessárias.
Como alguns dos itens são marcados por padrão, verifique a lista cuidadosamente e desmarque o que não
for necessário para sua instalação.
Figura 2 – Componentes do Windows
10
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
4. Permissões de Diretórios Ativos – Se o servidor instalado for promovido a controlador de domínio, o Guia
de Instalação de Diretórios Ativos vai exibir uma caixa de diálogo de Permissões, como mostrado na Figura
3. Se não houver sistemas operacionais legados (Windows 9x/NT) que precisem de acesso ao servidor,
a segunda opção deve ser selecionada. Isso abre mão da compatibilidade com versões anteriores, para
garantir mais segurança.
Figura 3 – Permissões de Diretórios Ativos
Pós-Instalação
Depois de terminar a instalação do sistema operacional, você ainda precisará fazer mais coisas. Algumas
delas podem demandar trabalho rotineiro e devem fazer parte das tarefas regulares de administração do
servidor. Abaixo listamos alguns procedimentos de pós-instalação que reforçam a segurança de seu sistema operacional.
1. Instale o Service Pack e atualizações mais recentes – um Service Pack da Microsoft é uma coleção de
correções para erros e falhas de segurança. É altamente recomendável usar um CD de instalação com
o último Service Pack já incorporado, assim você vai precisar apenas fazer o download das atualizações mais recentes. Existe uma maneira de incorporar Service Packs e atualizações em seu CD de
instalação. Esse procedimento é chamado de “slipstreaming”, e junta as atualizações aos arquivos de
instalação de uma versão mais antiga em um CD. Isso otimiza o processo de instalação do SO, já que
você não vai precisar instalar mais nada ao final do processo. Além disso, o administrador contará
com instalação mais atualizada possível do sistema operacional. Para saber mais sobre este procedimento, visite: http://en.wikipedia.org/wiki/Slipstream_(computing).
2. Ative as Atualizações Automáticas do Windows – Quando as Atualizações Automáticas estão ativadas, o Windows verifica periodicamente se existem atualizações prioritárias que podem ajudar a
proteger seu computador contra as últimas ameaças. Podem ser atualizações de segurança, críticas
ou Service Packs. De acordo com suas configurações, o Windows automaticamente faz o download e
instala as atualizações prioritárias, ou então avisa quando elas estão disponíveis.
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
11
1
1
Figura 4 – Ativar as Atualizações Automáticas do Windows
Note que quando a atualização exige que o sistema seja reiniciado, isso será feito automaticamente. Se
o computador é um servidor em produção que só pode ficar indisponível em horários programados, esta
opção pode ser inviável. Para impedir que o sistema seja reiniciado automaticamente, ative a opção correspondente na tela de Windows Update, usando uma Diretiva de Grupo.
a. Clique em Iniciar | Executar e digite gpedit.msc
b. Em Diretiva Computador Local | Modelos Administrativos | Componentes do Windows | Windows Update, selecione “Não há reinícios automáticos nas instalações agendadas em Atualizações Automáticas”
c. Marque a opção como Ativado
d. Reinicie
Figura 5 - Não há reinícios automáticos nas instalações agendadas em Atualizações Automáticas
3. Gerenciamento de Contas – Na medida do possível, evite a criação de contas de teste. Contas compartilhadas também podem causar confusão, especialmente durante a análise de logs de auditoria. Em uma
empresa sem muitos recursos no departamento de TI, é muito comum a criação de contas duplicadas.
Normalmente são contas com senhas fracas, que podem ser facilmente quebradas por programas de força
bruta. Por fim, adote a prática de desabilitar contas inativas para evitar que elas sejam usadas sem o seu
consentimento.
12
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
• Se isso for permitido pelas políticas da empresa, crie e utilize uma conta de administração geral que
pode ser usada para verificar e-mails e logs, além de executar outras tarefas cotidianas de administração. A conta embutida de administrador pode ser usada para qualquer tarefa que exija privilégios de
administrador. Então, os aplicativos selecionados poderão rodar como processos do administrador por
meio da conta correspondente. Esta configuração pode impedir que processos de malware rodem com
privilégios de administrador.
• Mudar o nome da conta embutida de administrador cria uma camada adicional de defesa, já que
em vez de apenas descobrir a senha, o intruso também precisará determinar o nome de usuário do
administrador. Como alternativa, a conta de administrador pode perder seus direitos administrativos e
se transformar em um usuário sem privilégios. Dessa forma, em conjunto com a auditoria, você pode
determinar se um intruso está tentando acessar seus servidores ao monitorar esta conta.
4. Senha – Dê muita importância à proteção com senha de todos os servidores e estações de trabalho quando houver inatividade. Instrua seus usuários a criar o hábito de bloquear suas estações de trabalho quando
precisarem se ausentar.
5. Instale um Produto Antivírus e Anti-spyware, e o configure para realizar atualizações automáticas.
Escolha um produto que ofereça administração sem preocupações e que cubra uma grande variedade de
ameaças, como por exemplo, o Worry-Free Business Security mostrado na figura 6.
Figura 6 – Trend Micro Worry-Free Business Security
6. Instale um firewall pessoal ou habilite o Windows Firewall.
7. Desabilite Serviços Desnecessários – Alguns serviços do Windows podem não ser necessários para instalação do servidor. Os serviços a seguir podem ser desabilitados na inicialização do servidor.
• DHCP Client
• Fax Service
• Internet Connection Sharing
• Intersite Message
• Remote Registry Service
• RunAs Service
• Simple TCP/IP Services
• Telnet
•Utility Manager
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
13
1
8. Verifique se existem portas desnecessárias abertas. Você pode executar netstat –ab para determinar
todas as portas locais abertas e por quais processos elas estão sendo utilizadas.
•Utilize o firewall pessoal que você instalou para restringir o acesso a portas abertas.
1
•Utilize o filtro de TCP/IP para permitir ou negar explicitamente os protocolos TCP/UDP e ICMP para a
interface específica de rede.
9. Habilite a Auditoria – Auditorias de segurança monitoram diversos eventos relacionados com segurança.
É necessário monitorar os eventos do sistema para detectar invasões e tentativas de comprometimento de
dados. Os tipos de eventos mais comuns que devem passar por auditoria são:
• Acesso a objetos, como arquivos e pastas
• Gerenciamento de usuários e de grupos de contas
• Entrada e saída de usuários no sistema
• Erro em uma tentativa de entrada
Além da auditoria em eventos relacionados com segurança, um log específico é gerado quando esta opção
está habilitada. Assim, você pode ver um relatório dos eventos identificados. Você pode acessar o log de
segurança no Visualizador de Eventos. É possível habilitar a auditoria abrindo o menu Configurações Locais
de Segurança e navegando por Configurações de Segurança | Diretivas Locais | Diretivas de Auditoria no
menu à esquerda.
Figura 7 – Configurações de Auditoria
A tabela abaixo lista diversos eventos que devem passar por auditoria, além das ameaças de segurança
específicas que tal evento monitora.
14
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
Tabela 1 - Itens para Auditoria
Evento de Auditoria
Ameaça em Potencial
Falha ao entrar/sair
Acesso ilegal
Sucesso ao entrar/sair
Entrada por meio de senha roubada
Sucesso para uso privilegiado, gerenciamento de usuários e
grupos, mudança de políticas de segurança, reinício/desligamento
do sistema e outros eventos
Abuso de privilégios
Sucesso e erro para acesso de arquivos e objetos, acesso de
arquivos vitais por usuários ou grupos suspeitos
Acesso indevido a arquivos vitais
Sucesso e erro para impressão de arquivos e objetos, gerenciamento de impressoras e acesso de impressoras por usuários ou
grupos suspeitos
Acesso indevido a impressoras
Sucesso e erro de acesso a arquivos de programas (com extensões .exe e .dll), acompanhamento de processos, execução de
programas suspeitos, análise do log de segurança para identificar
tentativas de modificar arquivos de programas ou criar processos
inesperados. Executar apenas quando estiver monitorando ativamente o log de sistema.
Ataque de vírus.
1
10. Evite que o nome do último usuário a entrar seja exibido na caixa de diálogo do Windows – Isso gera
mais uma camada de proteção, já que o invasor será obrigado a adivinhar tanto o nome de usuário quanto
a senha. Para isso, siga os procedimentos abaixo:
a. Clique em Iniciar, depois em Executar, digite secpol.msc e clique em OK.
b. Expanda o menu Configurações de Segurança.
c. Expanda o menu Diretivas Locais, e depois clique em Opções de Segurança.
d. No painel à direita, clique duas vezes em Logon Interativo: Não exibir o último nome do usuário.
e. Clique em Ativado.
f. Clique em OK e reinicie o computador.
Para o Windows 2000, verifique o Artigo KB Q310125 da Microsoft.
11. Desabilite os Compartilhamentos-Padrão – Um compartilhamento que termina com “$” é um compartilhamento administrativo e está escondido para visão pela rede. Este compartilhamento administrativopadrão, que aponta para a raiz de cada partição, é criado automaticamente e pode significar um risco de
segurança em potencial. Para desativar o compartilhamento administrativo, você pode:
• Desativar o serviço do Servidor. Ao fazer isso, você não poderá compartilhar nenhum arquivo ou
pasta no servidor.
• Insira um valor DWORD de 0 chamado “AutoShareServer” em
HKLM\System\CurrentControlSet\Services\LANManServer\Parameters.
Tenha em mente que isso pode causar sérios efeitos colaterais em alguns aplicativos de rede. Tenha
cuidado e assegure-se de que ao desativar o compartilhamento administrativo você não vai prejudicar
aplicativos de rede já instalados.
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
15
1
12. Desative a geração de dump de memória – Um arquivo memory.dmp é uma gravação do status da
memória em funcionamento no sistema operacional Windows. Este arquivo dump é gerado automaticamente quando um erro STOP, BSOD ou de verificação ocorre em seu servidor. Como se trata de algo muito útil
para solucionar problemas no servidor, este arquivo normalmente é ignorado em verificações de segurança. Porém, ele contém informações importantes do sistema operacional, como senhas. Se um hacker
conseguir acesso a um arquivo dump em um de seus servidores, ele pode ser usado para obter informações
que podem facilitar uma invasão. Para desabilitar a criação de um arquivo de dump no Windows, abra a
pasta Sistema no Painel de Controle. Na guia Avançado, selecione Inicialização e Recuperação. No menu
dropdown de Gravando Informações de Depuração, selecione (nenhum).
Figura 8 – Desabilitando a geração de Dump de Memória
13. Criptografe seu Sistema de Arquivo usando EFS – As unidades, pastas e arquivos do Windows podem
ser criptografados por meio da função EFS (Encrypting File System). Alguns diretórios, como a pasta Temp,
podem ser criptografados para evitar que invasores vejam arquivos que não foram apagados pelos processos que os usaram. Abaixo listamos as melhores práticas para usar a criptografia no Windows:
Certifique-se de que os arquivos que você deseja criptografar foram criados e continuam criptografados
• Criptografe pastas antes de criar arquivos importantes dentro delas, para garantir segurança máxima.
Dessa forma, os arquivos já são criados como criptografados e seus dados nunca são gravados no
disco como abertos.
• Criptografe a pasta Meus Documentos caso você tenha o costume de gravar seus arquivos neste local.
Com isso, você garante que seus documentos pessoais serão criptografados por padrão. Para usuários
de Roaming, isso só deve ser feito quando a pasta Meus Documentos for redirecionada para um local
de rede.
• Criptografe pastas em vez de arquivos, para que arquivos temporários criados por programas também
permaneçam criptografados.
Gerencie chaves privadas para garantir a segurança dos arquivos
• O agente de recuperação escolhido deve exportar o certificado de recuperação de dados e a chave
privada para o disco, assegurar que eles estejam em um local seguro e apagar a chave privada da
recuperação de dados do sistema. Desta forma, a única pessoa capaz de recuperar dados do sistema
será a mesma que tiver acesso físico à chave privada da recuperação de dados.
16
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
• O número de agentes de recuperação escolhidos deve ser o menor possível. Isso reduz a exposição de
chaves aos ataques de criptografia e oferece um nível maior de garantia de que os dados criptografados não serão quebrados inadequadamente.
•Use os Serviços de Certificados Microsoft para gerenciar os certificados de EFS e Data Recovery
Agent (DRA) e as chaves privadas.
1
Garanta segurança e confiabilidade constantes para os dados
• Criptografe os dados importantes em computadores que fazem parte de um domínio. Isso evita o
comprometimento de dados por meio de ataques de criptografia off-line.
•Use IPSec para garantir que os dados permaneçam criptografados durante a transmissão pela rede.
Além disso, o EFS pode ser usado em conjunto com Web Distributed Authoring and Versioning
(WebDAV) para armazenamento dos dados criptografados na Internet.
• Faça backups regulares de todo o servidor que armazena os dados criptografados. Isso garante que,
em caso de recuperação de dados, os perfis que incluem chaves de criptografia também poderão ser
restaurados.
Criptografe arquivos com a Restauração do Sistema desativada
• Desative a Restauração do Sistema antes de criptografar arquivos que são monitorados por este
recurso. Depois que a criptografia for finalizada, reative a Restauração do Sistema. Isso garante que
os arquivos criptografados não sejam restaurados de maneira aberta.
• Se você vai criptografar tipos de arquivos monitorados pela Restauração do Sistema, copie estes
arquivos para um local não verificado por este recurso.
14. Bloqueio do Registro – Por padrão, o Registro do Windows pode ser acessado pela rede. Um hacker pode
usar isso como ponto de entrada para invadir a rede ou injetar malware por meio da modificação de certas
permissões. Para restringir o acesso da rede ao registro, siga os passos a seguir:
a. Execute o Editor do Registro (Regedt32.exe) e acesse a subchave abaixo:
HKLM\SYSTEM\CurrentControlSet\Control
b. No menu Edit, clique em Add Key. Digite os valores a seguir:
Nome da Chave: SecurePipeServers
Classe: REG_SZ
c. Acesse a subchave abaixo:
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers
d. No menu Edit, clique em Add Value. Digite os valores a seguir: Nome da Chave: winreg
Classe: REG_SZ
e. Acesse a subchave abaixo:
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
f. No menu Edit, clique em Add Value. Digite os valores a seguir:
Nome do Valor: Description
Tipo de Dado: REG_SZ
String: Registry Server
g. Acesse a subchave abaixo:
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
h. Selecione “winreg”. Clique em Security e depois em Permissions. Adicione os usuários ou grupos
para os quais deseja permitir o acesso.
i. Saia do Editor do Registro e reinicie o Windows.
j. Caso você deseje mudar a lista de usuários que podem acessar o registro, repita as etapas 10-12.
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
17
1
15. Limpe o Arquivo de Paginação ao desligar – Alguns programas de terceiros podem armazenar temporariamente na memória algumas informações importantes (como senhas) sem criptografia. Devido à arquitetura da memória virtual do Windows, estas informações podem estar presentes no Arquivo de Paginação.
A limpeza do Arquivo de Paginação não é uma opção adequada para substituir a segurança física de um
computador, mas isso pode aumentar a segurança dos dados quando o Windows não estiver sendo executado. Para limpar o Arquivo de Paginação ao desligar:
a. Inicie o Editor do Registro (Regedt32.exe).
b. Mude o valor de ClearPageFileAtShutdown na chave de registro a seguir para 1
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management. Se este valor não existir, adicione o seguinte valor:
Nome do Valor: ClearPageFileAtShutdown
Tipo do Valor: REG_DWORD
Valor: 1
c. Esta mudança não entrará em efeito até que você reinicie o computador.
16. Proteção da Pilha TCP/IP – Os ataques de negação de serviço (DoS) visam deixar um computador ou um serviço específico indisponível para os usuários da rede. A proteção contra este tipo de ataque pode ser problemática.
As tabelas a seguir explicam os valores do registro relacionados com TCP/IP que você pode configurar para
proteger a pilha TCP/IP em computadores conectados diretamente à Internet. Todos estes valores devem
ser criados na chave de registro a seguir, exceto se houver instrução diferente:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
Tabela 2 – Chave do Registro - A
Chave
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SynAttackProtect
Tipo do Valor
REG_DWORD
Variação Válida
0(padrão),1,2
Descrição
Este valor do registro leva o Transmission Control Protocol (TCP) a ajustar a retransmissão de SYN-ACKS. Quando você configura este valor, o tempo de resposta da conexão se
esgota mais rápido durante um ataque SYN (um tipo de ataque de negação de serviço).
A lista abaixo mostras os parâmetros que você pode usar neste valor do registro:
0: (valor-padrão): Defina SynAttackProtect como 0 para a proteção típica contra
ataques SYN.
1: Defina SynAttackProtect como 1 para ter mais proteção contra ataques SYN. Com
este parâmetro, o TCP ajusta a retransmissão de SYN-ACKS. Com o valor definido para
1, o tempo de resposta da conexão se esgota mais rápido se aparentemente há um
ataque SYN em andamento. O Windows usa os valores a seguir para determinar se o
sistema está sendo atacado:
• TcpMaxPortsExhausted
• TCPMaxHalfOpen
• TCPMaxHalfOpenRetried
Nota: A chave de registro TcpMaxPortsExhausted é obsoleta no Windows XP SP2 e
versões posteriores.
2: Defina SynAttackProtect como 2 para a maior proteção contra ataques SYN. Este valor cria
atrasos adicionais às indicações de conexão, e o TCP exige tempos curtos de resposta quando existe um ataque SYN em andamento. Este parâmetro é a configuração recomendada.
Nota: As opções de socket a seguir deixam de funcionar quando você define o valor de
SynAttackProtect como 2:
• Janelas escalonáveis
• Parâmetros de TCP que são configurados em cada adaptador (inclusive RTT inicial e
tamanho da janela)
18
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
Tabela 3 – Chave do Registro - B
Chave
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableDeadGWDetect
Tipo do Valor
REG_DWORD
Variação Válida
0,1 (padrão)
1
A lista abaixo mostra os parâmetros que você pode usar neste valor do registro:
Descrição
1: Quando você define EnableDeadGWDetect como 1, o TCP pode realizar a detecção de
gateway inativo. Dessa forma, o TCP pode solicitar ao Internet Protocol (IP) a mudança
para um gateway de backup caso certo número de conexões passe por dificuldades.
Gateways de backup são definidos na seção Avançado da caixa de diálogo para configuração do TCP/IP no Painel de Controle de Rede.
0: Recomendamos que você defina EnableDeadGWDetect como 0. Caso contrário, um
ataque poderia forçar o servidor a trocar de gateway de maneira não planejada.
Tabela 5 – Chave do Registro - D
Chave
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime
Tipo do Valor
REG_DWORD (milissegundos)
Variação Válida
1-0xFFFFFFFF, 7,200,000(Padrão=2horas)
Descrição
Este valor controla a freqüência com que o TCP tenta verificar se uma conexão ociosa
ainda está intacta, por meio do envio de pacotes para manter a conexão ativa. Se a
comunicação com o computador remoto ainda é possível, ele reconhece o pacote. O
envio destes pacotes está desativado por padrão. Você pode usar um programa para
configurar este valor em uma conexão. O valor recomendado é 300.000 (5 minutos).
Tabela 6 – Chave do Registro - E
Chave
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NoNameReleaseOnDemand
Tipo do Valor
REG_DWORD
Variação Válida
0(Padrão),1
Descrição
Este valor determina se o computador vai liberar ou não seu nome de NetBIOS ao
receber uma solicitação neste sentido. Este valor foi inserido para permitir que o administrador proteja o computador contra ataques maliciosos que solicitam a liberação do
nome. Recomendamos que você defina o valor de NoNameReleaseOnDemand para 1 (o
valor-padrão).
Nota: Você deve possuir o Windows 2000 Service Pack 2 (SP2) ou superior para usar o
valor de NoNameReleaseOnDemand.
Referências:
http://www.microsoft.com/technet/security/prodtech/windows2000/win2khg/default.mspx
http://labmice.techtarget.com/articles/postinstall.htm
http://www.servepath.com/support/win2003_securitychecklist.htm
http://labmice.techtarget.com/articles/securingwin2000.htm
http://support.microsoft.com/default.aspx/KB/324270
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
19
Segurança do Servidor Web
Serviços de Informação na Internet (IIS 6.0)
1
1. Faça o logon com as últimas credenciais. Faça o logon em seu computador usando uma conta que não
está no grupo de Administradores, e então use o comando Executar como para executar o IIS Manager
2. Reduza a superfície de ataque. Desabilite todos os serviços que você não precisa, inclusive serviços IIS
como FTP, NNTP ou SMTP. Se um recurso ou serviço estiver desabilitado, ele não vai demandar proteção.
3. Não faça o download nem execute programas de fontes não confiáveis. Programas podem conter instruções sobre diversas maneiras de violar a segurança, incluindo negação de serviço e roubo e destruição de
dados.
4. Mantenha seus programas antivírus sempre atualizados. Estes programas freqüentemente identificam
arquivos infectados por meio de uma assinatura que seja um componente conhecido de um vírus já
identificado anteriormente. Os programas mantêm estas assinaturas de vírus em um arquivo específico,
que normalmente se encontra no disco rígido local. Como novos vírus são descobertos dia após dia, este
arquivo também deve ser atualizado freqüentemente para que o antivírus identifique os vírus atuais com
mais facilidade.
5. Mantenha sempre seus recursos de software atualizados. Atualizações de software oferecem soluções
para problemas conhecidos de segurança. Verifique os Websites dos fornecedores de software periodicamente para saber se existem atualizações disponíveis para os programas usados por sua organização.
6. O novo modelo de processamento no IIS 6.0 inclui reciclagem de processos, o que significa que um
administrador pode instalar facilmente a maioria das atualizações de IIS e dos novos processos de DLLs
sem nenhuma interrupção de serviço.
7. Auto Update versão 1.0 oferece três opções aos clientes: aviso no momento em que uma atualização fica
disponível; download da atualização e notificação de que este download foi efetuado; e instalação programada. Para mais informações, veja a seção “Windows Automatic Updates” (Atualizações Automáticas do
Windows) na ajuda do Windows Server 2003.
8. Use NTFS. O sistema de arquivos NTFS é mais seguro do que os sistemas FAT ou FAT32.
9. Conceda permissões NTFS sólidas para seus recursos.
10. Tenha cuidado com os controladores de domínio. Se você usa um controlador de domínio como um
servidor de aplicativos, tenha em mente que a segurança fica comprometida neste controlador e conseqüentemente em todo o domínio.
11. Restrinja as permissões de acesso e gravação para a conta IUSR_computername. Dessa forma, você
limita o acesso de usuários anônimos aos recursos de seu computador.
12. Guarde arquivos executáveis em um diretório separado. Dessa forma, fica mais fácil dar permissões de
acesso e auditoria aos administradores.
13. Crie um grupo para todas as contas de usuários anônimos. Você pode negar o acesso aos recursos com
base neste grupo.
14. Negue permissões de execução a usuários anônimos para todos os arquivos executáveis dos diretórios e
subdiretórios do Windows.
20
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
15. Use restrições de endereço IP se administrar o IIS remotamente.
16. Restrinja as permissões o máximo que puder. Por exemplo, se seu Website é usado apenas para ver
informações, dê permissão de Somente Leitura. Em um diretório ou Website com aplicativos, dê permissões
de Somente Scripts, em vez de permissões de Scripts e Executáveis.
17. Não dê permissões de acesso Escrever e Script à fonte, nem permissões de Scripts e Executáveis. Use
esta combinação com extremo cuidado. Ela pode permitir que um usuário faça o upload e utilize arquivos
executáveis com alto poder de destruição em seu servidor.
18. Habilite a criptografia de dados em todos os scripts de administração remota baseados em WMI.
19. Certifique-se de que o VeriSign Intermediate Root CA está atualizado em seu servidor Web. Verifique a data
de expiração e atualize o Intermediate Root CA se necessário. O novo VeriSign Intermediate Root CA possui as
propriedades a seguir: Emitido para: www.verisign.com/CPS Incorp.por Ref. LIABILITY LTD.(c)97 VeriSign
Emitido por: Class 3 Public Primary Certification Authority
Válido de: 16/04/97 a 24/10/11
Apache 2.0
1. Mantenha Atualizado – O Apache HTTP Server conta com um bom retrospecto de segurança e com uma
comunidade de desenvolvimento bastante preocupada com questões de segurança. Porém, é inevitável que
alguns problemas (pequenos ou grandes) sejam descobertos no software após o seu lançamento. Por isso,
é fundamental manter o programa sempre atualizado. Se você obteve sua versão do HTTP Server diretamente com a Apache, recomendamos veemente que você assine o boletim Apache HTTP Server Announcements List, para ficar sempre informado sobre novos lançamentos e atualizações de segurança. Serviços
similares são oferecidos pela maioria dos distribuidores autorizados de software Apache.
É óbvio que na maioria das vezes em que um servidor é comprometido, isso ocorre devido a problemas no
código HTTP Server. Ou então devido a problemas no código add-on, scripts CGI ou no Sistema Operacional
de base. Por isso, você deve sempre ficar atento a problemas e atualizações relativos a todos os recursos
de software em seu sistema.
2. Permissões nos Diretórios de Raiz do Servidor – Nas operações mais típicas, o Apache é inicializado pelo
usuário raiz, e depois é alternado para o usuário definido pelas diretivas. Como este é o caso para qualquer comando executado pela raiz, você deve assegurar a proteção contra modificações feitas por outros
usuários. O usuário raiz deve ser o único capaz de modificar arquivos, e o mesmo deve valer para todos os
diretórios e raízes de todos os diretórios. Por exemplo, se você decide colocar a Raiz do Servidor em /usr/
local/apache, então a sugestão é criar este diretório como raiz, usando comandos assim:
mkdir /usr/local/apache
cd /usr/local/apache
mkdir bin conf logs
chown 0 . bin conf logs
chgrp 0 . bin conf logs
chmod 755 . bin conf logs
Assume-se que /, /usr, e /usr/local podem ser modificados apenas pelo usuário raiz. Ao instalar o executável de httpd, você deve garantir uma proteção similar:
cp httpd /usr/local/apache/bin
chown 0 /usr/local/apache/bin/httpd
chgrp 0 /usr/local/apache/bin/httpd
chmod 511 /usr/local/apache/bin/httpd
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
21
1
Você pode criar um subdiretório htdocs que pode ser modificado por outros usuários – desde que o raiz
nunca execute nenhum arquivo em outro lugar e nem crie arquivos neste subdiretório.
1
Se você permite que outros usuários modifiquem arquivos executados ou modificados pelo raiz, você expõe
seu sistema a problemas. Por exemplo, alguém poderia substituir o HTTPd binário para causar a execução
de código arbitrário na inicialização seguinte. Se o diretório de logs pode ser modificado por outros usuários, alguém poderia substituir um arquivo de logo com um symlink por outro arquivo de sistema, e então
o raiz poderia sobrescrever tal arquivo com dados arbitrários. Se os próprios arquivos de log podem ser
modificados por outros usuários, alguém poderia sobrescrever o log usando dados falsos.
3. Server Side Includes - Server Side Includes (SSI) apresenta um administrador de servidor com vários
riscos potenciais de segurança.
O primeiro risco é a carga elevada no servidor. Todos os arquivos habilitados para SSI devem ser analisados
pelo Apache, mesmo se não houver diretivas SSI inclusas. Trata-se de um aumento de carga pequeno, mas
que pode ficar significativo em um ambiente compartilhado.
Arquivos SSI também impõem os mesmos riscos associados com scripts CGI em geral. Ao usarem o elemento “exec cmd”, os arquivos habilitados para SSI podem executar qualquer script CGI ou programa com
permissões do usuário ou grupo do Apache conforme configuração no httpd.conf.
Existem maneiras de aumentar a segurança de arquivos SSI sem abrir mão dos benefícios que eles oferecem.
Para isolar os danos que um arquivo SSI malicioso pode causar, um administrador de servidor pode habilitar suexec como descrito na seção Geral em CGI.
Habilitar SSI para arquivos com extensão .html pode ser perigoso. Isso é especialmente verdadeiro em um
ambiente de servidor compartilhado ou com tráfego intenso. Arquivos com SSI habilitado devem ter uma
extensão separada, como a convencional .shtml, por exemplo. Isso ajuda a manter a carga do servidor no
menor nível possível e facilita o gerenciamento dos riscos.
Outra solução é desabilitar a execução de scripts e programas nas páginas SSI. Para fazer isso, substitua
‘Includes’ por ‘IncludesNOEXEC’ na diretiva Opções. Tenha em mente que os usuários ainda podem usar
<--#include virtual=”...” --> para executar scripts CGI, caso estes scripts estejam em diretórios definidos por
uma diretiva ScriptAlias.
4. CGI no Geral – Em primeiro lugar, você sempre precisa se lembrar de que deve confiar nos criadores dos
scripts/programas CGI ou então em sua habilidade de identificar falhas em potencial no CGI, não importa se
deliberadas ou acidentais. Scripts CGI podem executar comandos essencialmente arbitrários em seus sistemas com as permissões do usuário do servidor Web. Dessa forma, representam um perigo extremamente
grande caso não sejam verificados com cuidado.
Todos os scripts CGI serão executados com o mesmo usuário, por isso eles têm potencial para entrar em
conflito (por acidente ou deliberadamente) com outros scripts. Ex: o Usuário A odeia o usuário B, por isso
ele cria um script para apagar o banco de dados CGI do Usuário B. suEXEC é um programa que pode ser
usado para permitir a execução de scripts por usuários diferentes. Ele é incluído na versão 1.2 do Apache
e acionado por ganchos especiais no código do servidor. Outra maneira popular de fazer isso é com o
CGIWrap.
5. Script CGI Sem Alias – Permitir que usuários executem scripts CGI em qualquer diretório deve ser considerado apenas se:
• Você confia que seus usuários não criarão scripts (por acidente ou deliberadamente) que podem
expor seu sistema a um ataque.
• Você considera a segurança em seu site tão frágil em outras áreas que mais uma falha em potencial
seria irrelevante.
• Você não tem usuários, e ninguém nunca visita o seu servidor.
22
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
6. Script CGI com Alias – Limitar o CGI a diretórios específicos oferece ao administrador o controle sobre o
que entra nestes diretórios. Isso é sempre mais seguro do que script CGI com alias, mas apenas se os
usuários com privilégios de modificação nos diretórios são confiáveis ou se o administrador estiver disposto a testar qualquer novo script/programa CGI em busca de falhas de segurança.
A maioria dos sites escolhe esta opção em detrimento de outras fontes de conteúdo dinâmico.
Opções de scripts embutidos que são executados como parte do próprio servidor, como
mod_php, mod_perl, mod_tcl e mod_python, também são executados sob a identidade do servidor (veja a
diretiva Usuário). Por isso, os scripts executados por estes mecanismos podem acessar qualquer coisa que
o usuário do servidor acessa. Alguns mecanismos de scripts podem oferecer restrições, mas é mais seguro
assumir que isso não acontece.
7. Proteção das Configurações do Sistema – Para deixar as coisas em ordem, é uma boa idéia impedir que
os usuários configurem arquivos .htaccess com recursos de segurança que você definiu. Esta é uma maneira de fazer isso:
No arquivo de configuração do servidor, copie as instruções abaixo. Isso vai impedir o uso de arquivos
.htaccess em todos os diretórios, exceto aqueles especificamente habilitados.
<Directory />
AllowOverride None
</Directory>
8. Proteção de Arquivos de Servidor por Padrão – Um aspecto do Apache que, às vezes, é mal compreendido é o recurso de acesso por padrão. Assim, se você não tomar medidas contrárias a isso, caso o servidor
encontre o caminho até o arquivo por meio de regras normais de mapeamento URL, ele pode passar este
caminho aos clientes. Por exemplo, considere o exemplo a seguir, que permitiria que os clientes passassem
por todo o sistema de arquivos:
# cd /; ln -s / public_html
Accessing http://localhost/~root/
Para solucionar isso, adicione o bloco a seguir às configurações de seu servidor:
<Directory />
Order Deny,Allow
Deny from all
</Directory>
Isso vai proibir o acesso por padrão às localidades do sistema de arquivo. Adicione os bloqueios de Diretório apropriados para permitir o acesso apenas às áreas que você definir. Por exemplo,
<Directory /usr/users/*/public_html>
Order Deny,Allow
Allow from all
</Directory>
<Directory /usr/local/httpd>
Order Deny,Allow
Allow from all
</Directory>
Preste muita atenção nas diretivas de Localidade e Diretório; por exemplo, mesmo que <Directory /> negue
o acesso, a diretiva <Location /> pode reverter esta negação.
Além disso, tenha cautela ao ‘brincar’ com a diretiva UserDir; defini-la como “./”, por exemplo, teria o
mesmo efeito para a raiz do que o primeiro exemplo acima. Se você está usando o Apache 1.3 ou superior,
recomendamos veementemente que inclua a linha a seguir em seus arquivos de configuração de servidor:
UserDir disabled root
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
23
1
9. Verifique Seus Logs – Para acompanhar o que está acontecendo de verdade com o seu servidor, você
deve sempre verificar os Arquivos de Log. Eles só mostram o que já aconteceu, mas mesmo assim oferecem um entendimento precioso sobre quais ataques foram lançados contra o servidor. Assim, você pode
verificar se o nível necessário de segurança está presente. Alguns exemplos:
1
grep -c “/jsp/source.jsp?/jsp/ /jsp/source.jsp??” access_log
grep “client denied” error_log | tail -n 10
O primeiro exemplo vai listar o número de ataques que tentou explorar o Apache Tomcat Source.JSP
O segundo exemplo - Malformed Request Information Disclosure Vulnerability (Vulnerabilidade de Divulgação de Informação por Solicitação Inadequada) – vai listar os dez últimos clientes negados, por exemplo:
[Thu Jul 11 17:18:39 2002] [error] [client foo.bar.com] client denied by server configuration: /usr/
local/apache/htdocs/.htpasswd
Como você pode ver, os arquivos de log só reportam o que já aconteceu, então caso o cliente tenha conseguido acessar o arquivo .htpasswd, você veria alguma coisa similar a:
foo.bar.com - - [12/Jul/2002:01:59:13 +0200] “GET /.htpasswd HTTP/1.1”
em seu Log de Acesso. Isso quer dizer que você provavelmente instruiu seu arquivo de configuração de
servidor a ignorar o código a seguir:
<Files ~ “^\.ht”>
Order allow,deny
Deny from all
</Files>
Referências:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/596cdf5a-c852-4b79b55a-708e5283ced5.mspx?mfr=true
http://httpd.apache.org/docs/2.0/misc/security_tips.html
Segurança dos Aplicativos Web
Organizações como a OWASP (Open Web Application Security Project) e WASC (Web Application Security
Consortium) oferecem padrões de melhores práticas de segurança amplamente aceitos na World Wide Web.
Formadas por um grupo internacional de especialistas, estas organizações produzem materiais de Fonte
Aberta, para que pessoas e organizações fiquem sempre informadas sobre os riscos de segurança para
usuários da Web.
Listamos a seguir oito dos principais problemas que afetam a segurança dos Aplicativos Web. Várias técnicas são utilizadas pelos invasores que se aproveitam de cada uma dessas vulnerabilidades. Assim, há muito
que discutir sobre cada tópico. Recomendamos uma visita a http://www.webappsec.org/ e
http://www.owasp.org para saber mais sobre como estes problemas são explorados. Também incluímos
abaixo um link com uma possível solução para estas vulnerabilidades.
1. Cross-Site Scripting - A maioria dos especialistas e pesquisadores de segurança concorda que o cross-site
scripting (XSS) continua sendo a vulnerabilidade mais comum nos Web sites. O XSS pode causar danos muito grandes às empresas e consumidores. Novos vetores de ataque estão sendo utilizados e são responsáveis por grandes fraudes de phishing e worms, que conseguem superar estratégias de proteção comumente
aceitas. O uso de tecnologia JavaScript de ponta para a criação de malware transformou a identificação e
solução deste tipo de vulnerabilidade em algo mais vital do que nunca.
http://www.owasp.org/index.php/Cross_Site_Scripting
24
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
2. Vazamento de Informações – Um vazamento de informações ocorre quando um site revela por engano
(ou é manipulado para revelar) informações sensíveis como comentários do programador, dados dos usuários, endereços de IP internos, código fonte, números de revisão, mensagens/códigos de erro, etc.
Tudo isso pode ajudar um invasor.
http://www.webappsec.org/projects/threat/classes/information_leakage.shtml
3. URL Previsível - Com o passar do tempo, várias páginas de um site podem ficar isoladas, órfãs e esquecidas. Estas páginas freqüentemente contêm logs de pagamento, backups de software, conteúdo ainda
não divulgado, mensagens de debug ou código fonte. Normalmente, o único mecanismo de proteção ao
conteúdo destas páginas é a previsibilidade da URL. Programas automáticos já conseguem identificar estes
arquivos por meio de milhares de tentativas aleatórias. Além disso, por meio de um processo chamado
“Google Hacking”, os hackers conseguem usar mecanismos de busca para descobrir informações importantes em links esquecidos de um site.
http://www.webappsec.org/projects/whid/byclass_class_attack_method_value_predictable_resource_location.shtml
4. Injeção de SQL - Ataques de Injeção de SQL estão por trás de alguns dos maiores incidentes de roubo
de identidade e dados de cartões de crédito. Hoje, os bancos de dados backend dos Web sites armazenam
muitas informações confidenciais, e por isso são um alvo natural para os criminosos virtuais. Os dados
vulneráveis podem incluir nomes, endereços, telefones, senhas, datas de nascimento, propriedade intelectual, segredos comerciais, chaves de criptografia e muito mais. Com alguns códigos de comando bem
executados, bancos de dados inteiros podem parar nas mãos erradas.
http://www.owasp.org/index.php/SQL_injection
5. Autenticação Insuficiente - Falhas de autenticação insuficiente são normalmente encontradas dentro da
lógica de negócios de um aplicativo. Se esta falha for explorada com sucesso, o hacker pode ganhar acesso
a seções protegidas de um site. Por exemplo, mesmo logado como um usuário normal, o criminoso pode
personificar outro usuário no sistema.
http://www.webappsec.org/projects/threat/classes/insufficient_authentication.shtml
6. Autorização Insuficiente - Falhas de autorização insuficiente também são normalmente encontradas
dentro da lógica de negócios de um aplicativo. Um hacker bem-sucedido ao explorar esta vulnerabilidade
pode escalonar seus próprios privilégios e acessar áreas proibidas. Por exemplo, mesmo logado como um
usuário normal, o criminoso pode ganhar acesso aos dados de outro usuário.
http://www.webappsec.org/projects/threat/classes/insufficient_authorization.shtml
7. Indexação de Diretório - Um recurso muito popular em vários servidores Web, a indexação de diretórios lista
o conteúdo de um diretório se nenhum nome de arquivo específico é selecionado e se não existe um arquivo
index (exemplo: index.html). A lista de conteúdo de um diretório pode revelar informações que não deveriam ser
divulgadas, como páginas ainda não lançadas, arquivos de log, arquivos temporários, arquivos de backup, etc.
http://www.webappsec.org/projects/threat/classes/directory_indexing.shtml
8. Injeção de Xpath - A Injeção de XPath é uma técnica de ataque similar à Injeção de SQL, usada para
explorar sites que constroem queries XPath a partir de informações inseridas pelos usuários. Quando um
hacker consegue modificar uma query XPath, ele pode obter informações confidenciais a partir de um
documento XML que de outra maneira estaria fora de seu alcance.
http://www.owasp.org/index.php/XPath_Injection_Testing_AoC
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
25
1
Segurança do Banco de Dados
1
SQL Server
Abaixo apresentamos um resumo das melhores práticas de segurança recomendadas pela Microsoft para o
SQL 2005. Para mais informações, é possível fazer o download do documento completo em
http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SQL2005SecBestPract.doc.
1. Melhores práticas para redução da área de superfície
• Instale apenas os componentes que você vai usar imediatamente. Componentes adicionais sempre
podem ser instalados quando necessário.
• Habilite apenas os recursos opcionais que você vai usar imediatamente.
• Revise o uso de recursos opcionais antes de fazer uma atualização e desative o que for desnecessário
antes ou depois desta atualização.
• Crie uma política para definir as escolhas permitidas de conectividade de rede. Use uma Configuração
de Área de Superfície no SQL Server para padronizar esta política.
• Crie uma política para o uso de recursos adicionais. Use uma Configuração de Área de Superfície
no SQL Server para padronizar a habilitação destes recursos. Documente individualmente qualquer
exceção a esta política.
• Desative qualquer serviço desnecessário marcando este serviço para inicialização manual ou como
desativado.
2. Melhores práticas para contas de serviço SQL Server
•Use uma conta de usuário ou uma conta de domínio específica para serviços do SQL Server, em vez
de uma conta compartilhada.
•Use uma conta separada para cada serviço.
• Não atribua nenhum privilégio especial a uma conta de serviço do SQL Server; esses privilégios serão
atribuídos a grupos de membros.
• Gerencie os privilégios por meio do grupo de contas oferecido pelo SQL Server, em vez de usar contas
de serviço de usuários individuais.
• Sempre use o Gerenciador de Configuração do SQL Server para mudar contas de serviço.
• Mude a senha das contas de serviço periodicamente.
•Use CREDENCIAIS para executar as etapas do trabalho que demandam privilégios específicos, em vez
de ajustar os privilégios de uma conta de serviço do SQL Server Agent
• Se um usuário agente precisa executar um trabalho que demanda credenciais diferentes no Windows,
atribua a ele uma conta proxy apenas com as permissões suficientes para a realização da tarefa.
3. Melhores práticas para o modo de autenticação
• Use o modo de autenticação do Windows sempre que possível.
•Use autenticação do tipo Mixed-Mode apenas para aplicativos legados e usuários que não são do
Windows.
•Use as frases-padrão de login DLL, em vez de procedimentos de sistema de compatibilidade.
• Altere a senha da conta sa para um valor conhecido, caso você precise usá-la em algum momento.
Sempre use uma senha segura para a conta sa, e altere esta senha periodicamente.
• Não gerencie o SQL Server usando a conta sa; atribua o privilégio sysadmin apenas para usuários ou
grupos conhecidos.
• Dê um nome diferente para a conta sa para evitar ataques nominais a esta conta.
26
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
4. Melhores práticas para conectividade de rede
• Limite os protocolos de rede suportados.
• Não habilite protocolos de rede que não são necessários.
• Não exponha um servidor rodando o SQL Server à Internet pública.
• Configure instâncias nomeadas do SQL Server para usar portas TCP/IP específicas, em vez de portas
dinâmicas.
• Se for necessário suportar logins SQL, instale um certificado SSL de uma autoridade confiável, em
vez de usar os certificados próprios do SQL Server 2005.
•Use “permitir apenas conexões criptografadas” apenas se for necessária criptografia completa em
sessões críticas.
• Conceda permissão de conexão apenas aos endpoints realmente necessários. Negue explicitamente
conexão aos endpoints que não são necessários aos usuários ou grupos.
5. Melhores práticas para procedimentos armazenados do sistema
• Desabilite xp_cmdshell, exceto se for absolutamente necessário.
• Desabilite os componentes COM quando todos eles forem convertidos para SQLCLR.
• Desabilite ambos os procedimentos de correio (Database Mail e SQL Mail) exceto se for necessário
enviar e-mails a partir do SQL Server. Prefira o Database Mail assim que a conversão for possível.
•Use uma Configuração de Área de Superfície no SQL Server para estabelecer uma política-padrão
para o uso de procedimentos estendidos.
• Documente toda e qualquer exceção à política-padrão.
• Não remova os procedimentos armazenados do sistema simplesmente os soltando.
• Não negue acesso aos procedimentos estendidos a todos os usuários/administradores.
6. Melhores práticas para política de senhas
• Estabeleça uma rígida política de senhas para sua organização, incluindo períodos de validade e
complexidade.
• Se precisar usar SQL logins, certifique-se de que o SQL Server 2005 roda no sistema operacional
Windows Server 2003, e use políticas de senha.
• Equipe seus aplicativos com um mecanismo que muda as senhas de SQL login.
•Use MUST_CHANGE para novos logins.
7. Melhores práticas para o administrador de privilégios
•Use o administrador de privilégios apenas quando for necessário
• Minimize o número de administradores.
• Defina explicitamente os principais administradores.
• Tenha múltiplos administradores distintos caso precise de mais de um.
• Evite dependência do grupo de administradores incluído no Windows.
8. Melhores práticas para propriedade e confiança do banco de dados
• Conte com diferentes proprietários para os bancos de dados, nem todos devem ser propriedade da sa.
• Minimize o número de proprietários de cada banco de dados.
• Tenha cuidado ao atribuir confiança.
• Desative a configuração Cross-Database Ownership Chaining (Encadeamento de Propriedade de
Bancos de Dados Cruzados) exceto se existem múltiplos bancos de dados em uma mesma unidade.
• Promova a migração do uso para a confiança seletiva, em vez de usar a propriedade TRUSTWORTHY.
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
27
1
9. Melhores práticas para o uso de esquemas
• Agrupe objetos similares no mesmo esquema
• Administre a segurança do banco de dados de objetos usando propriedades e permissões baseadas
em esquemas.
1
• Tenha proprietários distintos para os esquemas.
• Nem todos os esquemas devem ser propriedade de dbo.
• Minimize o número de proprietários de cada esquema.
10. Melhores práticas para autorização de objeto de banco de dados
• Divida o acesso dentro dos módulos.
• Administre as permissões por meio de funções no banco de dados ou grupos do Windows.
•Use as permissões granulares para implementar o princípio do privilégio mínimo.
• Não permita o acesso de convidados.
•Utilize usuários sem logins em vez de funções de aplicativo.
11. Melhores práticas para a segurança do catálogo
• O acesso ao catálogo já é seguro por padrão. Nenhuma ação adicional de segurança é necessária.
• Selecione as permissões VIEW DEFINITION de acordo com o objeto, esquema, banco de dados ou nível
de servidor para conceder permissão de visualização aos metadados do sistema sem oferecer permissões adicionais.
• Verifique os aplicativos legados que podem depender do acesso aos metadados do sistema durante a
migração para o SQL Server 2005.
12. Melhores práticas para execução de fontes remotas de dados
• Reduza progressivamente todas as definições remotas do servidor.
• Substitua servidores remotos por servidores interligados.
• Desative queries ad hoc por meio de servidores interligados, exceto se forem absolutamente necessárias
•Use delegação forçada se for necessário contar com autenticação pass-through em um servidor
interligado.
13. Melhores práticas para o contexto de execução
• Defina o contexto de execução para cada módulo, em vez de usar as configurações-padrão.
•Use EXECUTE AS em vez de SETUSER.
•Use WITH NO REVERT/COOKIE em vez de funções de aplicativo.
• Considere o uso de assinatura de código de programação procedural caso o procedimento demande
um único privilégio granular adicional.
14. Melhores práticas para a criptografia de dados
• Criptografe todos os dados de alto valor e críticos.
•Use chaves simétricas para criptografar os dados, e chaves assimétricas ou certificados para proteger
as chaves simétricas.
• Proteja as chaves com senhas e remova a criptografia da chave mestra para contar com a configuração mais segura.
• Sempre faça backup da chave mestra do serviço, chaves mestras do banco de dados e dos certificados
por meio de declarações de DDL específicas para chaves.
• Sempre faça backup de seu banco de dados para proteger suas chaves simétricas e assimétricas.
28
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
15. Melhores práticas para auditoria
• As auditorias são específicas para cada cenário. Equilibre as necessidades de auditoria com a geração
de dados adicionais.
• Faça auditorias de logins com e sem sucesso caso você armazene dados críticos.
1
• Faça auditorias de DDL e eventos específicos do servidor usando rastreamento ou notificações de
eventos.
• A auditoria de DML deve ser feita por meio de rastreamento de eventos.
•Use WMI para receber alertas sobre eventos de emergência.
• Habilite a auditoria C2 ou conformidade com Common Criteria apenas se necessário.
16. Melhores práticas para atualização do SQL Server
• Faça atualizações sempre que possível.
• Habilite as atualizações automáticas sempre que houver possibilidade, mas teste as atualizações
antes de aplicá-las aos sistemas em produção.
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
29
Capítulo 2:
Manutenção da segurança de seu site de
comércio eletrônico com Trend Micro SecureSite
2
Trend Micro™ SecureSite é um serviço empresarial hospedado, voltado para a identificação e gerenciamento de vulnerabilidades. O SecureSite identifica falhas de segurança em todas as camadas de um ambiente
de rede, e oferece informações sobre vulnerabilidades, avaliação de riscos e possíveis soluções.
O SecureSite usa a rede para verificar componentes específicos de acordo com endereços IP ou nomes de
host, por isso é capaz de oferecer relatórios sobre as vulnerabilidades da rede e ainda opções de correção
destas falhas de segurança usando a quantidade mínima de recursos. Se as vulnerabilidades do site não
forem corrigidas, elas podem ser exploradas pelos hackers para comprometer os dispositivos de rede. Em
um site de comércio eletrônico, isso pode comprometer significativamente sua reputação e credibilidade,
uma vez que o cartão de crédito é a forma de pagamento mais utilizada nas transações on-line.
Como o Trend Micro SecureSite funciona
O SecureSite verifica Web sites, aplicativos, servidores de bancos de dados e sistemas operacionais em
busca de vulnerabilidades. Quando possui privilégios administrativos, o SecureSite pode realizar inspeções
mais profundas nos recursos do sistema para detectar programas não autorizados, validar atualizações e
identificar worms.
Esta versão do SecureSite suporta duas tarefas dos usuários:
• Site Summary (Resumo do Site) – Verifica a Home Page de sua conta SecureSite para visualização das
vulnerabilidades detectadas nos últimos quatro meses. Você também pode ver uma lista de todos os
seus sites que estão configurados para passar pela inspeção do SecureSite.
• Reports (Relatórios) – O SecureSite oferece dois tipos de relatórios: Executive Summary (Resumo
Executivo) e Remediation Plan (Plano de Reparo). Os relatórios são gerados automaticamente em
formato PDF quando uma verificação de vulnerabilidade é completada.
Arquitetura
O SecureSite trabalha em conjunto com os sites que verifica. Quando um revendedor ou usuário assina
o serviço, o FQDN ou Endereço IP do site é inserido no banco de dados WFSS. Então, o site é verificado
periodicamente. A arquitetura WFSS é explicada abaixo:
31
2
Figura 9. Arquitetura do Trend Micro SecureSite
O Trend Micro SecureSite opera na Internet, verificando os principais dispositivos, sistemas e aplicativos do
site. Isso inclui os recursos a seguir:
• Sites Individuais
• O Sistema Operacional:
• O Servidor de Aplicativos
• Aplicativos e Arquivos
Sites com múltiplos servidores também são verificados (EX: Servidor B), o que oferece avaliação de uma
ampla variedade de vulnerabilidades.
Principais Recursos e Benefícios
Trend Micro SecureSite oferece recursos e benefícios importantes para gerentes de Web site, revendedores
e usuários finais que possuem sites comerciais:
• Protege a reputação e aumenta a credibilidade de um site.
• Avalia o site por meio de análises constantes de vulnerabilidade, para ajudar na prevenção de ataques
como invasões, injeções de SQL, cross-site scripting ou atividades de bot.
• Monitora vulnerabilidades em múltiplos aplicativos web, bancos de dados e sistemas operacionais, em
busca de vulnerabilidades e falhas de segurança que podem ser exploradas pelos hackers.
• Mostra o status de segurança do site com alertas on-line e por e-mail, incluindo relatórios sobre os
principais riscos e vulnerabilidades, boletins e avaliações de políticas.
• Permite que você resolva seus problemas rapidamente por meio de dicas de soluções disponíveis em
uma lista de vulnerabilidades em constante crescimento.
• Não é necessário instalar nenhum software. Trend Micro SecureSite é uma solução hospedada, mantida e atualizada pela Trend Micro. Ou seja, os sites estão protegidos pelas tecnologias mais modernas.
• O SecureSite conta com um console Web on-line para oferecer uma visão geral das vulnerabilidades,
além de uma lista de relatórios executivos e planos para a solução de problemas como explicado na
tabela a seguir.
32
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
Tabela 7. Principais Funções do Console Web do SecureSite 1.0
Função
Descrição
Interface On-line:
Resumo do Site
Gráficos On-line: Sites mais vulneráveis, ao longo do tempo
Lista On-Line: Lista de sites verificados por nome, vulnerabilidades, risco atual e
última verificação.
Relatório: Resumo
Executivo
Relatório em PDF: Relatório detalhado de status dos sistemas verificados,
incluindo vulnerabilidades por severidade ou por serviço.
Plano de Solução
Relatório em PDF: Relatório consolidado de vulnerabilidades, com plano otimizado para solução. O banco de dados interno do SecureSite mantém uma lista
atualizada de todas as atualizações e correções, com indicação das vulnerabilidades específicas. O relatório determina a vulnerabilidade, oferece a solução, e
estima o tempo que será gasto para solucionar o problema.
2
Além disso, o SecureSite verifica e oferece proteção contra uma ampla variedade de vulnerabilidades e
ameaças Web, como mostrado na tabela abaixo:
Tabela 8. Vulnerabilidades Detectadas pelo SecureSite
Categoria
Vulnerabilidade
Descrição
Mecanismos de
Fraude/Phishing
Cross-Site Scripting
Permite fraudes de phishing, a vulnerabilidade
mais comum dos Web sites
Vazamento de Informações
Revela informações críticas (comentários do
programador, dados dos usuários, endereços IP,
códigos fonte, etc.) aos criminosos
URL Previsível
Busca informações críticas em sites por meio da
verificação de páginas esquecidas.
Injeção de SQL
Rouba informações de bancos de dados ao inserir
códigos nos sites e serve de base para os grandes
ataques contra cartões de crédito.
Indexação / Transversal
de Diretórios
Lista as páginas web que não devem ser expostas ao público, por meio do uso de um recurso
comum de servidor web.
Injeção de XPath
Expõe documentos XML com informações críticas
aos criminosos.
Autorização Insuficiente
Permite que usuários não autorizados tenham
acesso a áreas protegidas do site.
Buffer Overflow
Explora as vulnerabilidades do site para assumir
controle completo de um servidor e executar atos
maliciosos.
Vazamento de Dados
Uso Não Autorizado
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
33
Manutenção da postura de segurança de seu site de comércio
eletrônico com Trend Micro SecureSite
2
Os procedimentos a seguir podem servir como guia para que um dono de Web site aproveite plenamente o
Trend Micro SecureSite.
1. Consulte o Guia do Revisor e Guia Rápido relativos ao SecureSite para conhecer os procedimentos de
registro e configurações iniciais.
2. O arquivo robots.txt ou “The Robots Exclusion Protocol” ajuda na prevenção contra spiders ou webcrawlers
conhecidos em um servidor web. O arquivo fica no diretório base do host do site, onde é facilmente acessado
por qualquer bot ou scanner. Este arquivo pode prejudicar a ação do Worry Free SecureSite contra spiders,
pois pode limitar os diretórios verificados. É fundamental que o leitor entenda que qualquer mudança no
arquivo robot.txt é capaz de afetar o comportamento de webspiders de terceiros com relação ao site, e por
isso pode causar efeitos indesejados. Por exemplo, menos visibilidade na Internet ou efeitos negativos em
outras funcionalidades de marketing. Uma das maneiras de configuração do arquivo robots.txt está explicada
a seguir:
User-agent: *
Disallow: /cgi-bin
Disallow: /search
Disallow: /query.html
Disallow: /mailform.html
Esta configuração sugere que qualquer agente webspider é autorizado a acessar o site, mas não os diretórios e arquivos da lista na diretiva “Disallow”. Assim, eles se transformam em elementos de um arquivo
robots.txt.
Informações relevantes sobre o arquivo robots.txt podem ser encontradas nas URLs abaixo:
http://www.whitehouse.gov/robots.txt
http://www.robotstxt.org
3. O serviço SecureSite pode enviar relatórios executivos e de solução de problemas ao final de cada
verificação. Isso depende da freqüência de verificações e do tipo de relatório que você especificou ao
registrar o produto.
4. O assunto do e-mail de notificação do SecureSite vai mostrar um resumo das vulnerabilidades encontradas durante a verificação. Dessa forma, você saberá quando precisa tomar alguma atitude apenas pelo
título do e-mail. As vulnerabilidades mais sérias demandam ações imediatas.
Figure 10 – E-mail de notificação do WFSS Notification
34
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
5. O Resumo Executivo (Executive Summary), mostrado no Apêndice A, oferece uma visão geral do status
de seus recursos de rede. Esse resumo mostra uma descrição das vulnerabilidades de acordo com sua
gravidade, além de uma lista por tipo de aplicativo e protocolo.
A Tendência de Vulnerabilidades (Vulnerability Trend) mostra a progressão do número de vulnerabilidades em comparação com as verificações anteriores. Dessa forma, você pode determinar e correlacionar
qualquer ato administrativo recente (como instalar um novo serviço de rede, por exemplo) com as novas
vulnerabilidades encontradas.
2
Preste atenção à descrição das vulnerabilidades com base nas categorias. Isso ajuda na definição do plano
para solução dos problemas, já que mostra a você qual aplicativo está mais vulnerável.
6. O Relatório de Solução (Remediation Report), mostrado no Apêndice B, lista o número de etapas e o
tempo estimado para a solução das vulnerabilidades recém encontradas. Recomendamos a leitura completa do relatório, para conhecer as melhores maneiras de aplicar efetivamente as mudanças em seus
servidores.
Além disso, cada dispositivo recebe um índice de risco. Assim, você pode dar prioridade ao host que tem
mais chances de ser comprometido. Cada vulnerabilidade encontrada em um host ainda é resumida e
recebe pesos (fatores de risco), assim você saberá qual vulnerabilidade deve priorizar em cada host.
Figura 11 – Relatório de Solução com Fatores de Risco
7. Após seguir os procedimentos do plano de solução, você poderá relaxar e esperar pela próxima avaliação. Se tudo correr bem, você terá um site muito mais preparado para lidar com as ameaças da Internet.
8. Após a finalização do Plano de Solução e a verificação seguinte, seu site receberá um selo com o logo do
Trend Micro SecureSite, uma indicação de que seu site é certificado pelo produto.
Figura 12 – Selo de Certificação do Trend Micro SecureSite
TREND MICRO™ worry-free securesite | GUIA de melhores práticas |
35
Apêndice A – Amostra Executiva Geral
RESUMO EXECUTIVO
MEU SITE DE COMÉRCIO ELETRÔNICO
Auditoria realizada em 17 de abril de 2008, PDT
Relatório em 17 de abril de 2008, PDT
37
38
39
Apêndice B – Amostra de Plano de Remediação
PLANO DE REMEDIAÇÃO
MEU SITE DE COMÉRCIO ELETRÔNICO
Auditoria realizada em 17 de abril de 2008, PDT
Relatório em 17 de abril de 2008, PD
41
42
43
44
45
Download