Configurar Servidor LEMP (Nginx, MySQL, PHP) – Parte 2

Nessa segunda parte do tutorial vamos dar prosseguimento as configurações de segurança de nosso servidor LEMP, vamos instalar o fail2ban para nos proteger de ataques por força bruta, e também instalar o firewall ufw, para termos um melhor controle das portas abertas em nosso servidor.

Caso você não tenha visto a primeira parte, clique neste link aqui e confira, pois ela é um pré-requisito para esse tutorial.

Para relembrar, paramos exatamente no segundo passo, onde configuramos o nosso daemon SSH e aumentamos a segurança do mesmo. Agora vamos começar com o terceiro passo, instalação e configuração do fail2ban.

Terceiro passo – Configuração e instalação do fail2ban

Para aqueles que não conhecem o fail2ban, saiba que ele é um software que monitora os arquivos de log do sistema em busca de sinais de atividade maliciosa. Ele é capaz de banir IPs que tentam realizar o login em nosso servidor através da força bruta. Ele limita o número de tentativas de login no SSH e bloqueia um determinado IP por uma fração de tempo, mitigando assim a eficiência de um ataque.

O fail2ban é indispensável para manter a saúde de um servidor web, por isso vamos instalá-lo em nossa droplet. Para tal basta logar em seu servidor através do SSH e executar o comando abaixo.

sudo apt-get install fail2ban

Esse comando realiza a instalação do fail2ban em nosso sistema. Agora é necessário realizar alguns ajustes finos para que o programa funcione perfeitamente. Primeiramente vamos fazer uma cópia do arquivo de configuração padrão do fail2ban e editá-lo, para atender assim nossas necessidades. Para realizar essa cópia execute o seguinte comando:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Depois de copiar o arquivo, vamos editá-lo. Para isso execute o seguinte comando:

sudo nano /etc/fail2ban/jail.local

No arquivo que você acabou de abrir, existem inúmeras configurações possíveis para o ajuste fino do fail2ban, porém precisamos alterar pouquíssimas coisas para que o software já atenda os nossos objetivos.

Primeira alteração e no tempo em que um IP ficará banido. Localize a chave bantime e mude o seu valor para 3600, essa será a quantidade de segundos que o IP ficará impedido de realizar o login em nosso servidor. Seu arquivo deve ficar igual ao código abaixo.

bantime  = 3600

Caso você tenha realizado alguma alteração nos valores padrão do seu SSH, as entradas abaixo também devem ser editadas para refletir a sua configuração atual. Mas se você está seguindo esse tutorial desde o início, nenhuma alteração nestes valores deve ser necessária.

enabled  = true
port     = ssh 
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

Quando terminar de editar o arquivo a seu gosto pressione Ctrl+x para sair do editor de texto e, quando solicitado, pressione a tecla Y e em seguida o Enter para salvar as alterações.

Agora vamos recarregar o serviço do fail2ban para garantir que as novas alterações surtam efeito no sistema operacional, para isso execute o seguinte comando:

sudo service fail2ban restart

Caso queira conferir as regras ativas do software, o comando abaixo exibe as regras que o fail2ban coloca em funcionamento, muito útil para realizar algum tipo de debug:

sudo iptables -L

Quarto passo – Instalar e configurar o firewall

Para deixar o nosso servidor ainda mais seguro, vamos configurar um firewall para ele. O fail2ban e bastante útil para monitorar e bloquear atividades suspeitas, porém ele não controla o acesso as portas, muito menos bloqueia ou libera alguma porta em especifico no nosso servidor. Para essa finalidade, devemos empregar um firewall, e é isso que o ufw fará em nosso servidor.

Para instalar o ufw basta executar o comando abaixo:

sudo apt-get install ufw

Possivelmente o ufw já está instalado em seu sistema, mas comando acima vai assegurar que a instalação aconteça, caso o software não esteja presente no sistema.

O UFW permite inúmeras configurações, mas por padrão, você precisa apenas executar os comandos abaixo para que seu servidor web fique bastante protegido. Em resumo, os comandos abaixo vão bloquear todas as requisições de entrada e liberar todas as requisições de saída, e posteriormente, liberar as portas necessárias para que o ssh, http e https funcionem corretamente.

Copie e cole todos os comandos abaixo em seu terminal ssh e execute-os.

sudo ufw default deny incoming &&
sudo ufw default allow outgoing &&
sudo ufw allow ssh &&
sudo ufw allow http &&
sudo ufw allow https &&
sudo ufw enable

Após executar os comando acima, você pode verificar quais regras estão ativas em seu servidor, para isso basta executar o comando abaixo e verificar a saída do mesmo.

sudo ufw status

Deste ponto em diante o seu servidor já se encontra bastante seguro, dificilmente você terá problemas de segurança relacionados ao sistema operacional. No próximo artigo vamos instalar os demais softwares para que nosso servidor funcione corretamente.

Clique aqui e confira a parte 3 deste tutorial.

Cadastre-se na DigitalOcean e ganhe descontos!

Cadastre-se agora mesmo na DigitalOcean pelo botão abaixo e ganhe 10$ de desconto. Aproveite essa oportunidade única!

cadastre-se grátis

One thought on “Configurar Servidor LEMP (Nginx, MySQL, PHP) – Parte 2

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *