Como Proteger um Servidor Linux em Casa

Servidor Linux Seguro em Casa

Existem muitas razões para configurar um servidor em casa. Você pode usá-lo como um servidor de mídia, um servidor de arquivos ou até mesmo um servidor de backup local. Basicamente, todos os seus arquivos que não precisam estar online são boas opções para um servidor em casa. Configurar um servidor Linux é relativamente fácil, especialmente hoje em dia. Dito isso, manter esse servidor seguro é outra história. A segurança pode ser tão complicada quanto é importante.

Leia também: O Que É Log4Shell e Como Proteger Seu Sistema Linux Contra Isso

Instale Apenas o Que Você Realmente Precisa

Uma das maneiras mais fáceis de manter seu servidor em casa seguro é ter a segurança em mente desde o início. Isso começa com a instalação. Você está inseguro se precisa de um aplicativo ou serviço? Não instale. Você pode sempre instalá-lo depois.

Se você instalou o Linux algumas vezes, isso é ainda mais fácil. Em vez de seguir com as opções padrão, use os modos que lhe dão mais controle sobre a instalação. Às vezes, esses modos são denominados “modo especialista” ou algo similar.

Manter um controle cuidadoso das opções de instalação pode economizar tempo desativando serviços por razões de segurança depois.

Configure o sudo

Antes de passar para quaisquer outras etapas, você precisa configurar o sudo. Por quê? Porque uma vez que terminarmos aqui, você fará login no seu servidor via SSH e não poderá acessar a conta root. Para fazer qualquer outra alteração no seu sistema, você precisará usar o sudo.

Primeiro, verifique se você já consegue usar o sudo. A partir da sua conta de usuário, execute o seguinte com seu nome de usuário em vez de USERNAME:

sudo -lU USERNAME

Se você ver uma mensagem dizendo que seu nome de usuário pode executar “(ALL) ALL” ou algo semelhante, você está pronto para prosseguir.

Agora, como a conta root no seu servidor, execute o seguinte para editar o arquivo “/etc/sudoers”. Se você prefere outro editor, use-o em vez do nano.

EDITOR=nano visudo

Edite o arquivo para incluir o seguinte, com seu nome de usuário em vez de USERNAME:

USERNAME   ALL=(ALL) ALL

Leia também: Como Usar o Scanner de Vulnerabilidades Nessus no Linux

Configure o SSH

Servidor Linux Seguro em Casa Openssh

Você pode já ter o SSH habilitado no seu servidor em casa. É bem provável que sim, já que essa é normalmente a maneira como você interage com um servidor.

Primeiro, verifique se o OpenSSH está instalado. Se você usar outra distribuição, seu comando variará, mas o nome do pacote deve ser bastante consistente. No Ubuntu, execute o seguinte:

sudo apt install openssh-server

Usar autenticação baseada em chave é muito mais seguro do que a autenticação por senha, então vamos configurar o SSH para funcionar dessa maneira. Para isso, certifique-se de que você está trabalhando em um cliente que planeja conectar ao servidor, não no próprio servidor. Primeiro, você quer ter certeza de que não possui chaves SSH:

ls ~/.ssh/

Se você vir “id_rsa” e “id_rsa.pub” entre os nomes de arquivos listados, você já possui chaves SSH. Pule esta próxima etapa.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Agora você copiará a chave SSH para o seu servidor:

ssh-copy-id USERNAME@SERVER

Para um servidor em casa, você provavelmente usará um endereço IP para seu servidor em vez de um nome. Se você não souber o nome do seu servidor, use seu endereço IP em vez de SERVER acima.

Agora vamos editar as configurações do seu SSH para torná-las mais seguras. Faça login no seu servidor a partir do cliente no qual você criou as chaves. Isso permitirá que você faça login novamente após esta etapa. Execute o seguinte, substituindo nano pelo editor de sua escolha.

sudo nano /etc/ssh/sshd_config

Edite o arquivo com as seguintes configurações. Estes estarão localizados em vários lugares no arquivo. Certifique-se de que não haja duplicatas, pois apenas a primeira instância de uma configuração será seguida.

ChallengeResponseAuthentication no  
PasswordAuthentication no  
UsePAM no  
PermitRootLogin no

Agora você precisa reiniciar o servidor SSH com um dos seguintes comandos.

No Ubuntu, execute:

sudo systemctl restart ssh

Leia também: SELinux vs AppArmor: Quais São as Diferenças e Qual Você Deveria Usar?

Configure um Firewall

Dependendo dos serviços que você está executando e quão frequentemente seu servidor se conecta à Internet, você pode querer rodar um firewall. Existem algumas opções para isso, mas o método testado e comprovado no Linux é o iptables.

Configurar o iptables está além do escopo deste artigo, mas não se preocupe. Temos um guia completo para configurar o iptables na sua máquina.

Outra maneira mais fácil de configurar um firewall é usar o ufw. Você pode instalá-lo com o comando:

sudo apt install ufw

Por padrão, ele bloqueará todas as portas. Para habilitar o acesso online e SSH, execute os seguintes comandos do ufw para abrir as portas 80, 443 e 22:

sudo ufw allow 80  
sudo ufw allow 443  
sudo ufw allow 22

E, por fim, habilite o serviço ufw:

sudo ufw enable

Mantenha-se Atualizado

Instalação de Servidor Linux Seguro

Os servidores podem ser fáceis de esquecer se só funcionam, mas isso pode ser perigoso. Certifique-se de manter seu software atualizado. Você pode usar atualizações não atendidas, mas estas podem ser imprevisíveis. A maneira mais segura é agendar uma manutenção regular do servidor semanal ou mensal para garantir que tudo esteja em ordem.

Leia também: As Melhores Ferramentas de Código Aberto para Proteger Seu Servidor Linux

Para Onde Ir a Partir Daqui

Agora você tem um bom começo para manter seu servidor protegido de ameaças externas. E se você precisar acessar seu servidor de casa, no entanto? Toda porta que você abre pode ser potencialmente utilizada por um invasor, e cada porta aberta aumenta sua vulnerabilidade.

Uma das maneiras mais fáceis de acessar sua rede doméstica de fora é usar uma VPN, o que está além do escopo deste artigo, mas não se preocupe, nós temos tudo o que você precisa. Dê uma olhada na nossa lista dos melhores serviços de VPN seguros disponíveis para ter uma ideia das suas opções.