O espaço público da internet requer um acompanhamento constante dos responsáveis por um web site para protegê-lo contra invasões.
Trata-se de um trabalho a quatro mãos: o provedor de hospedagem cuida da proteção da infraestrutura de rede e servidores, enquanto o programador zela pelas aplicações que rodam no site.
Para auxiliar os programadores a prevenir invasões que resultem em acesso não autorizado a arquivos e bancos de dados, a Bruc Internet elaborou uma lista com as 5 principais vulnerabilidades exploradas pelos hackers e as providências que podem ser tomadas para evitar o problema:
SQL Injection
O que faz: permite que terceiros acessem o banco de dados do site para consultar, alterar ou excluir conteúdos, e também inserir códigos maliciosos.
De que forma: a vulnerabilidade está presente nos scripts em que a entrada de dados do usuário, seja via formulário ou URL, usando os métodos GET ou POST, não é devidamente filtrada, permitindo o uso de comandos específicos do banco de dados.
Como evitar: o programador deve tratar todos os parâmetros recebidos por scritps que acessam o banco de dados, com o objetivo de filtrar strings potencialmente perigosas, como:
' (aspas simples), " (aspas duplas), < (menor que), > (maior que), -- (duplo sinal de menos), # (cerquilha), * (asterisco), & (e comercial).
Além de filtrar comandos SQL como: DECLARE, EXEC, SET, CAST, INSERT, DELETE, UPDATE
Informações sobre como se proteger deste tipo de ataque podem ser obtidas no seguinte link:
Como proteger meus scripts contra ataques de SQL Injection?
Script Injection
O que faz: permite a exploração de scripts para inserção de parâmetros na URL, como no exemplo a seguir:
De que forma: o invasor pode executar um script externo para envio de spam a partir do site invadido.
Como evitar: a aplicação do site deve filtrar a ocorrência de padrões como: "http://" nos parâmetros das URL, impedindo a chamada de scripts externos.
Mail Form Injection
O que faz: envio de mensagens de spam.
De que forma: o invasor insere comandos SMTP nos campos (ou variáveis) dos formulários de contato do site.
Como evitar: os scripts afetados devem filtrar a ocorrência de padrões como: "CC:", "Cc:", "cc:", "BCC:", "Bcc:" e "bcc:", impedindo o envio de spams para destinatários incluídos em cópia nas mensagens.
Upload de Códigos Maliciosos
O que faz: o invasor faz o upload de scripts maliciosos para alteração de arquivos, alteração do banco de dados ou envio de spam.
De que forma: Usando formulários de upload sem autenticação de acesso, ou a partir de uma invasão de programas vulneráveis do site.
Como evitar: o acesso às áreas de upload de arquivos deve ser protegido por senha, além disso, softwares de terceiros, como lojas on-line (ex. Magento) e CMS (ex. Wordpress, Joomla e Drupal) devem ser mantidos sempre atualizados, tanto o programa principal quanto os plugins instalados.
Invasão via FTP
O que faz: envio de spam, propagação de vírus ou hospedagem de sites falsos.
De que forma: programas maliciosos instalados no computador do usuário captam e enviam o login/senha de acesso ao FTP para terceiros que, posteriormente, o utiliza para publicação de scripts.
Como evitar: um bom software antivírus deve ser instalado e atualizado nos computadores que acessam o site via FTP. Além disso, é importante evitar acesso ao site via FTP em computadores de uso comum, como os disponíveis em lan houses e cyber cafés. Caso o plano de hospedagem permita, o acesso ao FTP do site pode ser limitado a IP fixos.
O que fazer caso seu site tenha sido invadido através das técnicas acima: