Proteger um VPS

Bases de conhecimento

Proteger um VPS


Icons/System/eye-open Created with Sketch. 7037 visualizações 21.01.2026 Cloud / Servidores privados virtuais
Informações sobre a tradução

Esta tradução foi automaticamente gerada pelo nosso parceiro SYSTRAN. Em certos casos, poderão ocorrer formulações imprecisas, como por exemplo nomes de botões ou detalhes técnicos. Recomendamos que consulte a versão inglesa ou francesa do manual, caso tenha alguma dúvida. Se nos quiser ajudar a melhorar esta tradução, clique em "Contribuir" nesta página.

Objetivo

Quando encomendar o seu VPS, pode escolher uma distribuição ou um sistema operativo a pré-instalar. O servidor está pronto para ser utilizado após a entrega. No entanto, cabe-lhe a si, enquanto administrador, implementar medidas que garantam a segurança e a estabilidade do seu sistema.

Este manual fornece-lhe alguns conselhos gerais para proteger um servidor baseado em GNU/Linux.

A OVHcloud fornece-lhe serviços pelos quais é responsável em termos de configuração e gestão. Assim, é responsável pelo seu bom funcionamento.

Se encontrar dificuldades para realizar estas ações, contacte um fornecedor de serviços especializado e/ou discuta o problema com a nossa comunidade de utilizadores em https://community.ovh.com/en/. A OVHcloud não lhe pode fornecer apoio técnico a este respeito.

Requisitos

  • Um VPS na sua conta OVHcloud
  • Ter acesso de administrador (sudo) ao seu servidor através de SSH

Instruções

Tenha em conta que se trata de um guia geral baseado nos sistemas operativos Ubuntu, Debian e CentOS. Algumas encomendas precisam de ser adaptadas à distribuição que utiliza e certos truques convidam-no a utilizar ferramentas de terceiros. Consulte a documentação oficial destas aplicações caso necessite de ajuda.

Se configurar o primeiro VPS da OVHcloud, recomendamos que consulte primeiro o nosso manual sobre a implementação de um VPS.

Os exemplos abaixo pressupõem que está ligado enquanto utilizador com autorizações elevadas.

Índice:

Atualizar o sistema operativo

Os programadores de distribuições e de sistemas operativos propõem atualizações frequentes de pacotes, muitas vezes por razões de segurança.
Assegurar a atualização da sua distribuição ou sistema operativo é um ponto essencial para proteger o seu VPS.

Esta atualização será realizada em duas etapas:

  • Atualização da lista dos pacotes:
sudo apt update
  • Atualização dos pacotes reais:
sudo apt upgrade
sudo apt update && sudo apt upgrade

O comando é idêntico ao Ubuntu porque Debian e Ubuntu utilizam o apt.

sudo yum update

No CentOS, o comando de atualização do sistema operativo utiliza yum or dnf, conforme a versão.

Esta operação deve ser efetuada regularmente para manter um sistema atualizado.

Criar e utilizar uma chave SSH

A autenticação com chave SSH é uma das formas mais eficazes de proteger o acesso ao seu VPS.
Ao contrário da autenticação com palavra-passe, esta baseia-se num par de chaves criptográficas e permite reduzir significativamente os riscos de ataques por força bruta.

Recomendamos vivamente que configure uma chave SSH logo na primeira ligação ao seu servidor e que depois prefira esta metodologia para os seus acessos de administrador.

Consoante o seu ambiente e a ferramenta utilizada para se ligar ao seu VPS, consulte um dos seguintes guias:

Estes guias detalham as etapas para:

  • gerar um par de chaves SSH;
  • implementar a chave pública no seu servidor;
  • ligar-se de forma segura através de SSH.

Depois de configurada e funcional a autenticação com chave SSH, pode ir mais longe reforçando a configuração do serviço SSH, por exemplo alterando a porta de escuta ou desativando a autenticação com palavra-passe.

Modificar a porta de escuta SSH

Antes de qualquer modificação do serviço SSH, certifique-se de ter um acesso funcional através de uma chave SSH para evitar a perda de acesso ao seu servidor.

