15 Dicas de VPS Seguro para Prevenir Ataques em Seu Servidor

Saber como proteger seu VPS Linux irá ajudá-lo a evitar várias ameaças e ataques cibernéticos. No entanto, não é uma tarefa simples – além de aplicar as melhores práticas de segurança, você precisa monitorar seu servidor virtual privado continuamente.

Com isso em mente, vamos nos aprofundar na segurança do Linux e em suas fraquezas comuns. Também discutiremos 15 dicas de segurança de servidor VPS para evitar ataques cibernéticos em seu servidor virtual.

Segurança do Linux e Pontos Fracos Comuns

Embora o Linux seja famoso por seu sistema seguro, ele possui algumas vulnerabilidades. Muitas ameaças podem danificar a segurança e os dados do seu servidor.

Vamos examinar detalhadamente a lista das ameaças e fraquezas mais comuns:

  • Malware – refere-se ao software intrusivo projetado intencionalmente para danificar computadores e seus sistemas operacionais. Ele vem em várias formas, incluindo cavalos de Tróia, ransomware, vírus e spyware.
  • Ataque de sniffers – acontece quando um hacker usa pacotes de sniffers para interceptar e extrair dados de uma rede.
  • Ataque de força bruta – um método de hacking envolvendo um invasor que usa tentativa e erro para adivinhar credenciais de login.
  • Injeção SQL – ocorre quando um hacker explora o código em um aplicativo da Web para obter acesso ao banco de dados do servidor.
  • Script entre sites (XSS) – um ataque do lado do cliente durante o qual um hacker injeta código malicioso em um site.
  • Sem controle de nível de função – um servidor pode causar isso por não verificar os direitos de acesso corretamente, dando aos usuários gerais privilégios de root.
  • Autenticação quebrada – roubo de identidade que geralmente ocorre devido a dados não criptografados, senhas fracas ou tempo limite de sessão de aplicativo mal definidos.

Antes de implementar qualquer medida de segurança, tome conhecimento dos elementos que você deve monitorar. Aqui estão alguns deles:

  • Segurança da hospedagem VPS
  • Software do servidor
  • Conexão SSH
  • Acesso root e logins
  • Senhas e credenciais
  • Firewall
  • Conexão FTP
  • Direitos e privilégios do usuário
  • Registros do servidor

15 Dicas de VPS Seguro para Proteger a Segurança do Seu Servidor

Esta seção contém 15 dicas de segurança para proteger sua hospedagem VPS Linux.

1. Pesquise a Segurança da Sua Hospedagem na Web

O provedor de hospedagem de sua escolha precisa ter uma infraestrutura de segurança forte e oferecer proteção adicional para manter seu servidor seguro. Na Hostinger, fornecemos módulos de segurança avançados para proteger nosso VPS, como mod_security, firewall, proteção Suhosin PHP e proteção PHP open_basedir.

Além disso, a Hostinger utiliza a proteção de servidor full-stack do BitNinja e a mitigação de DDoS avançada integrada para aprimorar a segurança do VPS em geral. Quando se trata de servidores de hospedagem compartilhada, oferecemos o software anti-malware Monarx.

Além disso, a Hostinger oferece backups regulares automatizados e instantâneos ao vivo que você pode usar para restaurar seu site imediatamente caso ele fique inativo.

2. Altere a Porta SSH Padrão

Se você ainda usa a porta 22 para acessar seu servidor virtual por meio de uma conexão SSH, há uma grande chance de ocorrerem tentativas de hackers. Isso ocorre porque os invasores podem escanear portas abertas para realizar ataques de força bruta e obter acesso remoto ao servidor.

Recomendamos usar uma porta diferente para SSH para proteger seus dados contra ataques cibernéticos.

Aqui está como alterar a porta SSH:

  1. Abra o Terminal e faça login no SSH.
  2. Edite o arquivo de configuração do serviço executando o seguinte comando:
nano /etᥴ/ssh/sshd_config 
  1. Localize a linha que lê Port 22.
  2. Substitua 22 por um novo número de porta e remova o #.
Modificando SSH port para 1026
  1. Salve as alterações e saia.
  2. Reinicie o serviço inserindo o seguinte comando e pressionando Enter:
  • Para Debian e Ubuntu
