Pesquisa de site

Configuração Inicial do Servidor com Ubuntu


Introdução

Quando você cria um novo servidor Ubuntu, deve realizar algumas etapas de configuração importantes como parte da configuração inicial. Essas etapas aumentarão a segurança e a usabilidade do seu servidor e fornecerão uma base sólida para ações subsequentes.

Este tutorial foi validado no Ubuntu 22.04 LTS, 24.04 LTS e 24.10. Os comandos utilizam pacotes padrão que permanecem estáveis nas versões intermediárias atuais e nas próximas versões 25.x, que são fornecidas com os padrões do apt, OpenSSH e UFW.

Principais Conclusões

  • Faça login como root: Aprenda como acessar seu servidor Ubuntu com segurança pela primeira vez.
  • Crie um usuário não-root: Adicione uma conta de usuário comum com privilégios de sudo para minimizar os riscos de segurança do uso diário do root.
  • Configurar autenticação por chave SSH: Configure chaves SSH para acessos seguros sem senha e copie sua chave pública para o novo usuário.
  • Configure o firewall com o UFW: Ative e teste o Uncomplicated Firewall (UFW) para restringir o acesso, garantindo manter o SSH aberto para evitar bloqueios.
  • Valide o acesso antes de sair do root: Confirme que seu novo usuário pode usar sudo e se conectar via SSH antes de encerrar a sessão do root para evitar ficar sem acesso.
  • As melhores práticas se aplicam a múltiplos ambientes: Esses passos iniciais se aplicam a VMs na nuvem, Droplets, VPS e servidores bare metal.

Faça o deploy de suas aplicações do GitHub usando a Plataforma de Aplicativos Linux-Console.net. Deixe o Linux-Console.net cuidar da escalabilidade do seu app.

Configuração Inicial do Servidor com Ubuntu

  1. Fazendo login como root
  2. Criando um Novo Usuário
  3. Concedendo Privilégios Administrativos
  4. Configurando um Firewall
  5. Habilitando Acesso Externo para Seu Usuário Regular

Passo 1 - Fazendo login como root

Para acessar seu servidor, você precisará saber o endereço IP público do servidor. Você também precisará da senha ou da chave privada da conta do usuário root se tiver instalado uma chave SSH para autenticação. Se você ainda não fez login no seu servidor, talvez queira seguir nosso guia sobre como Conectar a Droplets com SSH, que explica esse processo em detalhes.

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

ssh root@your_server_ip

Aceite o aviso sobre a autenticidade do host se ele aparecer. Se o seu servidor usar autenticação por senha, forneça sua senha de root para fazer login. Se você usar uma chave SSH protegida por frase secreta, talvez seja necessário inserir a frase secreta na primeira vez que usar a chave em cada sessão. Se esta for a primeira vez que você faz login no servidor com uma senha, talvez também precise alterar a senha de root. Siga as instruções para alterar a senha se você receber um aviso.

Sobre a raiz

O usuário root é o usuário administrativo em um ambiente Linux com privilégios elevados. Devido aos privilégios aumentados da conta root, é desaconselhado usá-la regularmente. A conta root pode causar mudanças muito destrutivas, mesmo acidentalmente.

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 elevados para os momentos em que você precisar deles.

Passo 2 - Criando um Novo Usuário

Uma vez que você fizer login como root, você poderá adicionar a nova conta de usuário. No futuro, nós faremos login com essa nova conta em vez de root.

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

adduser sammy

Você será perguntado algumas coisas, começando com a senha da conta.

Digite uma senha forte e, opcionalmente, preencha quaisquer informações adicionais que você desejar. Essas informações não são obrigatórias, e você pode pressionar ENTER em qualquer campo que queira pular.

Passo 3 - Concedendo Privilégios Administrativos

Agora você tem uma nova conta de usuário com privilégios de conta regular. No entanto, às vezes você precisará executar tarefas administrativas como o usuário root.

Para evitar sair da sua conta de usuário normal e entrar novamente como a conta root, você pode configurar o que é conhecido como privilégios de superusuário ou root para a conta regular do seu usuário. Esses privilégios permitirão que seu usuário normal execute comandos com privilégios administrativos colocando a palavra sudo antes do comando.

Para adicionar esses privilégios ao seu novo usuário, você precisará adicionar o usuário ao grupo do sistema sudo. Por padrão no Ubuntu, 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 sammy pelo seu novo usuário):

usermod -aG sudo sammy

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

Passo 4 - Configurando um Firewall

Servidores Ubuntu podem usar o firewall UFW para garantir que apenas conexões para determinados serviços sejam permitidas. Você pode configurar um firewall básico usando este aplicativo.

