Configurar corretamente o próprio servidor, seja próprio ou alugado, é essencial. Aprenda como proteger o seu servidor, de qualquer sistema operacional, estabelecendo senhas adequadas e criptografia SSH, e atualizando-o regularmente.

Quem é responsável pela segurança de servidores?

Para liberdade máxima, alugue um hardware de servidor. Servidores dedicados, que podem ser alugados de vários provedores, oferecem acesso root à conta, por exemplo. Seja como for, etapas fundamentais de gerenciamento, como instalação, estruturação e manutenção do servidor, são de responsabilidade do locatário. Durante esses processos, todo cuidado é pouco: ações incorretas realizadas com privilégios de root podem gerar consequências graves. Ao seguir nossas dicas, contudo, você estabelecerá a base perfeita para um servidor estável, potente e seguro.

Dedicated Server da IONOS

O encontro do hardware com a nuvem: servidor dedicado com nuvem integrada e cobrança por minuto, incluindo assistente pessoal!

  • Suporte 24 horas
  • Tráfego ilimitado
  • Certificado SSL

Instruções passo a passo: Como proteger um servidor

Independentemente de você querer proteger um servidor Windows, Ubuntu ou Debian, existem medidas gerais que podem ajudar a criar uma base sólida de segurança. Aqui estão os passos mais importantes resumidos.

Passo 1: Fazer instalação mínima

Antes mesmo de começar a implementar medidas de segurança de servidores para proteger o seu próprio servidor, suas atitudes já influenciarão os resultados. Independentemente de optar por um sistema operacional Windows ou Linux: durante a instalação, aplique o seguinte princípio: seu servidor deve conter apenas o software necessário para cumprir suas funções.

Isso ocorre pois cada aplicação instalada é um potencial risco de segurança e pode impactar negativamente o desempenho do servidor. Para reduzir ao máximo a superfície de ataque, instale ou ative apenas os componentes necessários e utilize somente softwares verificados de terceiros.

Passo 2: Definir senha segura

Ao finalizar o processo de instalação, o primeiro passo deve ser configurar uma senha segura para a conta de administrador (Windows) ou root (Linux). Por padrão, nenhuma senha é definida, sendo a conta de administrador bloqueada até que você faça essa configuração. Normalmente, o sistema operacional solicita automaticamente a criação de uma conta com senha, que funcionará como o acesso do admin ou root.

Se você alugou seu servidor Linux de um provedor e recebeu um login root predefinido, altere a senha assim que possível. Para isso, conecte-se ao servidor por SSH e insira o seguinte comando no terminal:

passwd
bash

Em seguida, você pode definir uma senha segura, que precisará ser verificada posteriormente. Certifique-se de escolher uma senha longa, utilizando não apenas letras, mas também caracteres especiais e números. É altamente recomendável salvar suas senhas em um gerenciador de senhas, garantindo que ela esteja sempre acessível quando necessário.

Dica

Se uma senha root que você desconhece já estiver configurada no seu sistema Linux, é possível alterá-la no modo de recuperação. Para acessar o modo de recuperação, mantenha pressionada a tecla Shift durante o processo de inicialização. No menu exibido, selecione a opção “root” para abrir o terminal root. Lá você terá privilégios administrativos para alterar a senha.

Passo 3: Alterar porta SSH

Para acessar o servidor por SSH, por padrão a porta TCP-/UDP 22 é usada - ela é automaticamente configurada durante a instalação do sistema. Invasores em busca de sistemas vulneráveis geralmente concentram seus ataques (principalmente tentativas automáticas de login) nesta porta. Assim, alterar a porta padrão para conexões remotas criptografadas reduz significativamente o risco de acessos não autorizados.

Altere a porta padrão editando o arquivo de configuração SSH sshd_config com qualquer editor de texto. No Linux, você pode abrir o arquivo com o editor padrão nano, por meio do comando:

nano /etc/ssh/sshd_config
bash

Procure pela linha “port” no arquivo e substitua o número da porta 22 por um número de sua escolha. Contudo, lembre-se de que existem diversas outras portas padrão para serviços específicos, como a porta 80 para HTTP.

Nota

Antes que as alterações feitas no arquivo sshd_config entrem em vigor, é necessário reiniciar o serviço SSH. No Debian, isso pode ser feito com o comando /etc/init.d/ssh restart. Já no Ubuntu, use o comando service ssh restart.

Passo 4: Desativar login SSH para admin

Para aumentar a segurança do servidor, é recomendável desativar o login SSH para a conta root ou administrador. Caso contrário, um invasor em posse da senha poderá acessar o servidor remotamente por essa conta.