service ssh restart 
  • Para CentOS e Red Hat Enterprise Linux (RHEL)
systemctl restart sshd.service
  1. Por fim, tente fazer login no SSH usando a nova porta.

3. Desative os Logins Root

Todo Linux VPS tem um usuário root que tem mais privilégios em comparação com os outros usuários do sistema. Os criminosos cibernéticos podem direcioná-los para obter acesso total ao servidor.

Portanto, é fundamental desabilitar os logins do usuário root para proteger seu servidor contra ataques de força bruta. Também recomendamos a criação de um nome de usuário alternativo com o privilégio de executar comandos de nível root.

Siga as etapas abaixo para desabilitar logins root:

  1. Abra o Terminal e faça login na sua conta SSH.
  2. Para abrir e editar o arquivo de configuração, execute o seguinte comando usando nano ou vi:
nano /etᥴ/ssh/sshd_config
  1. Encontre o seguinte parâmetro e altere-o para no:
PermitRootLogin=no
Arquivo sshd_config com parâmetro PermitRootLogin alterado para "no"
  1. Salve as alterações e reinicie o serviço SSH executando o seguinte comando:
  • Para Debian e Ubuntu
service ssh restart
  • Para CentOS e Red Hat Enterprise Linux (RHEL)
systemctl restart sshd.service
  1. Isso desabilitará o login root.

4. Use Senhas Fortes

As senhas que contêm informações relacionadas à sua identidade ou senhas simples são fáceis de adivinhar. Portanto, crie uma senha longa e forte com vários elementos, como letras maiúsculas e minúsculas, números e caracteres especiais. Isso protegerá seu sistema contra ataques de força bruta.

Além disso, não reutilize a mesma senha.

Você também pode empregar ferramentas online como NordPass ou Last Pass para criar senhas fortes. Ambas oferecem opções de personalização, como limitar o comprimento da senha e o uso de caracteres.

5. Comece a Usar as Chaves SSH

Se você ainda estiver usando uma senha para fazer login na sua conta SSH, poderá se tornar alvo de ataques de sniffing. Para evitar isso, use chaves SSH em vez disso. Essencialmente, as chaves SSH são um método de autenticação mais seguro do que as senhas.

À medida que os computadores geram essas chaves, elas podem ter até 4.096 bits de comprimento, tornando-as mais longas e complexas do que uma senha.

As chaves SSH vêm em dois conjuntos – público e privado. O primeiro é salvo no servidor enquanto o último é armazenado na máquina do usuário. Quando uma tentativa de login é detectada, o servidor gera uma string aleatória e a criptografa com uma chave pública. A mensagem criptografada só pode ser descriptografada usando a chave privada associada.

Veja como gerar uma chave SSH em um servidor Linux:

  1. Abra o aplicativo Terminal e faça login no SSH.
  2. Para gerar chaves públicas e privadas, digite o seguinte comando e pressione Enter:
ssh-keygen -t rsa
  1. Quando uma resposta aparecer, pressione Enter:
Enter file in which to save the key (/root/.ssh/id_rsa):
Saída do terminal ao gerar um par de chaves SSH privadas e públicas
  1. Você será solicitado a preencher uma senha duas vezes. Se você não tiver, você pode pressionar Enter duas vezes.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Saída do terminal ao inserir paráfrase para chaves SSH
  1. Suas chaves privada e pública agora foram salvas com sucesso.

6. Configure um Firewall Interno (IP Tables)

Como o tráfego HTTP pode vir de qualquer lugar, é essencial filtrá-lo para garantir que apenas visitantes com excelente reputação possam acessar seu sistema. Isso ajudará você a evitar tráfego indesejado e ataques DDoS.

As distribuições Linux vêm com um serviço de firewall interno chamado iptables. Esta ferramenta monitora o tráfego de e para seu servidor usando tabelas. Ele emprega regras chamadas cadeias para filtrar pacotes de dados de entrada e saída.

Com ele, você pode ajustar as restrições do firewall de acordo com suas necessidades. Veja como instalar e verificar a configuração atual do iptables no Ubuntu:

  1. Abra o Terminal e faça login no SSH.
  2. Instale o iptables executando o seguinte comando:
