Configuração Inicial do Servidor com Ubuntu 20.04

Introdução

Ao criar um novo servidor Ubuntu 20.04 pela primeira vez, você deve realizar algumas etapas de configuração importantes como parte da configuração inicial. Essas etapas aumentarão a segurança e usabilidade do seu servidor, fornecendo uma base sólida para ações subsequentes.

Ao criar um Droplet da DigitalOcean, você pode escolher uma versão do Ubuntu que será adicionada automaticamente ao seu novo Droplet. Simplifique sua configuração com nossas soluções prontas para uso.

Passo 1 — Fazendo login como root

Para fazer login no seu servidor, você precisará conhecer 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 ainda não tiver feito login no seu servidor, pode seguir nosso guia sobre como Conectar-se a Droplets com SSH, que aborda esse processo em detalhes.

Se você ainda não está conectado ao seu servidor, faça login agora 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 aparecer. Se estiver usando autenticação por senha, forneça sua senha de root para fazer login. Se estiver usando uma chave SSH protegida por senha, pode ser solicitado que insira a senha a primeira vez que usar a chave em cada sessão. Se esta for a primeira vez que estiver fazendo login no servidor com uma senha, também pode ser solicitado que altere a senha de root.

Sobre 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 uso regular dela. Isso ocorre porque a conta de root é capaz de fazer alterações muito destrutivas, mesmo por acidente.

O próximo passo é configurar uma nova conta de usuário com privilégios reduzidos para uso diário. Mais tarde, mostraremos como obter temporariamente privilégios aumentados para os momentos em que precisar deles.

Passo 2 — Criando um Novo Usuário

Uma vez que você esteja logado como root, você poderá adicionar a nova conta de usuário. No futuro, faremos login com esta nova conta em vez de root.

Este exemplo cria um novo usuário chamado sammy, mas você deve substituir isso por um nome de usuário que você goste:

  1. adduser sammy

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

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

Passo 3 — Concedendo Privilégios Administrativos

Agora temos uma nova conta de usuário com privilégios de conta regulares. No entanto, às vezes pode ser necessário realizar tarefas administrativas.

Para evitar ter que sair de nosso usuário normal e fazer login novamente como a conta root, podemos configurar o que é conhecido como privilégios de 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 adicionar o usuário ao grupo sudo. Por padrão, no Ubuntu 20.04, usuários que são membros do grupo sudo têm permissão para usar o comando sudo.

Como root, execute este comando para adicionar seu novo usuário ao grupo sudo (substitua o nome de usuário destacado pelo seu novo usuário):

  1. usermod -aG sudo sammy

Agora, quando estiver logado como seu usuário regular, você pode digitar sudo antes dos comandos para executá-los com privilégios de superusuário.

Passo 4 — Configurando um Firewall Básico

Os servidores Ubuntu 20.04 podem usar o firewall UFW para garantir que apenas conexões com determinados serviços sejam permitidas. Podemos configurar um firewall básico usando este aplicativo.

Observação: Se seus servidores estiverem sendo executados na DigitalOcean, você pode opcionalmente usar os Firewalls na Nuvem da DigitalOcean em vez do firewall UFW. Recomendamos usar apenas um firewall de cada vez para evitar regras conflitantes que podem ser difíceis de depurar.

Aplicativos podem registrar seus perfis com o UFW durante a instalação. Esses perfis permitem que o UFW gerencie esses aplicativos pelo nome. O OpenSSH, o serviço que nos permite conectar ao nosso servidor agora, possui um perfil registrado com o UFW.

Você pode verificar isso digitando:

  1. ufw app list
Output
Available applications: OpenSSH

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

  1. ufw allow OpenSSH

Posteriormente, podemos ativar 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 o tráfego. Você pode aprender algumas operações comuns do UFW em nosso guia Essenciais 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 fazer SSH na conta diretamente.

Nota: Até verificar se você pode fazer login e usar sudo com seu novo usuário, recomendamos permanecer logado como root. Dessa forma, se você tiver problemas, poderá solucionar 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ê pode recuperar o acesso aos Droplets usando o Console de Recuperação.

O processo para configurar o 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

Após inserir a senha do seu usuário comum, você será conectado. 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 comum ao usar sudo pela primeira vez em cada sessão (e periodicamente depois).

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

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

Se você acessou sua conta root usando chaves SSH, então a autenticação por senha está desativada 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.

Já que sua chave pública já está no arquivo ~/.ssh/authorized_keys da conta root no servidor, podemos copiar esse arquivo e a estrutura de diretórios para nossa nova conta de usuário em nossa sessão existente.

A maneira mais simples de copiar os arquivos com as permissões e proprietários corretos é com o comando rsync. Isso irá copiar o diretório .ssh do usuário root, preservar as permissões e modificar os proprietários dos arquivos, tudo em um único comando. Certifique-se de alterar as partes destacadas do comando abaixo para corresponder ao nome do seu usuário regular:

Observação: O comando rsync trata fontes e destinos que terminam com uma barra diferente daqueles sem uma barra final. Ao usar rsync abaixo, certifique-se de que o diretório de origem (~/.ssh) não inclua uma barra final (verifique para garantir que você não esteja usando ~/.ssh/).

Se você adicionar acidentalmente uma barra final ao comando, o rsync copiará os conteúdos do diretório ~/.ssh da conta root para o diretório home do usuário sudo em vez de copiar toda a estrutura de diretório ~/.ssh. Os arquivos estarão no local errado e o SSH não poderá encontrá-los e usá-los.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

Agora, abra uma nova sessão de terminal em sua máquina local e use SSH com seu novo nome de usuário:

  1. ssh sammy@your_server_ip

Você deverá estar conectado à nova conta de usuário sem precisar 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 digitar sua senha de 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. Você pode instalar qualquer software que precisar em seu servidor agora.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04