Configuração inicial do servidor com Debian 11

Introdução

Ao criar um novo servidor Debian 11, há algumas etapas de configuração que você deve realizar no início como parte da configuração básica. Isso aumentará a segurança e usabilidade do seu servidor e fornecerá uma base sólida para ações subsequentes.

Neste tutorial, aprenderemos como fazer login em nosso servidor como usuário root, criar um novo usuário com privilégios de administrador e configurar um firewall básico.

Passo 1 — Fazendo login como Root

Para fazer login no seu servidor, você precisará saber o endereço IP público do servidor. Você também precisará da senha ou, se instalou uma chave SSH para autenticação, da chave privada da conta de usuário root. Se você ainda não fez login no seu servidor, talvez queira seguir nosso guia sobre como conectar-se ao seu Droplet com SSH, que cobre esse processo em detalhes.

Se você ainda não estiver conectado ao seu servidor, faça login como usuário root usando o seguinte comando (substitua a parte destacada do comando pelo endereço IP público do seu servidor):

  1. ssh root@your_server_ip

Aceite o aviso sobre a autenticidade do host se ele aparecer. Se estiver utilizando autenticação por senha, forneça sua senha de root para fazer login. Se estiver utilizando uma chave SSH protegida por frase de acesso, você pode ser solicitado a inserir a frase de acesso a cada vez que usar a chave em uma nova sessão. Se esta for a sua primeira vez acessando o servidor com uma senha, você também pode ser solicitado a alterar a senha de root.

Sobre o Root

O usuário root é o usuário administrativo em um ambiente Linux que possui privilégios muito amplos. Devido aos privilégios elevados da conta de root, é desencorajado o seu uso regular. Isso ocorre porque parte do poder inerente à conta de root é a capacidade de realizar mudanças muito destrutivas, mesmo por acidente.

O próximo passo é configurar uma conta de usuário alternativa com um escopo reduzido de influência para o trabalho diário. Mais tarde, explicaremos como obter privilégios aumentados para os momentos em que você precisar deles.

Passo 2 — Criando um Novo Usuário

Assim que estiver logado como root, estaremos prontos para adicionar a nova conta de usuário que utilizaremos para fazer login a partir de agora.

Este exemplo cria um novo usuário chamado sammy, mas você deve substituí-lo por um nome de usuário de sua preferência:

  1. adduser sammy

Você será solicitado a responder algumas perguntas, começando pela senha da conta.

Insira uma senha forte e, opcionalmente, preencha qualquer informação adicional que desejar. Isso não é obrigatório e você pode simplesmente pressionar ENTER em qualquer campo que desejar pular.

Em seguida, vamos configurar este novo usuário com privilégios de administrador.

Passo 3 — Concedendo Privilégios Administrativos

Agora, criamos uma nova conta de usuário com privilégios de conta regulares. No entanto, às vezes podemos precisar executar tarefas administrativas com ela.

Para evitar ter que sair do nosso usuário normal e entrar novamente como o usuário root, podemos configurar o que é conhecido como privilégios superusuário ou root para nossa conta normal. Isso permitirá que nosso usuário normal execute comandos com privilégios administrativos colocando a palavra sudo antes do comando.

Para adicionar esses privilégios ao nosso novo usuário, precisamos adicioná-lo ao grupo sudo. Por padrão, no Debian 11, usuários que pertencem ao grupo sudo podem usar o comando sudo.

Como root, execute este comando para adicionar seu novo usuário ao grupo sudo (substitua a palavra destacada pelo seu novo usuário):

  1. usermod -aG sudo sammy

Agora, quando estiver conectado como seu usuário regular, você pode digitar sudo antes dos comandos para executar o comando com privilégios de superusuário.

Passo 4 — Configurando um Firewall Básico

Servidores Debian podem usar firewalls para garantir que apenas certas conexões com serviços específicos sejam permitidas. Neste guia, iremos instalar e usar o firewall UFW para ajudar a definir políticas de firewall e gerenciar exceções.

Podemos usar o gerenciador de pacotes apt para instalar o UFW. Atualize o índice local para obter as informações mais recentes sobre pacotes disponíveis e depois instale o software de firewall UFW digitando:

  1. apt update
  2. apt install ufw

Nota: Se seus servidores estiverem sendo executados na DigitalOcean, você pode opcionalmente usar Firewalls na Nuvem da DigitalOcean em vez do firewall UFW. Recomendamos usar apenas um firewall por vez para evitar regras conflitantes que possam ser difíceis de depurar.