sudo apt-get install iptables
Saída do terminal durante a instalação do iptables
  1. Após a conclusão da instalação, digite o seguinte comando e pressione Enter:
sudo iptables -L -v
  1. A saída incluirá uma lista de todas as regras em um formato detalhado.
Saída do terminal das regras atuais do iptables

7. Configure Seu Firewall UFW

Recomendamos habilitar um Uncomplicated Firewall (UFW) como uma camada adicional para controlar o tráfego de entrada e saída do seu sistema. É um firewall netfilter projetado para ser fácil de usar.

O UFW atua como front-end para o iptables e geralmente vem pré-instalado nas distribuições Linux. Em geral, ele negará todas as conexões de entrada e permitirá as de saída, diminuindo o risco de possíveis ameaças. Além disso, você pode modificar e adicionar regras ao firewall de acordo com suas preferências.

Veja como habilitá-lo no Ubuntu:

  1. Abra o Terminal e conecte-se via SSH.
  2. Digite o seguinte comando para habilitar o UFW e pressione Enter:
sudo ufw enable
  1. Se a resposta informar que o comando não foi encontrado, instale o firewall usando este comando:
sudo apt-get install ufw
Saída do terminal ao instalar o firewall UFW
  1. Quando a instalação estiver concluída, execute o comando na etapa dois para habilitar o UFW.
Saída do terminal ao ativar o firewall UFW
  1. Verifique o status do firewall usando o seguinte comando:
sudo ufw status
Saída do terminal mostrando que o status do UFW está ativo

8. Use SFTP em Vez de FTP

Embora as conexões FTP não tenham criptografia habilitada, o FTP sobre TLS (FTPS) criptografa apenas credenciais e não transferências de arquivos.

Como resultado, o uso de ambas as conexões pode colocar seus dados em risco. Os hackers podem facilmente realizar um ataque de sniffing para roubar suas credenciais de login e interceptar transferências de arquivos.

Para evitar, use FTP sobre SSH ou SFTP em vez disso. É uma conexão FTP segura, pois criptografa totalmente todos os dados, incluindo as credenciais e os arquivos que estão sendo transferidos. Além disso, o SFTP protege os usuários contra ataques man-in-the-middle, pois o cliente precisa ser autenticado pelo servidor antes de obter acesso ao sistema.

Siga estas etapas para configurar uma conexão SFTP:

  1. Abra o Terminal e faça login no SSH.
  2. Inicie uma conexão SFTP inserindo este comando e pressionando Enter:
sftp user@server _ipaddress

ou

sftp user@remotehost _domainname
  1. Se você estiver usando uma porta personalizada, execute o seguinte comando:
sftp -oPort=customport user@server _ipaddress

ou

sftp -oPort=customport user@remotehost _domainname
  1. Assim que estiver conectado, um prompt SFTP aparecerá.
Saída do terminal ao conectar usando SFTP

9. Configure Fail2Ban

Fail2Ban é um software que monitora os logs do sistema e bloqueia hackers após vários logins com falha. Além disso, protege os servidores contra ataques DoS, DDoS, de dicionário e de força bruta. Fail2Ban usa iptables e firewall para banir endereços IP.

Siga as etapas abaixo para configurar o pacote de software Fail2Ban no Ubuntu:

  1. Abra o Terminal e inicie uma conexão SSH.
  2. Instale o pacote de software Fail2Ban inserindo o seguinte comando e pressionando Enter:
sudo apt-get install fail2ban
  1. A seguinte saída aparecerá. Digite Y e pressione Enter.
Do you want to continue? [Y/n] y
Saída do terminal durante a instalação do Fail2Ban
  1. Quando a instalação estiver concluída, verifique o status executando o seguinte comando:
sudo systemctl status fail2ban
  1. O software Fail2Ban deve estar ativo e em execução.
Saída do terminal mostrando que o status Fail2Ban está ativo

10. Instale um Antivírus

Além de configurar um firewall para filtrar o tráfego de entrada, considere monitorar os arquivos armazenados em seu VPS. Como o Linux não é imune a ataques de vírus, as ameaças cibernéticas podem atingir seus servidores e danificar seus dados.