Observação: Se seus servidores estiverem rodando no Linux-Console.net, você pode optar por usar os Firewalls em Nuvem do Linux-Console.net em vez do firewall UFW. Recomendamos usar apenas um firewall de cada vez para evitar regras conflitantes que podem ser difíceis de diagnosticar.

As aplicações podem registrar seus perfis no UFW durante a instalação. Esses perfis permitem que o UFW gerencie essas aplicações pelo nome. O OpenSSH, o serviço que permite que você se conecte ao seu servidor, tem um perfil registrado no UFW.

Você pode examinar a lista de perfis UFW instalados digitando:

ufw app list
Available applications:
  OpenSSH

Você precisará garantir que o firewall permita conexões SSH para que possa fazer login no seu servidor na próxima vez. Permita essas conexões digitando:

ufw allow OpenSSH

Agora ative o firewall digitando:

ufw enable

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

ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

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 novo tráfego em seu servidor. Você pode aprender algumas operações comuns do UFW em nosso guia UFW Essentials.

Para adicionar acesso HTTP posteriormente, permita apenas os serviços de que você precisa:

ufw allow 80/tcp

ufw allow 443/tcp

Consulte Como Configurar um Firewall com UFW no Ubuntu para padrões comuns como limitação de taxa e regras específicas de serviço.

Passo 5 - Habilitando o Acesso Externo para o Seu Usuário Comum

Agora que você tem um usuário regular para uso diário, será necessário garantir que você possa acessar a conta diretamente via SSH.

Nota: Até verificar que você consegue fazer login e usar sudo com seu novo usuário, recomendamos permanecer logado como root. Se você tiver problemas para se conectar, é possível solucionar e fazer quaisquer alterações necessárias como root. Se você usar um Droplet da Linux-Console.net e tiver problemas com sua conexão SSH como root, você pode recuperar o acesso ao Droplet usando o Console de Recuperação.

Configurar o acesso SSH para seu novo usuário depende de o root do seu servidor usar senha ou chaves SSH para autenticação.

Se a conta root usar autenticação por senha

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

ssh sammy@your_server_ip

Após digitar a senha do seu usuário regular, você será conectado. Lembre-se, se precisar executar um comando com privilégios administrativos, digite sudo antes dele, assim:

sudo command_to_run

Você receberá um aviso para digitar a senha do seu usuário regular ao usar sudo pela primeira vez em cada sessão (e periodicamente depois disso).

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

Se a conta root usar autenticação por chave SSH

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

Como sua chave pública já está no arquivo ~/.ssh/authorized_keys da conta root no servidor, você pode copiar esse arquivo e a estrutura de diretórios para sua nova conta de usuário usando a sessão atual.

A maneira mais simples de copiar os arquivos com a propriedade e permissões corretas é usando o comando rsync. Este comando 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 comum:

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

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

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:

ssh sammy@your_server_ip

Você deve estar conectado ao seu servidor com a nova conta de usuário sem usar uma senha. Lembre-se, se precisar executar um comando com privilégios administrativos, digite sudo antes do comando assim:

sudo command_to_run

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

Perguntas Frequentes

1. O Ubuntu pode ser usado como servidor?

Com certeza. O Ubuntu é um dos sistemas operacionais mais populares para servidores no mundo todo e é projetado para uma ampla variedade de cenários, desde instâncias leves de VPS até clusters de nível empresarial.

Principais vantagens do Ubuntu Server:

RecursoDescrição
Código aberto e gratuitoNenhuma taxa de licença necessária.
Suporte LTSAs versões com suporte de longo prazo recebem 5 anos de atualizações.
Pronto para a nuvemImagens otimizadas para os principais provedores de nuvem (Linux-Console.net, AWS, GCP).
Amigável para DevOpsInclui OpenSSH, apt e systemd.
Suporte Amplo a HardwareFunciona em x86, ARM, PPC e mais.

Tarefas de servidor de exemplo que o Ubuntu lida bem:

  • Hospedagem web (Apache, Nginx)
  • Bancos de Dados (PostgreSQL, MySQL, MongoDB)
  • Servidores de aplicação (Node.js, Python, Java)
  • Orquestração de contêineres (Docker, Kubernetes)
  • Armazenamento de arquivos e backups

Exemplo: Para verificar sua versão do Ubuntu:

lsb_release -a
# OR
cat /etc/os-release

Para mais informações sobre SSH e gerenciamento de pacotes, veja: Guia de Chaves OpenSSH.

2. O Ubuntu Server é gratuito?

Sim. O Ubuntu Server é totalmente gratuito para baixar, instalar e usar para qualquer finalidade—pessoal, educacional ou comercial. Não há custos de licença ou taxas de assinatura.