Perfis de firewall permitem que o UFW gerencie conjuntos nomeados de regras de firewall para aplicativos instalados. Perfis para alguns softwares comuns são incluídos com o UFW por padrão e pacotes podem registrar perfis adicionais com o UFW durante o processo de instalação. OpenSSH, o serviço que nos permite conectar ao nosso servidor agora, possui um perfil de firewall que podemos usar.

Você lista todos os perfis de aplicativos disponíveis digitando:

  1. ufw app list
Output
Available applications: . . . OpenSSH . . .

Precisamos garantir que o firewall permita conexões SSH para que possamos fazer login na próxima vez. Podemos permitir essas conexões digitando:

  1. ufw allow OpenSSH

Depois, podemos habilitar o firewall digitando:

  1. ufw enable

Digite y e pressione ENTER para prosseguir. Você pode ver que as conexões SSH ainda são permitidas digitando:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Como o firewall está atualmente bloqueando todas as conexões, exceto SSH, se você instalar e configurar serviços adicionais, precisará ajustar as configurações do firewall para permitir tráfego aceitável. Você pode aprender algumas operações comuns do UFW em nosso guia essencial do UFW.

Passo 5 — Habilitando Acesso Externo para seu Usuário Regular

Agora que temos um usuário regular para uso diário, precisamos garantir que possamos acessar SSH na conta diretamente.

Nota: Até verificar que você pode fazer login e usar sudo com seu novo usuário, recomendamos permanecer logado como root. Desta forma, se você tiver problemas, poderá solucioná-los e fazer quaisquer alterações necessárias como root. Se estiver usando um Droplet da DigitalOcean e tiver problemas com sua conexão SSH de root, você também pode fazer login no Droplet usando o Console da DigitalOcean.

O processo de configuração do acesso SSH para seu novo usuário depende se a conta root do seu servidor usa uma senha ou chaves SSH para autenticação.

Se a Conta Root Usa Autenticação por Senha

Se você fez login na sua conta root usando uma senha, então a autenticação por senha está habilitada para SSH. Você pode SSH para sua nova conta de usuário abrindo uma nova sessão de terminal e usando SSH com seu novo nome de usuário:

  1. ssh sammy@your_server_ip

Depois de inserir a senha do seu usuário regular, você será conectado. Lembre-se, se precisar executar um comando com privilégios administrativos, digite sudo antes, como este:

  1. sudo command_to_run

Você será solicitado a inserir a senha do seu usuário regular ao usar sudo pela primeira vez em cada sessão (e periodicamente depois).

Para melhorar a segurança do seu servidor, recomendamos fortemente configurar chaves SSH em vez de usar autenticação por senha. Siga o nosso guia sobre como configurar chaves SSH no Debian 11 para aprender como configurar a autenticação baseada em chaves.

Se a Conta Root Usa Autenticação por Chave SSH

Se você fez login na sua conta root usando chaves SSH, então a autenticação por senha está desabilitada para SSH. Você precisará adicionar uma cópia da sua chave pública local ao arquivo ~/.ssh/authorized_keys do novo usuário para fazer login com sucesso.

Como sua chave pública já está no arquivo ~/.ssh/authorized_keys da conta root no servidor, podemos copiar esse arquivo e estrutura de diretório para nossa nova conta de usuário na nossa sessão existente com o comando cp. Depois, podemos ajustar a propriedade dos arquivos usando o comando chown.

Asegure-se de alterar as partes destacadas do comando abaixo para corresponder ao nome do seu usuário regular:

  1. cp -r ~/.ssh /home/sammy
  2. chown -R sammy:sammy /home/sammy/.ssh

O comando cp -r copia todo o diretório para o diretório inicial do novo usuário, e o comando chown -R altera o proprietário desse diretório (e tudo dentro dele) para o nomeusuário:nomedogrupo especificado (o Debian cria um grupo com o mesmo nome do seu nome de usuário por padrão).

Agora, abra uma nova sessão de terminal e faça login via SSH com seu novo nome de usuário:

  1. ssh sammy@your_server_ip

Você deverá estar logado na nova conta de usuário sem usar uma senha. Lembre-se, se precisar executar um comando com privilégios administrativos, digite sudo antes dele assim:

  1. sudo command_to_run

Você será solicitado a inserir a senha do seu usuário regular ao usar sudo pela primeira vez em cada sessão (e periodicamente depois).

Onde ir a partir daqui?

Neste ponto, você tem uma base sólida para o seu servidor. Agora você pode instalar qualquer software que precise no seu servidor.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-11