Portanto, é fundamental instalar um software antivírus como uma prática de proteção de segurança. Existem muitas opções disponíveis, mas a mais notável é ClamAV. É de código aberto e usado para detectar atividades suspeitas e colocar em quarentena arquivos indesejados.

Siga estas instruções para instalar o ClamAV no CentOS:

  1. Abra o Terminal e faça login no SSH.
  2. Instale Extra Packages for Enterprise Linux (EPEL) executando este comando:
sudo yum -y install epel-release
  1. Complete! A saída sinalizará que a instalação do EPEL está concluída.
Saída do terminal durante a instalação do EPEL
  1. Limpe todas as informações em cache digitando o seguinte comando e pressionando Enter:
sudo yum clean all
Saída do terminal ao limpar informações em cache
  1. Instale o ClamAV executando o seguinte comando:
sudo yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
  1. Aguarde mais uma linha de Complete! para saber quando a instalação foi concluída.
Saída do terminal mostrando que a instalação do ClamAV foi concluída
  1. O ClamAV agora deve estar funcionando.

11. Configure um VPN para Seu VPS

Se você usar uma conexão pública, há uma grande chance de alguém interceptar seu tráfego e roubar seus dados.

Para evitar isso, recomendamos configurar um VPN para combater as ameaças à segurança. Ele encaminhará seu tráfego através de um túnel criptografado e mascarará sua localização real, pois sua máquina usará o endereço IP do VPN. Isso também permitirá que você mantenha o anonimato enquanto navega na Internet, pois seu IP não será rastreável.

Em suma, um VPN mantém seus dados seguros e impede que hackers interceptem seu tráfego. Funciona de mãos dadas com um firewall para fornecer segurança de servidor VPS adicional.

Dica Profissional

Um VPN também é benéfico para usuários que moram em uma área com restrições baseadas em localização, pois permite que eles alterem seus IPs para contornar a censura da Internet.

Siga estas etapas para instalar o OpenVPN no CentOS:

  1. Abra o Terminal e conecte-se com o SSH.
  2. Instale o pacote net-tools antes de instalar o OpenVPN. Execute este comando:
sudo yum install net-tools
  1. Digite o seguinte comando curl para baixar o pacote OpenVPN e pressione Enter:
curl -O http://swupdate.openvpn.org/as/openvpn-as-2.7.3-CentOS7.x86_64.rpm
Saída do terminal durante o download do pacote OpenVPN
  1. Insira a soma de verificação SHA256 para validar a instalação executando o seguinte comando:
sha256sum openvpn-as-*
  1. A saída mostrará a soma de verificação conforme mostrado abaixo:
Saída de checksum no terminal
  1. Compare a soma de verificação do binário baixado com a fornecida no site. Se elas corresponderem, você pode começar a instalar o OpenVPN com este comando:
sudo rpm --install openvpn-as-*.rpm
  1. Quando a instalação estiver concluída, você obterá os detalhes da interface do usuário do administrador e da interface do cliente, conforme mostrado abaixo:
Saída do terminal indicando que a instalação do OpenVPN foi concluída
  1. Em seguida, configure uma senha com o seguinte comando:
passwd openvpn
  1. Você será solicitado a re-digitar a nova senha.
Saída do terminal mostrando a configuração de senha para OpenVPN
  1. Visite o Admin ou Client UI para acessar a tela abaixo:
Página de login do administrador do OpenVPN
  1. Digite o nome de usuário openvpn e a senha que você acabou de configurar e pressione Sign In.

Dica

Os novos planos Hostinger KVM VPS são compatíveis com qualquer servidor de VPN disponível no mercado.

12. Revise os Direitos dos Usuários

Se muitos usuários usam sua hospedagem VPS, a distribuição de controle e direitos precisa ser considerada com cuidado. Fornecer privilégios de nível root a todos os usuários pode colocar em risco o uso de recursos e dados confidenciais.

Portanto, você precisa definir um limite de acesso para evitar problemas em seu servidor. Isso pode ser feito gerenciando usuários e concedendo a eles diferentes níveis de permissões para conjuntos específicos de arquivos e recursos.

