Como proteger um servidor doméstico Linux

Existem muitas razões Para configurar um servidor doméstico. Você pode usá-lo como um servidor de mídia, servidor de arquivos ou até mesmo um servidor de backup local. Basicamente, qualquer um dos seus arquivos que não precise estar conectado à Internet é um bom candidato para um servidor doméstico. É relativamente fácil configurar um servidor doméstico funcional Sistema Linux Principalmente hoje em dia. No entanto, mantenha este O servidor é seguro É outra história completamente. Talvez Manter a segurança Difícil por ser importante.

Como proteger um servidor doméstico executando Linux - Linux

Você só precisa instalar exatamente o que você precisa

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

Se você instalou o Sistema Linux Muitas vezes, isso seria mais fácil. Em vez de se limitar aos padrões, use os modos que oferecem mais controle sobre a instalação. Às vezes, isso é chamado de "modo especialista" ou algo semelhante.

Manter cuidadosamente as opções de instalação em mente pode economizar tempo, desativando serviços por motivos de segurança posteriormente.

Configuração Sudo

Antes de passar para qualquer outra etapa, você precisa configurar sudo. porque? Porque assim que terminar aqui, você estará conectado ao seu servidor via SSH , E você não poderá fazer login como conta root. Para fazer qualquer outra alteração em seu sistema, você precisará usar sudo.

Primeiro, verifique se você realmente é capaz de usar sudo. Em sua conta de usuário, execute o seguinte comando usando seu nome de usuário em vez de USERNAME:

sudo -lU USERNAME

Se for exibida uma mensagem informando que seu nome de usuário pode reproduzir “(TODOS) TODOS” ou algo semelhante, você está pronto para continuar.

Agora, como uma conta com acesso root em seu servidor, execute o seguinte para editar o arquivo “/ etc / sudoers“. Se você preferir outro editor, use-o em vez do nano.

EDITOR=nano visudo

Edite o arquivo para incluir o seguinte, usando seu nome de usuário no lugar de USERNAME:

USERNAME   ALL=(ALL) ALL

Configuração SSH

Como proteger um servidor doméstico executando Linux - Linux

Você já deve ter o SSH habilitado em seu servidor doméstico. Provavelmente sim, porque é assim que você interage com o servidor.

Primeiro, certifique-se de ter o OpenSSH instalado. Se você estiver usando outra distribuição, isso irá variar, mas o nome do pacote deve ser razoavelmente constante. No Ubuntu, faça o seguinte:

sudo apt install openssh-server

Usar a autenticação baseada em chave é mais seguro do que a autenticação por senha, portanto, configuraremos o SSH para funcionar dessa maneira. Para fazer isso, certifique-se de estar trabalhando na máquina cliente com a qual planeja se comunicar com o servidor, e não no próprio servidor. Primeiro, você quer ter certeza de que não tem nenhuma chave SSH:

ls ~/.ssh/

Se você ver "id_rsa" E a "id_rsa.pubEntre os nomes de arquivo listados, você já tem as chaves SSH. Pule esta próxima etapa.

ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"

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

ssh-copy-id USERNAME@SERVER

Para um servidor doméstico, você provavelmente está usando o endereço IP do seu servidor em vez do nome. Se você não souber o nome do seu servidor, use seu próprio endereço IP em vez do SERVER acima.

Agora vamos ajustar as configurações de SSH para torná-lo mais seguro. Faça login em 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 próximo e substitua o nano pelo editor de sua escolha.

sudo nano /etc/ssh/sshd_config

Você deve editar o arquivo com as seguintes configurações. Eles estarão localizados em vários lugares do arquivo. Certifique-se de que não haja duplicatas, pois elas serão usadas apenas na primeira iteração da configuração.

ChallengeResponseAuthentication no

PasswordAuthentication no

UsePAM no

PermitRootLogin no

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

No Ubuntu, execute:

sudo systemctl restart ssh

Configuração de firewall

Dependendo dos serviços que você está executando e do tempo que seu servidor fica online, você pode querer ativar um firewall. Existem algumas opções para isso, mas o método testado e comprovado no Linux é iptables.

Preparação mais longa iptables Fora do escopo deste artigo, mas não se preocupe. Temos um guia completo para configurar iptables No seu dispositivo.

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

sudo apt install ufw

Por padrão, todas as portas serão bloqueadas. Para habilitar o acesso online e ssh, execute o ufw O seguinte para abrir as portas 80, 443 e 22:

sudo ufw allow 80

sudo ufw allow 443

sudo ufw allow 22

Finalmente, habilite o ufw:

sudo ufw enable

Mantenha o servidor atualizado

Como proteger um servidor doméstico executando Linux - Linux

Os servidores podem ser facilmente esquecidos se estiverem apenas em execução, mas isso pode ser perigoso. Certifique-se de que seu software esteja atualizado. Você pode usar atualizações que não são monitoradas, mas podem não ser previsíveis. A maneira mais segura é definir um compromisso regular semanal ou mensal de manutenção do servidor para garantir que tudo esteja em ordem.

Para onde eu vou daqui

Agora você tem um bom começo para manter seu servidor protegido contra ameaças externas. E se você precisar acessar seu servidor de casa? O invasor provavelmente usará todas as portas abertas, e todas as portas abertas aumentam sua vulnerabilidade.

Uma das maneiras mais fáceis de acessar sua rede doméstica de fora é usar uma VPN, que está fora do escopo deste artigo, mas não se preocupe, nós ajudamos você. Dê uma olhada em Nossa lista dos melhores serviços VPN seguros disponíveis Idéia de suas opções.

Ir para o botão superior