Como proteger seu linux Ubuntu contra “Brute Force” na Digital Ocean

porLuis Augusto Moretto

Como proteger seu linux Ubuntu contra “Brute Force” na Digital Ocean

Digital Ocean Gerenciar sua Cloud na Digital Ocean
Digital Ocean Cloud

Introdução

Seu site está sob constante ataque de hackers tentando invadir com Brute force no SSH, Mysql, Apache Http?

Todo site  experimenta tentativas de login mal-intencionados e descoberta de vuberabilidades.

A tecnologia tornou simples programar robos para adivinhar seu login e senha. Limitar as tentativas de login não é a resposta.

Você precisa impedir que alguém acesse sua página de administração se eles não tem as credenciais.

Para isto alguns procedimentos devem ser realizados de forma a bloquear acesso indevido.

A heurística aplicada aqui para segurança é permissiva: tudo que não é permitido é bloqueado.

Ou seja: ao invés de ficar brincando de gato e rato, vamos fechar todas as portas e permitir apenas os serviços em execução no Droplet da Digital Ocean

Esta estratégia vai minimizar os problemas com Brute force comum a todos os droplets. As tentativas de Brute Force são registradas na pasta

/var/log/auth.log.

Este arquivo deve ser “zerado” de tempos em tempos porque fica utilizando espaço em disco considerável (400MB em 1 mês no meu droplet….).

Para limpar o log digite no console:

$ echo -n>/var/log/auth.log
/var/log/auth.log
Arquivo de autenticação do UBUNTU 16 /var/log/auth.log

Ferramentas

Vamos utilizar as seguintes ferramentas para criar as regras de segurança de seu Droplet na Digital Ocean

  • UFW – Ferramenta de firewall.
  • Fail2Ban – Bloqueia acesso ao SSH e manda o IP para “jail”.
  • IPTABLES – Regras para bloquear ip ou faixa de ips.

Você deve instalar as ferramentas utilizando o comando APT-GET install….

UFW - Firewall

UFW é um firewall para iptables que está incluída no Ubuntu por padrão. A instalação default bloqueia todas as requisições de entrada e permite todasas requisições de saída do seu servidor.

Vamos mostrar alguns comandos de referência para criar regras de firewall úteis em cenários comuns.

Por exemplo fazer com que o  UFW permita ou bloqueie vários serviços por porta, interface de rede e endereço IP de origem.

$ sudo ufw default deny incoming (bloqueia tudo na entrada padrão)
$ sudo ufw deny from 15.15.15.51 (bloqueia o IP)
$ sudo ufw deny in on eth0 from 15.15.15.51 

Para liberar os serviços e suas portas como SSH, Mysql, HTTP e HTTPS utilize os comandos do UFW abaixo

$ sudo ufw allow ssh (permite ssh)
$ sudo ufw allow 22 (permite porta 22)
$ sudo ufw allow http (permite http)
$ sudo ufw allow https (permite https)
$ sudo ufw allow 80 (permite porta 80)

APós adicionar as regras é hora de reiniciar o serviço carregando suas configurações de firewall

$ sudo ufw reload
Log do Firewall UFW
Arquivo de log /var/log/ufw.log Firewall blocking

Fail2Ban

A conexão com o seu servidor através do SSH pode ser muito seguro, mas para que o serviço funcione remotamente, deve ser exposto à Internet.

Isso vem com algum risco inerente e cria um vetor de ataque para possíveis Hackers e métodos de invasão com o Brute Force.

Para bloquear o Brute Force vamos editar o arquivo de configuração do Fail2ban para que os IPS que estejam usando esta técnica de invaão sejam colocados em uma lista de ban ou Jail.

$ awk '{ printf "# "; print; }' 
/etc/fail2ban/jail.conf | sudo tee /etc/fail2ban/jail.local
$ sudo nano /etc/fail2ban/jail.conf

Agora edite seu arquivo jail.conf conforme abaixo:

[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3
$ sudo service fail2ban start

CONCLUSÃO

Se todos os passos foram executados corretamente neste momento seu Droplet deve estar bem mais seguro.

O Brute Force vai continuar mas após a terceira tentativa o IP vai para a JAIL e fica banido. Assim o bot de Brute Force naquele ip fica impedido de tentar quebrar seu usuário e senha. 

Outra dica e criar uma conta diferente de usuário com privilégios de ROOT e desabilitar o usuário padrão no SSH.

 

Compartilhe