Porque meu site foi hackeado

Por que meu site foi hackeado?

De acordo com o Internet Live Stats, existem ao todo 1.5 bilhões de websites no ar neste exato momento. Cada um destes websites representa um alvo para um hacker mal intencionado. O tamanho do site não importa, o que importa é ter acesso a um sistema que pode ser escravizado e utilizado para fins diversos. Se o seu site foi invadido, entenda o que pode ser feito.

O tamanho não importa

A verdade é que o tamanho e o segmento do seu site, não importa para o agente malicioso (hacker, malware, bot..). Cada site e/ou sistema tem valor para quem invade. O seu site pode ser sobre tipos de plantas, mas o sistema que o apoia pode ser utilizado para disparar ataques a outros alvos de maior valor. Ou seu site/sistema pode passar a integrar uma rede de zumbis (botnet) que são escravizados e utilizados para atacar empresas e instituições ao redor do mundo. Também pode ser usado para inserir links de spam no seu site, a fim de que o site do hacker (ou contratante do hacker) ganhe maior relevância nos mecanismos de pesquisa (SEO spam).

Os fins e meios são os mais diversos possíveis, e a verdade é que, se você pensa que “meu site é pequeno! É do meu pequeno negócio de estampar camisas e ninguém vai querer invadir meu site”, você está equivocado.

Como isto afeta seu site ou sua organização

Isto depende do tipo de valor que o seu site ou imagem, tem para seu negócio. Existem sites que são a principal fonte de receita para organizações ou pessoas, de modo que ter seu site invadido, indisponibilizado ou afetado de alguma forma, pode prejudicar esta receita.

Pode ser que o site seja da pequena gráfica de estampas de camisa, e seu dono acredita que o site não representa um valor agregado tão significativo. Porém, hoje não existem catálogos de páginas amarelas, as pessoas buscam no Google por serviços e produtos, logo, ter o site indisponibilizado pode sim influenciar na receita de uma empresa de qualquer porte.

Recentemente escrevi um artigo no blog da sucuri.net que discorre de forma mais extensiva sobre este assunto. Recomendo a leitura: Why is Your Website a Target? The SEO Value of a Website

Cuidados para evitar que seu site seja invadido

Alguns cuidados podem ser determinantes para garantir que seu site não seja invadido/hackeado. Vou listar alguns deles aqui:

  • Senhas com, de preferência, mais de 10 caracteres, misturando números, letras (maiúsculas e minúsculas) e símbolos
  • Uma senha diferente para cada serviço e/ou sistema
  • Deixar apenas o necessário dentro do ambiente publicado para a internet
  • Aplicar atualizações assim que disponíveis (por exemplo, se você utiliza WordPress, mantenha temas, plugins e o próprio WordPress sempre atualizados)
  • Uma rotina de backup pode te ajudar

Segurança de Senhas

Senhas continuam sendo um problema, por incrível que pareça. Vejo casos de senhas sendo aplicadas em vários servidores e serviços diferentes na mesma organização (1 senha pra tudo). Casos de senhas como “minhavida123” para o site “minhavida-qualquercoisa.com.br”, “senha123”, “1q2w3e4r” e por aí vai…

Por isso, se você é gestor de uma organização com vários ativos (servidores e serviços), recomendo fortemente a realização de testes específicos para verificação da qualidade das senhas utilizadas. Qualquer empresa que preste serviço de teste de intrusão pode te ajudar nesta tarefa.

Se você é dono de site, trabalha com marketing digital, mantém seu blog ou site de pequeno negócio, ou até mesmo configura senhas na sua empresa, procure evitar senhas básicas que sigam algum padrão previsível e use uma senha diferente para cada serviço (cpanel, ftp, sftp, ssh, banco de dados, email, domínio… etc).

Deixar apenas o necessário dentro do diretório ou conta do site (Hardening)

Eu me deparo frequentemente com situações em que na raiz do diretório público (onde você “cai” quando acessa seu site.com.br/), são armazenados arquivos como por exemplo:

  • backup.zip
  • senhas.txt
  • wp-config.php.bak
  • wp-content-old (as vezes old1, old2, old3 também aparecem!!!)
  • database.sql
  • phpinfo.php ou info.php
  • teste.php

Cada situação destas, coloca em risco os sistemas da sua empresa, do seu blog, do seu site. É uma brecha para que o hacker consiga obter informações ou pontos vulneráveis que servirão para invadir seu site. Por isso, remova tudo que for possível e não essencial ao seu site ou aplicação, se possível, do diretório do usuário ou da conta.

Atualizações

A falta de atualizações de tecnologias e softwares, são causa da maioria dos problemas de segurança. Todas as semanas surgem novas vulnerabilidades em softwares tecnologias, e se você não aplicar a correção, alguém vai tirar vantagem disso e comprometer seu site/sistema. Por isso, fique atento aos updates!