Antes de aplicar essa medida, é necessário ter pelo menos mais uma conta de usuário configurada para se conectar ao servidor. Assim, você evita ser completamente bloqueado do sistema. Em sistemas Linux, crie essa conta com o seguinte comando:

useradd -g users -d /home/usuario1 -m -s /bin/bash usuario1
bash

Esse comando criará uma conta de usuário chamada “usuario1”. Em seguida, defina uma senha segura para essa conta com o comando:

passwd usuario1
bash

Teste o login com a nova conta. Se ele funcionar corretamente, prossiga com a desativação do login da conta root. Para isso, abra novamente o arquivo de configuração SSH sshd_config no editor de sua preferência. Localize a linha PermitRootLogin yes e altere para PermitRootLogin no. Após reiniciar o serviço SSH, o acesso remoto da conta root estará desativado.

Na mesma configuração, é possível usar a linha AllowGroups para especificar quais usuários podem se conectar ao servidor por SSH. Para isso, crie um grupo (addgroup) e adicione os usuários desejados (adduser). Em seguida, adicione o nome do grupo escolhido no arquivo sshd_config (por exemplo, AllowGroups ssh_usuarios).

Nota

Uma alternativa prática à desativação do login SSH é proibir completamente o login com senha e adotar o método de autenticação por chave pública, utilizando chaves SSH.

Passo 5: Configurar notificações por e-mail para logins SSH

Independentemente das medidas que você adotar para proteger o acesso por SSH, é fundamental monitorar todas as atividades remotas no servidor. Isso permite verificar se o serviço SSH foi configurado corretamente e identificar possíveis acessos não autorizados. Para esse monitoramento, você pode criar um script simples que envia notificações por e-mail sempre que um login remoto bem-sucedido for realizado no servidor.

A seguir, apresentamos um exemplo de script /opt/shell-login.sh que pode ser facilmente criado em sistemas Linux:

#!/bin/bash
echo "Login no servidor $(hostname) em $(date +%Y-%m-%d) às $(date +%H:%M)"
echo "Usuário: $USER"
echo
finger
bash

Depois de criar o script, adicione a seguinte linha ao arquivo /etc/profile:

/opt/shell-login.sh | mailx -s "Login SSH no servidor" email@example.com
bash

Com essa entrada, o script será executado sempre que ocorrer um login via SSH, enviando uma notificação por e-mail para o endereço especificado. É importante garantir que o script possua a permissão 755 (leitura e execução para todos os usuários, com permissão de escrita apenas para o proprietário), o que pode ser feito com o comando:

chmod 755 /opt/shell-login.sh
bash
Nota

Se um usuário estabelecer uma conexão SSH utilizando programas como WinSCP, que não realizam um login completo, o script descrito acima não enviará notificações por e-mail.

Passo 6: Bloquear portas não utilizadas

Portas abertas, por si só, não representam um grande risco de segurança. Elas são essenciais para a comunicação entre serviços e aplicativos, sendo necessário que algumas permaneçam abertas por padrão, como as portas 80 e 443 para conexões HTTP e HTTPS, ou a porta SSH configurada. No entanto, portas abertas podem se tornar vulneráveis se os programas que as utilizam apresentarem falhas de segurança que possam ser exploradas por agentes mal-intencionados.

Dica

Saiba como checar as portas abertas para obter uma visão geral das portas disponíveis no seu servidor.

Se você seguiu uma instalação mínima do sistema e instalou apenas um número reduzido de aplicativos de terceiros, a quantidade de portas necessárias será limitada. Para proteger seu servidor contra possíveis ataques, é recomendável bloquear todas as portas abertas que não sejam indispensáveis, configurando regras de firewall.

Os principais sistemas operacionais incluem, por padrão, uma ferramenta de filtragem de pacotes, chamada iptables. Com ela, é possível definir regras para controlar o tráfego de dados, incluindo a especificação de quais portas devem ou não ser permitidas.

Passo 7: Atualizar softwares regularmente

Em geral, vulnerabilidades de segurança conhecidas em aplicativos são corrigidas rapidamente por meio de atualizações disponibilizadas pelos desenvolvedores. Manter-se informado sobre atualizações do sistema operacional e dos programas instalados, além de aplicar essas atualizações de maneira ágil, garante a melhor proteção possível para o seu servidor. Muitos sistemas de servidores oferecem ainda a opção de baixar e instalar automaticamente atualizações importantes de segurança em segundo plano.