Para esta secção, as seguintes linhas de comando são as mesmas para Ubuntu, Debian e CentOS.

Uma das primeiras ações a realizar no seu servidor é a configuração da porta de escuta do serviço SSH. Por predefinição, este é definido na porta 22, pelo que as tentativas de hack do servidor por robots vão direcionar esta porta prioritariamente. A alteração deste parâmetro, em benefício de uma porta diferente, é uma medida simples para reforçar a proteção do seu servidor contra ataques automatizados.

Para isso, altere o ficheiro de configuração do serviço com o editor de texto à sua escolha (nano é utilizado neste exemplo):

sudo nano /etc/ssh/sshd_config

Deve encontrar as seguintes linhas ou equivalentes:

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0

Substitua o número 22 pelo número de porta à sua escolha.
No entanto, certifique-se de que não indica um número de porta já utilizado no seu sistema. Para uma maior segurança, utilize um número entre 49152 e 65535.

Você também pode visualizar as portas atribuídas ao seu sistema usando o seguinte comando:

sudo cat /etc/services

Se a linha estiver "comentada" (ou seja, precedida por um "#") como no exemplo acima, certifique-se de que remove o "#" antes de guardar o ficheiro para que a alteração seja tida em conta. Exemplo:

Port 49152
#AddressFamily any
#ListenAddress 0.0.0.0

Se estiver configurado um firewall no seu sistema operativo (UFW ou iptables), terá de ajustar as suas definições para autorizar o tráfego na nova porta antes de reiniciar o serviço. Se estiver a utilizar o iptables, consulte este guia: Configurar a firewall em Linux com iptables. Se não estiver configurado nenhum firewall por predefinição, reinicie o serviço.

Guarde e saia do ficheiro de configuração.

Reinicie o serviço:

sudo systemctl restart sshd

Isto deveria ser suficiente para aplicar as alterações. Caso contrário, reinicie o VPS (sudo reboot).

Para Ubuntu 24.04 e versões posteriores

Para as últimas versões de Ubuntu, a configuração SSH é agora gerida no ficheiro ssh.socket.

Para atualizar a porta SSH, edite a linha Listenstream no ficheiro de configuração com um editor de texto à sua escolha (nano utilizado neste exemplo):

sudo nano /lib/systemd/system/ssh.socket

O seu ficheiro deve ser semelhante aos exemplos a seguir, dependendo da versão do Ubuntu que você instalou:

[Socket]
ListenStream=49152
Accept=no

ou

[Socket]
ListenStream=0.0.0.0:49152
ListenStream=[::]:22
BindIPv6Only=ipv6-only
Accept=no
FreeBind=yes

Guarde as alterações e execute os seguintes comandos:

sudo systemctl daemon-reload

Reinicie o serviço:

sudo systemctl restart ssh.socket

Lembre-se de que deve indicar a nova porta a cada pedido de ligação SSH ao seu servidor:

ssh username@IPv4_VPS -p NewPortNumber

Exemplo:

ssh ubuntu@203.0.113.100 -p 49152

Se você estiver bloqueado fora do seu sistema, pode usar o nosso ambiente modo rescue para anular as suas alterações.

Criar um utilizador com direitos restritos

Em geral, as tarefas que não exijam privilégios root devem ser realizadas através de um utilizador standard. Para mais informações consulte este guia.

Configurar firewall interna (iptables)

As distribuições GNU/Linux comuns são fornecidas com um serviço de firewall designado iptables. A configuração inicial não tem nenhuma regra predefinida (ativa). Para confirmar o tipo de configuração, deverá executar o comando:

iptables -L

Para mais informações sobre iptables, consulte o nosso guia dedicado.

Recomendamos que crie e adapte regras de firewall à sua utilização. Para mais informações sobre as várias operações, consulte a documentação oficial da distribuição utilizada.

Instalar o Fail2ban

Fail2ban é um framework de prevenção contra as intrusões cujo objetivo é bloquear os endereços IP a partir dos quais bots ou atacantes tentam penetrar no seu sistema.
Este pacote é recomendado, ou mesmo indispensável em certos casos, para proteger o seu servidor contra ataques do tipo Brute Force ou Denial of Service.