Donos de sites como WordPress, Magento, Joomla ou outros, tendem a evitar atualizações por receio de que o site irá parar de funcionar corretamente. Na maioria das vezes isso não ocorre. Mas existem casos em que o tema foi especialmente desenvolvido para aquela empresa, e que foi validado para uma versão de WordPress e utiliza recursos legados, de modo que se aplicarmos a atualização, o site quebra. Bom, seu site vai quebrar com ou sem a atualização, ou vai ser a atualização ou vai ser o hacker. Por isso, fique dentro do campo das coisas que você pode controlar e considere trocar o tema logo.

Como se proteger e evitar que seu site seja hackeado

Para proteger seu site de ataques hacker ou malware, além dos cuidados mencionados anteriormente, você pode aplicar as seguintes estratégias:

  • Isolar seu site em uma conta individual (se você usa hospedagem compartilhada)
  • Separar cada site sob um usuário e permissões de sistema diferentes (se você hospeda em seu próprio servidor)
  • Adotar o instalar/configurar um firewall de aplicação web
  • Tirar proveito de uma CDN e evitar expôr o IP verdadeiro do seu servidor
  • Adotar medidas de scan automatizados para verificações de rotina
  • Adotar alguma solução de detecção e prevenção de ataques em host (HIDS)

Para ajudar a fundamentar cada item:

Ao isolar seu site em uma conta individual, ou separando cada site sob um usuário com esquemas de permissões diferentes, você estará prevenindo que um ataquem em um vhost/site, afete os demais e acabe se tornando um problema maior ainda. A contensão do problema vai agilizar na recuperação do incidente.

O firewall de aplicação web é diferente de um firewall comum. Um firewall tradicional vai ajudar a determinar quais portas udp/tcp terão acesso permitidos a partir de uma ou mais origens, em determinado destino. Nada além disso. Já o firewall de aplicação web, vai inspecionar o tráfego direcionado ao seu site ou aplicação web, para identificar ataques maliciosos e bloqueá-los.

Existem tecnologias gratuitas e pagas, obviamente as tecnologias gratuitas necessitarão de conhecimento e tempo para instalação, configuração, e alguém que entende o que está fazendo para configurar as regras de detecção. Um exemplo de firewall de aplicação gratuito é o modsecurity. Aqui no blog, temos um tutorial sobre como instalar e configurar um servidor web seguro, se este for seu objetivo.

Existem soluções como o FortiWeb da fortinet, em que você adquire o appliance e instala em seu datacenter. Aqui estamos falando de uma solução voltada a ambientes corporativos. 

E existem soluções para o consumidor final médio, como eu e você, que desejamos proteger nossos sites sem ter que dedicar horas de trabalho na configuração e manutenção de um modsecurity. Queremos focar no nosso negócio e deixar isso com quem sabe fazer, a um custo baixo. Um exemplo deste tipo de solução, em que basta modificar a configuração de DNS do seu site (ou solicitar suporte para que façam tudo pra você), é o CloudProxy da Sucuri.net.

Ao contratar o serviço da Sucuri.net, você ainda tem no pacote o monitoramento e suporte 24×7, CDN cache (performance) além de limpeza de malware caso seu site seja invadido. E você não precisa ter conhecimento técnico nenhum pra isso. O preço é relativamente baixo para o benefício entregue, principalmente se você tem um site ou aplicação que faz parte da sua fonte de receita. Vale a pena conferir.

Ao adotar uma CDN, você pode auditar todos os apontamentos do seu domínio (subdomínios e registros MX, cname, A, AAAA,TXT, SRV, etc…) e garantir que nenhum deles aponte para seu servidor, onde seu site está hospedado de fato. Isto vai colaborar para que o hacker não encontre outros serviços existentes no seu servidor, como por exemplo, o SSH. Ao não encontrar o ponto de entrada SSH, você estará evitando pelo menos o ataque de força-bruta e qualquer outro tipo de vulnerabilidade neste serviço que possa vir a aparecer no futuro. Mas atenção: isso não vai te deixar seguro, vai apenas dificultar a identificação e dar mais trabalho pro hacker.

Conclusão

Cuidar da segurança é uma questão básica hoje em dia. Porém, muitos donos de pequenos negócios ou blogueiros não tem o tempo, ou o conhecimento necessário para tal tarefa. Em situações como esta, recomendo uma de duas opções: Contratar quem saiba fazer para te ajudar a configurar algum mecanismo de proteção e te dar o suporte necessário, ou contratar um serviço de uma empresa especializada nesta área. Na primeira opção, você vai precisar de tempo e paciência para encontrar um bom prestador, na segunda opção fica mais fácil, basta ir até o site da Sucuri.net e conversar com eles diretamente.

Leitura complementar recomendada:

Google Blog: Camapnha Nohacked

 

Leave a Reply

Your email address will not be published. Required fields are marked *