Na era digital, proteger seu Linux Virtual Private Server (VPS)
é fundamental para salvaguardar seus dados e infraestrutura. Este
guia abrangente explora métodos para proteger seu Linux VPS contra
cyber threats.
Mantenha Seu Sistema
Updated
Um dos aspectos mais importantes de proteger seu Linux VPS é
garantir que seu sistema esteja atualizado. Software desatualizado pode
conter vulnerabilidades que atores maliciosos podem explorar. Veja como:
do it:
Use o Gerenciador de Pacotes
A maioria das distribuições Linux fornece um gerenciador de pacotes. Por exemplo, se
você estiver usando um sistema baseado em Debian, execute os seguintes comandos
para atualizar e fazer upgrade de pacotes:
sudo apt update
sudo apt upgrade
Se você estiver em um sistema CentOS, use yum:
sudo yum update
Set Up Automatic
Updates
Configure Atualizações Automáticas com unattended-upgrades em
Sistemas Baseados em Debian:
Em sistemas baseados em Debian como Ubuntu, você pode usar o
pacote unattended-upgrades para automatizar o processo de atualização.
- Instale unattended-upgrades:
sudo apt install unattended-upgrades
- Configure as definições de atualização automática. Edite a configuração
file:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
- Ativar atualizações automáticas para pacotes de segurança:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-proposed";
"${distro_id}:${distro_codename}-backports";
};
- Ativar e iniciar o serviço unattended-upgrades:
sudo dpkg-reconfigure -plow unattended-upgrades
Este comando solicitará que você confirme as alterações. Selecione "Sim" para
ativar atualizações automáticas.
Configurar Atualizações Automáticas com yum-cron no
CentOS:
No CentOS, você pode usar yum-cron para atualizações automáticas:
- Instalar yum-cron:
sudo yum install yum-cron
- Iniciar e ativar o serviço yum-cron:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
Use
Senhas Fortes e Chaves SSH para Autenticação Segura
Proteger seu Linux VPS envolve usar métodos de autenticação robustos.
Se você está se conectando a partir de um cliente Linux ou Windows, aqui está como
usar senhas fortes e chaves SSH de forma eficaz:
Using Strong
Passwords
Ao criar contas de usuário no seu VPS, certifique-se de que as senhas são
complexas, combinando letras maiúsculas e minúsculas, números e caracteres
especiais. Evite senhas fáceis de adivinhar.
Usando Chave SSH
Authentication
Para Cliente Linux:
- Para gerar um par de chaves SSH no seu cliente Linux, use ssh-keygen
command:
ssh-keygen -t rsa -b 2048
A chave pública será armazenada por padrão em ~/.ssh/id_rsa.pub.
- Copie sua chave pública para o VPS:
ssh-copy-id user@your_server_ip
- Desativar login SSH baseado em senha no VPS no arquivo de
configuração do servidor SSH (/etc/ssh/sshd_config):
PasswordAuthentication no
Para Cliente Windows:
- No Windows, use o PowerShell para funcionalidade similar:
ssh-keygen
- Copie sua chave pública para o VPS usando PowerShell. Substitua
IP-ADDRESS-OR-FQDN com o servidor remoto
address:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@{IP-ADDRESS-OR-FQDN} "cat >> .ssh/authorized_keys"
- Desativar login SSH baseado em senha no VPS no arquivo de
configuração do servidor SSH (/etc/ssh/sshd_config):
PasswordAuthentication no
Implement a Firewall
Proteger seu Linux VPS envolve configurar um firewall para controlar
tráfego de entrada e saída. Veja como implementar um firewall para
enhance security:
Use ufw (Uncomplicated Firewall) em Debian/Ubuntu ou
firewalld on CentOS:
- Instale a ferramenta de gerenciamento de firewall se ainda não estiver instalada.
Para ufw em Debian/Ubuntu:
sudo apt install ufw
Para firewalld em CentOS:
sudo yum install firewalld
- Adicione regras para permitir SSH antes de ativar o firewall para evitar ser
locked out:
Para ufw em Debian/Ubuntu:
sudo ufw allow OpenSSH
Para firewalld em CentOS:
sudo firewall-cmd --permanent --add-service=ssh
- Ative o firewall e defina as regras padrão:
Para ufw em Debian/Ubuntu:
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
Para firewalld em CentOS:
sudo systemctl start firewalld
sudo systemctl enable firewalld
- Recarregue o firewall para que as alterações entrem em vigor.
Para ufw em Debian/Ubuntu:
sudo ufw reload
Para firewalld em CentOS:
sudo systemctl reload firewalld
Desabilite login root
Proteger seu Linux VPS envolve restringir o acesso root. Veja como
desativar o login root para maior segurança:
- Crie um Novo Usuário: Faça login em seu VPS como usuário root. Depois crie
uma nova conta de usuário com privilégios sudo. Substitua newuser pelo seu
desired username:
adduser newuser
usermod -aG sudo newuser
- Crie o diretório .ssh, authorized_keys e defina as permissões para
o Novo Usuário:
mkdir -p /home/newuser/.ssh
touch /home/newuser/.ssh/authorized_keys
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh
-
Gere e copie a chave pública para seu
VPS. -
Faça login como o Novo Usuário.
-
Desconecte do VPS (se estiver conectado como root) e faça
login novamente usando a nova conta de usuário. Isso garante que você possa executar
tarefas administrativas usando sudo. -
Edite a Configuração SSH:
Abra o arquivo de configuração do servidor SSH em seu VPS. Este arquivo está
geralmente localizado em /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Localize a linha que diz PermitRootLogin e defina-a como no:
PermitRootLogin no
Salve o arquivo e saia do editor de texto.
- Reinicie o serviço SSH:
Após fazer essa alteração, você deve reiniciar o serviço SSH para que as
novas configurações entrem em vigor:
On Debian/Ubuntu:
sudo systemctl restart ssh
On CentOS:
sudo systemctl restart sshd
Harden SSH
Configuration
Proteger seu Linux VPS envolve endurecer ainda mais a configuração do SSH
para maior segurança e garantir que as regras do UFW estejam
atualizadas. Veja como endurecer suas configurações do SSH e atualizar o UFW:
rules:
- Permita a Nova Porta do SSH no UFW:
Se você estiver usando o UFW (Uncomplicated Firewall), primeiro permita a nova porta do SSH
antes de fazer alterações na porta padrão:
# Allow the new SSH port (e.g., 2222)
sudo ufw allow 2222/tcp
- Remova o OpenSSH das Regras do UFW:
Após alterar a porta do SSH, você deve remover o antigo serviço OpenSSH
(porta padrão 22) das regras do UFW para garantir que apenas a nova
porta do SSH seja permitida:
# Remove the old OpenSSH service (default port 22)
sudo ufw delete allow OpenSSH
- Altere a Porta do SSH:
Por padrão, o SSH usa a porta 22. Alterar a porta padrão adiciona uma
camada extra de segurança ao dificultar que bots automatizados encontrem
seu servidor SSH.
Abra o arquivo de configuração do servidor SSH:
sudo nano /etc/ssh/sshd_config
Encontre a linha que diz Port 22 e altere o número da porta para uma
porta diferente e não utilizada, por exemplo, 2222:
Port 2222
- Ative a Reautenticação por Chave:
Você pode definir um limite de tempo para a reautenticação por chave para proteger ainda mais
sua sessão SSH. Isso significa que se você deixar sua sessão SSH
desatendida, ela expirará automaticamente após um tempo determinado.
Adicione ou modifique as linhas a seguir no arquivo de configuração do servidor SSH
e depois salve:
ClientAliveInterval 300
ClientAliveCountMax 2
- Recarregue as regras do UFW e o serviço SSH:
sudo ufw reload
sudo systemctl restart ssh
- Após fazer as alterações necessárias, você pode estabelecer uma nova conexão
SSH usando o comando a seguir:
ssh -p <new_port> user@your_server_ip
Implement Fail2Ban
Proteger seu Linux VPS significa defendê-lo contra tentativas de login por força bruta
e outros tipos de atividade maliciosa. Fail2Ban é uma ferramenta útil
para esse fim. Veja como implementar o Fail2Ban:
- Install Fail2Ban:
Comece atualizando sua lista de pacotes para garantir que você tenha a versão mais recente
available packages:
Para sistemas baseados em Debian (por exemplo, Ubuntu):
sudo apt update
For CentOS:
sudo yum update
Install Fail2Ban:
Para sistemas baseados em Debian:
sudo apt install fail2ban
For CentOS:
sudo yum install fail2ban
- Configure Fail2Ban:
O arquivo principal de configuração do Fail2Ban está localizado em
/etc/fail2ban/jail.conf. Você pode criar uma substituição
file at /etc/fail2ban/jail.local to customize settings
sem modificar a configuração padrão. Abra este arquivo:
sudo nano /etc/fail2ban/jail.local
Adicione a configuração a seguir para bloquear endereços IP por 10 minutos
(600 segundos) após seis tentativas de login falhadas. Ajuste os parâmetros conforme necessário:
needed:
[sshd]
enabled = true
maxretry = 6
findtime = 600
bantime = 600
Salve o arquivo e saia do editor de texto.
- Inicie e ative o Fail2Ban:
Inicie o Fail2Ban e ative-o para iniciar na inicialização:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
- Check Fail2Ban Status:
Você pode verificar o status do Fail2Ban para garantir que está funcionando corretamente:
expected:
sudo fail2ban-client status
Você deve ver que ele está monitorando o serviço SSH.
Os 6 métodos essenciais discutidos aqui oferecem uma defesa sólida
contra vulnerabilidades em potencial. Ao manter seu sistema atualizado,
usar autenticação forte, configurar firewalls, proteger SSH
e implementar Fail2Ban, você fortalece seu VPS e garante tranquilidade
mente no mundo sempre conectado. Se tiver dúvidas, não
hesite em entrar em contato com nossa equipe de suporte por submitting a
ticket.
Also in Security
Related guides.
Precisa de ajuda com algo mais?
Tempo mediano de resposta inferior a 1 hora. Pessoas reais, não bots.