Se você está procurando uma maneira simples e confiável de começar, considere implantar um Droplet Ubuntu no Linux-Console.net. O Linux-Console.net oferece imagens de servidor Ubuntu pré-configuradas para que você possa lançar servidores seguros e prontos para produção em apenas alguns cliques — perfeito tanto para iniciantes quanto para especialistas.

Nota: Você só precisa do Ubuntu Pro se necessitar de manutenção de segurança estendida, recursos de conformidade ou suporte empresarial. Para a maioria dos usuários e cargas de trabalho típicas, a versão gratuita do Ubuntu Server é mais do que suficiente.

3. Qual versão do Ubuntu devo escolher para um novo servidor?

Recomendação:
Use uma versão de Suporte de Longo Prazo (LTS). As versões LTS estão prontas para produção e recebem atualizações por cinco anos.

Versões LTS populares:

LançamentoData de LançamentoFim do SuporteNotas
Ubuntu 24.04 LTSabril de 2024abril de 2029Último; recomendado para novas instalações
Ubuntu 22.04 LTSabril de 2022abril de 2027Amplamente utilizado; altamente estável

Verifique sua versão atual:

lsb_release -cs   # Shows the codename (e.g., 'jammy' for 22.04)

Este guia e seus comandos são validados tanto para 24.04 LTS quanto para 22.04 LTS.

4. Devo desativar a autenticação por senha para SSH?

Sim, para maior segurança.
Depois de configurar a autenticação por chave SSH e confirmar que você consegue fazer login, desativar a autenticação por senha para o SSH reduz a exposição do seu servidor a ataques de força bruta.

Passos:

  1. Abra a configuração do SSH:

    sudo nano /etc/ssh/sshd_config
  2. Encontrar e definir:

    PasswordAuthentication no
  3. Reiniciar SSH:

    sudo systemctl reload sshd

Importante: Sempre mantenha outra forma de acessar o servidor, como o Console de Droplets da Linux-Console.net ou acesso de backup, antes de fazer esta alteração.

5. Preciso mudar a porta SSH padrão?

Alterar a porta SSH de 22 é opcional e não substitui a autenticação adequada por chave SSH ou a configuração do firewall.

Prós e Contras:

Alterando a Porta 22Efeitos
Reduz ligeiramente as varredurasBots automatizados podem contornar portas que não sejam 22
NÃO é um substituto de segurançaOs atacantes ainda podem encontrar portas abertas
Requer atualização do firewallAs regras do UFW ou do firewalld precisam ser alteradas

Se você alterar a porta:

  1. Edite /etc/ssh/sshd_config:

    Port 2277   # Example port; use a port >1024 that's not in use
  2. Atualizar regras do UFW:

    sudo ufw allow 2277/tcp
  3. Conectar usando:

    ssh -p 2277 user@your_server_ip
  4. Documente sua nova porta para evitar bloqueio.

Use-o como um passo extra, não como sua defesa principal.

Conclusão

Parabéns! Você completou o processo inicial essencial de configuração do servidor com o Ubuntu. Ao seguir estes passos, você melhorou significativamente a segurança do seu servidor e estabeleceu a base para futuras configurações. Agora você possui uma conta de usuário não root com privilégios de sudo para uma administração diária mais segura, um firewall (UFW) configurado para restringir todo o tráfego, exceto o que você explicitamente permitir, e autenticação segura por chave SSH implementada—reduzindo significativamente o risco de acesso não autorizado.

Com essas melhores práticas implementadas, seu servidor Ubuntu está pronto para hospedagem de sites e implantação de aplicativos, além de qualquer personalização adicional que você precise. A configuração concluída neste tutorial é um requisito básico para quase todos os projetos de servidor Linux, e entender esses fundamentos ajudará você a gerenciar a infraestrutura com confiança na nuvem ou localmente.

Lembre-se de acompanhar suas novas credenciais, manter atualizações regulares e continuar aprendendo para manter seus sistemas seguros e fáceis de manter.

Próximos Passos

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

Se você quiser se familiarizar mais com os comandos do Linux, pode conferir nosso Guia de Linha de Comando do Linux.

Procurando os próximos passos para reforçar o SSH e o firewall? Confira o SSH Essentials: Trabalhando com Servidores, Clientes e Chaves SSH, Como Usar o SSH para Conectar-se a um Servidor Remoto e Entendendo o Processo de Criptografia e Conexão do SSH.

Tente o seguinte: Crie um Droplet no Linux-Console.net com Ubuntu 24.04 LTS, siga estes passos e depois adicione um banco de dados gerenciado ou faça o deploy via App Platform. Explore a página de distribuição do Ubuntu do Linux-Console.net para ver as imagens atuais e as notas de versão.

Obrigado por aprender com a comunidade Linux-Console.net.