Para instalar o pacote de software, utilize o seguinte comando:

sudo apt install fail2ban

Em CentOS 7 e CentOS 8 (ou RHEL), instale primeiro o repositório EPEL (Extra Packages for Enterprise Linux), e depois em Fail2ban:

sudo yum install epel-release
sudo yum install fail2ban

Pode personalizar os ficheiros de configuração Fail2ban para proteger os serviços expostos à Internet pública contra as tentativas de ligações repetidas.

Como recomendado pelo Fail2ban, crie um ficheiro de configuração local dos seus serviços copiando o ficheiro "jail.conf":

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

A seguir, abra o ficheiro com um editor de texto:

sudo nano /etc/fail2ban/jail.local

Leia as informações no topo do ficheiro, nomeadamente as observações em [DEFAULT].

Os parâmetros [DEFAULT] são globais e aplicar-se-ão a todos os serviços definidos para serem ativados (enabled) neste ficheiro.

É importante saber que os parâmetros globais só serão tidos em conta se não existirem valores diferentes definidos nas secções de serviços (JAILS) mais abaixo do ficheiro.

Tomemos como exemplo estas linhas em [DEFAULT]:

bantime = 10m
maxretry = 5
enabled = false

Isto significa que um endereço de IP a partir do qual um host tenta conectar-se será bloqueado durante dez minutos após a quinta tentativa de abertura de sessão falhada.
Além disso, todos os parâmetros especificados pela [DEFAULT] e nas secções seguintes permanecem desativados, exceto se a linha enabled = true for adicionada para um serviço (listada abaixo # JAILS).

A título de exemplo de utilização, o facto de ter as seguintes linhas na secção [sshd] só ativará restrições para o serviço OpenSSH:

[sshd]
enabled = true
port = ssh
filter = sshd
maxretry = 3
findtime = 5m
bantime  = 30m

Neste exemplo, se uma tentativa de ligação SSH falhar três vezes em cinco minutos, o período de interdição dos IP será de 30 minutos.

Pode substituir "ssh" pelo número de porta real se o alterou.

A melhor abordagem consiste em ativar o Fail2ban apenas para os serviços que são realmente executados no servidor. Cada parâmetro personalizado adicionado sob # JAILS será então prioritário relativamente aos valores predefinidos.

Depois de finalizar as suas modificações, registe o ficheiro e feche o editor.

Reinicie o serviço para se certificar de que ele é executado com as personalizações aplicadas:

1. Comando recomendado com systemctl:

sudo systemctl restart fail2ban

2. Comando com service (método antigo, ainda compatível):

sudo service fail2ban restart

Fail2ban dispõe de numerosos parâmetros e filtros de personalização, bem como de opções pré-definidas, por exemplo quando deseja adicionar uma camada de proteção a um servidor web Nginx.

Para mais informações e recomendações sobre o Fail2ban, não hesite em consultar a documentação oficial desta ferramenta.

Configuração da Network Firewall OVHcloud

As soluções da OVHcloud incluem a possibilidade de ativar uma firewall no ponto de entrada da infraestrutura, designada Network Firewall. Uma configuração correta desta firewall permite bloquear as ligações antes mesmo que estas cheguem ao seu servidor.

Consulte o guia "Configurar a Network Firewall" se desejar ativá-la.

Proteger o sistema e os dados

O conceito de segurança não se limita à proteção de um sistema contra ataques.

A segurança dos seus dados é um elemento chave. É por isso que a OVHcloud oferece-lhe várias opções de backup enquanto serviços:

  • A opção Snapshot que lhe permite criar uma imagem manual.
  • A opção de Backup automático permite-lhe conservar os backups regulares do seu VPS (à exceção dos discos suplementares).

Na página do produto e nos respetivos guias, poderá encontrar todas as informações sobre as soluções de backup disponíveis para o seu serviço.

Quer saber mais?

VPS: primeira utilização

Criar e utilizar chaves SSH

Configurar a firewall em Windows

Configurar a firewall em Linux com iptables

Configurar a Network Firewall

Junte-se à nossa comunidade de utilizadores em https://community.ovh.com/en/.

Artigos relacionados