Se você utiliza, por exemplo, um servidor Windows, pode configurar as atualizações automáticas no painel “Windows Update”. Esse recurso permite definir quando e com que frequência o sistema deve procurar por atualizações, se as atualizações encontradas devem ser instaladas automaticamente e quando o sistema será reiniciado. Para sistemas Linux, existem ferramentas específicas, como o apt-listchanges ou o script apticron, que notificam diariamente sobre novos pacotes de software disponíveis e realizam os respectivos downloads. Outros scripts, como o* unattended-upgrades*, assumem a tarefa de instalar as atualizações automaticamente.

Nota

Mesmo utilizando processos de atualização automática, é importante manter o controle sobre as atualizações realizadas. Assim, você consegue identificar e resolver eventuais problemas que possam surgir após a aplicação dos updates.

Passo 8: Proteger servidores Windows e Linux contra ataques de força bruta

Uma das formas de ataque mais simples e frequentemente utilizadas é o chamado ataque de força bruta. Nesse tipo de ataque, invasores utilizam ferramentas para tentar adivinhar senhas. Quanto mais cuidadoso você for na criação de senhas seguras, menor será a chance de sucesso dessa técnica.

No entanto, se você oferece um serviço com mecanismo de autenticação, é provável que nem todos os usuários adotem a mesma cautela necessária. Para solucionar isso, ferramentas de análise são muito úteis. Soluções como o Fail2ban (para sistemas Linux/POSIX) ou o RdpGuard (para Windows) analisam os logs do servidor, identificam comportamentos suspeitos e bloqueiam endereços IP potencialmente maliciosos. Você pode configurar o número de tentativas falhas permitidas antes do bloqueio e o tempo de duração da restrição.

Dica

Você também pode aumentar ainda mais a segurança de servidores configurando uma autenticação de dois fatores. Com esse método, além da senha, é necessário um segundo fator de autenticação, como um smartphone, um smartcard ou uma lista de TANs, para realizar o login.

Passo 9: Utilizar ferramentas de monitoramento

Ao proteger um servidor, é essencial garantir que a integração entre hardware e software funcione conforme esperado. Isso não é uma tarefa única, mas um processo contínuo que deve ser monitorado constantemente. Devido à grande quantidade de processos do sistema, é recomendável usar ferramentas de monitoramento desde o início. Essas ferramentas monitoram todas as atividades do servidor e alertam sobre qualquer comportamento anômalo.

Uma ferramenta simples e fácil de configurar é o Monit, que pode ser instalada facilmente em várias distribuições Linux via gerenciadores de pacotes. O Monit é uma aplicação open source (licença GNU-AGPL) que, após ser iniciada, pode monitorar processos, arquivos, hosts, programas ou scripts. Além disso, também é possível monitorar os recursos do sistema, como CPU, memória e carga total. Se você precisar de mais detalhes, pode considerar o uso do software de monitoramento Nagios, que é open source e disponível para Linux e Windows, podendo ser estendido por meio de diversos plugins Nagios.

Teste o VPS da IONOS grátis

Experimente seu vServer de graça agora - Teste um servidor virtual por 30 dias!

  • Recursos dedicados
  • Tráfego ilimitado
  • Consultor pessoal

Passo 10: Configurar backups

Com as configurações recomendadas, você aumentará significativamente a segurança do seu servidor. No entanto, nem a melhor configuração nem uma manutenção dedicada garantem proteção total. Assim, uma outra base importante para o seu sistema de segurança deve ser uma estratégia de backup abrangente, que permita a recuperação de arquivos em cenários de perda. Conheça as melhores estratégias de backup.

Em termos de ferramentas poderosas, que não apenas ajudam na criação, mas também na restauração de backups, não faltam opções. Um exemplo gratuito que vale a pena mencionar é o programa de sincronização de código aberto rsync , que tem o nome do protocolo homônimo e está disponível em várias versões para quase todas as plataformas populares (macOS, Windows, Linux). Essa ferramenta mantém o backup dos seus dados do servidor atualizado, sincronizando alterações feitas no original periodicamente.

Além do backup geral do servidor, a segurança dos dados das suas bases de dados também é fundamental, e deve ser parte do processo de backup. Saiba mais sobre isso em como fazer backup de bancos de dados.

Nota

Para garantir a máxima segurança no backup, é recomendável que o diretório de backup esteja em um meio de armazenamento externo (disco rígido portátil, outro servidor etc.), e não no próprio servidor que você está protegendo.

Este artigo foi útil?
Ir para o menu principal