O Linux tem um recurso de privilégios do sistema que o ajudará a definir os direitos do usuário. Para isso, crie um grupo para usuários com os mesmos privilégios.

Veja como gerenciar usuários e seus privilégios no Ubuntu:

  1. Abra o Terminal e conecte-se via SSH.
  2. Insira o seguinte comando para criar um grupo e pressione Enter:
sudo addgroup my_group
Saída do terminal ao criar um grupo de usuários
  1. Em seguida, crie um novo usuário executando o seguinte comando:
adduser first_user
Saída do terminal ao criar um usuário
  1. A saída solicitará que você defina uma senha e preencha a biografia, como nome completo, número da sala e telefone. Digite y e pressione Enter para confirmar as informações inseridas.
Saída do terminal ao configurar o usuário recém-adicionado
  1. Para adicionar um usuário a um grupo, execute o comando abaixo. Observe que ele não produz nenhuma saída.
sudo usermod -a -G group1,group2 first_user
Saída do terminal ao adicionar o usuário ao grupo
  1. Se você deseja conceder acesso root a um usuário, execute o seguinte comando. Tenha em mente que isso também não produz nenhuma saída.
sudo usermod -aG sudo first_user
Saída do terminal ao conceder acesso ao grupo
  1. Por outro lado, se você possui um diretório e deseja adicionar privilégios de leitura e gravação a ele, aqui está a sintaxe básica:
sudo chmod -R g+w /directory

13. Desative o IPv6

Ter o IPv6 ativado expõe vulnerabilidades de segurança e torna sua hospedagem VPS propensa a vários ataques cibernéticos. Se você não estiver usando ativamente, recomendamos desativá-lo completamente.

Como os hackers costumam enviar tráfego malicioso por meio do IPv6, deixar o protocolo aberto pode expor seu servidor a muitas possíveis violações de segurança. Mesmo que você não esteja usando IPv6 ativamente, alguns de seus programas podem abrir soquetes de escuta nele. Portanto, toda vez que um pacote chega, eles o processam, incluindo pacotes maliciosos.

Siga estas instruções para desabilitar o IPv6 no Ubuntu:

  1. Abra o Terminal e faça login no SSH.
  2. Digite o seguinte comando para desabilitar o IPv6 e pressione Enter:
sudo nano /etᥴ/sysctl.d/99-sysctl.conf
  1. O arquivo de configuração será aberto. Adicione as seguintes linhas na parte inferior:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Saída do terminal com linhas adicionadas ao arquivo 99-sysctl.conf para desabilitar o IPv6
  1. Salve e feche o arquivo.
  2. Em seguida, execute o seguinte comando para executar as alterações:
sudo sysctl -p
Saída do terminal durante a execução de alterações
  1. Por fim, insira o seguinte comando e pressione Enter. Se você vir 1, isso significa que o IPv6 foi desabilitado com sucesso.
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Saída do terminal ao verificar o status do IPv6

14. Monitore os Logs do Seu Servidor

Monitorar os logs do seu servidor ajuda você a manter o controle do que está acontecendo com sua hospedagem VPS. Esses logs também podem ser usados ​​em análises e relatórios para obter informações detalhadas sobre o estado atual do servidor.

Os logs do servidor informarão se o servidor está sofrendo ataques cibernéticos ou outras ameaças de segurança. Quanto mais cedo essas vulnerabilidades forem corrigidas, menos oportunidades os invasores terão de interceptar dados.

Um dos diretórios críticos em seu sistema Linux é chamado /var/log. Ele armazena uma coleção de arquivos de log que contêm informações cruciais relacionadas ao sistema, kernel, gerenciadores de pacotes e vários aplicativos em execução no servidor.

Veja como abrir /var/log e verificar os logs do sistema em um servidor Ubuntu:

  1. Abra o Terminal e faça login no SSH.
  2. Execute o comando abaixo para alterar o diretório de trabalho para /var/log. Tenha em mente que isso não produzirá nenhuma saída.
cd /var/log
  1. Para listar todos os arquivos, insira o seguinte comando e pressione Enter:
ls
Listando todos os arquivos dentro do diretório /var/log no terminal
  1. Para verificar os logs do sistema, digite o comando abaixo e pressione Enter:
sudo cat syslog
Verificando o syslog dentro do diretório /var/log

15. Mantenha Seus Aplicativos Atualizados

Quanto mais antigo o software que seu VPS usa, mais vulnerável ele será. Os desenvolvedores geralmente lançam atualizações e patches de segurança regularmente. Certifique-se de procurar as versões mais recentes do seu software e instalá-las assim que estiverem disponíveis.

Veja como fazer isso no Debian ou Ubuntu:

  • Se você estiver atualizando toda a lista de pacotes, execute o seguinte comando:
sudo apt-get update
  • Se você estiver atualizando o pacote real, insira este comando e pressione Enter:
sudo apt-get upgrade

Siga estas etapas para fazer isso no CentOS/RHEL:

  • Para atualizar o banco de dados do pacote e instalar atualizações, digite este comando e pressione Enter.
sudo yum update
  • Para verificar se há atualizações, insira o seguinte comando e pressione Enter.
sudo yum check-update

Recomendamos automatizar esse processo habilitando as atualizações automáticas se você estiver usando um sistema de gerenciamento de conteúdo (CMS) em seu servidor. Além disso, você também pode criar cron jobs, um utilitário baseado em Linux para agendar um comando ou script para execução em uma hora e data especificadas.

A maneira mais conveniente de instalar e executar um cron job no CentOS ou RHEL é usando o yum-cron. Ele atualizará automaticamente o software toda vez que uma nova versão for lançada. Veja como configurá-lo no CentOS ou RHEL:

  1. Abra o Terminal e conecte-se via SSH.
  2. Instale o yum-cron executando o seguinte comando:
sudo yum install yum-cro
Saída do terminal durante a instalação do yum-cron
  1. Habilite o serviço inserindo o comando abaixo e pressionando Enter. Observe que isso não produzirá nenhuma saída.
sudo systemctl enable yum-cron.service
  1. Inicie o serviço digitando o comando a seguir e clicando em Enter. Tenha em mente que este comando não produzirá uma resposta.
sudo systemctl start yum-cron.service
  1. Verifique o status do serviço executando este comando:
sudo systemctl status yum-cron.service
Saída do terminal indicando que yum-cron.service está ativo
  1. Abra o arquivo de configuração com o seguinte comando:
sudo vi /etᥴ/yum/yum-cron.conf
  1. Encontre a seguinte linha na saída e substitua no por yes. Salve as alterações e saia do arquivo.
apply_updates = yes
Arquivo yum-cron.conf com valor apply_updates alterado para "yes"

Conclusão

É importante proteger e manter seu VPS seguro o tempo todo, especialmente porque ele armazena seus dados e programas confidenciais.

Embora o Linux seja famoso por sua segurança robusta, ele ainda possui vulnerabilidades que você deve observar. Ataques cibernéticos comuns e problemas a serem observados incluem malware, sniffing e ataques de força bruta, injeções de SQL, scripts entre sites (XSS), controle de nível de função ausente e autenticação quebrada.

Portanto, os proprietários de servidores privados virtuais devem saber como protegê-los e monitorá-los. Para ajudar, compilamos as 15 melhores dicas de segurança:

  1. Certifique-se de que seu provedor de hospedagem tenha medidas de segurança robustas em seus servidores.
  2. Use uma porta SSH mais segura.
  3. Desative os logins root.
  4. Use senhas complexas.
  5. Habilite as chaves SSH como um método de autenticação.
  6. Use iptables em seu servidor.
  7. Instale um firewall UFW como uma camada de segurança adicional.
  8. Comece a usar SFTP em vez de FTP.
  9. Ative o recurso Fail2Ban.
  10. Instale um software antivírus.
  11. Configure VPN para VPS.
  12. Revise os privilégios do usuário.
  13. Desative o IPv6 em seu servidor.
  14. Monitore os logs do servidor.
  15. Verifique se há atualizações de segurança.

Esperamos que este artigo tenha ajudado você a proteger sua hospedagem VPS. Se você tiver alguma dúvida ou sugestão, por favor, deixe-a nos comentários abaixo.

Author
O autor