Introdução
Ao criar um novo servidor Rocky Linux 8 pela primeira vez, existem 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.
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, pode querer seguir nossa documentação sobre como se conectar ao seu Droplet com SSH, que aborda este 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):
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 usando uma chave SSH protegida por senha, você pode ser solicitado a inserir a senha toda vez que usar a chave em cada sessão. Se esta for a primeira vez que está fazendo login no servidor com uma senha, também poderá ser solicitado a alterar a senha de root.
Sobre o Root
O usuário root é o usuário administrativo em um ambiente Linux e possui privilégios muito amplos. Devido aos privilégios elevados da conta de root, você é desencorajado a usá-la regularmente. Isso ocorre porque parte do poder inerente à conta de root é a capacidade de fazer alterações muito destrutivas, mesmo por acidente.
Portanto, o próximo passo é configurar uma conta de usuário alternativa com um escopo reduzido de influência para o trabalho diário. Esta conta ainda será capaz de obter privilégios aumentados quando necessário.
Passo 2 — Criando um Novo Usuário
Depois de fazer login como root, você pode criar a nova conta de usuário que usaremos para fazer login a partir de agora.
Este exemplo cria um novo usuário chamado sammy, mas você deve substituí-lo por qualquer nome de usuário que preferir:
Em seguida, defina uma senha forte para o usuário sammy
:
Você será solicitado a digitar a senha duas vezes. Após fazer isso, seu usuário estará pronto para uso, mas primeiro daremos a este usuário privilégios adicionais para usar o comando sudo
. Isso nos permitirá executar comandos como root quando necessário.
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 nossa conta de usuário regular e entrar novamente como a conta root, podemos configurar o que é conhecido como privilégios de “superusuário” ou root para nossa conta regular. Isso permitirá que nosso usuário regular execute comandos com privilégios administrativos colocando a palavra sudo
antes de cada comando.
Para adicionar esses privilégios ao nosso novo usuário, precisamos adicionar o novo usuário ao grupo wheel. Por padrão, no Rocky Linux 8, os usuários que pertencem ao grupo wheel têm permissão para usar o comando sudo
.
Como root, execute este comando para adicionar seu novo usuário ao grupo wheel (substitua a palavra destacada pelo seu novo nome de usuário):
Agora, quando estiver logado como seu usuário regular, você pode digitar sudo
antes dos comandos para executar ações com privilégios de superusuário.
Passo 4 — Configurando um Firewall Básico
Firewalls fornecem um nível básico de segurança para o seu servidor. Essas aplicações são responsáveis por negar o tráfego para todas as portas do seu servidor, exceto para aquelas portas/serviços que você tenha explicitamente aprovado. O Rocky Linux possui um serviço chamado firewalld
para realizar essa função. Uma ferramenta chamada firewall-cmd
é usada para configurar políticas de firewall do firewalld
.
Observação: Se seus servidores estiverem sendo executados na DigitalOcean, você pode opcionalmente usar Firewalls na Nuvem da DigitalOcean em vez do firewalld
. Recomendamos usar apenas um firewall por vez para evitar regras conflitantes que podem ser difíceis de depurar.
Primeiro, instale o firewalld
:
A configuração padrão do firewalld
permite conexões ssh
, então podemos ativar o firewall imediatamente:
Verifique o status do serviço para garantir que ele tenha iniciado:
Output● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-02-06 16:39:40 UTC; 3s ago
Docs: man:firewalld(1)
Main PID: 13180 (firewalld)
Tasks: 2 (limit: 5059)
Memory: 22.4M
CGroup: /system.slice/firewalld.service
└─13180 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
Observe que está tanto ativo
quanto ativado
, o que significa que ele iniciará por padrão se o servidor for reiniciado.
Agora que o serviço está em execução, podemos usar o utilitário firewall-cmd
para obter e definir informações de política para o firewall.
Primeiro, vamos listar quais serviços já estão permitidos:
Outputpublic (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Para ver os serviços adicionais que você pode habilitar por nome, digite:
Para adicionar um serviço que deve ser permitido, use a sinalização --add-service
:
Isso adicionaria o serviço http
e permitiria o tráfego TCP de entrada para a porta 80
. A configuração será atualizada após recarregar o firewall:
Lembre-se de que você terá que abrir explicitamente o firewall (com serviços ou portas) para quaisquer serviços adicionais que possa configurar posteriormente.
Passo 5 — Habilitando Acesso Externo para Seu Usuário Regular
Agora que temos um usuário regular não-root para uso diário, precisamos garantir que possamos usá-lo para SSH em nosso servidor.
Nota: Até verificar que pode fazer login e usar sudo
com o seu novo usuário, recomendamos permanecer conectado como root. Desta forma, se tiver problemas, pode solucioná-los e fazer as alterações necessárias como root. Se estiver a utilizar um Droplet da DigitalOcean e tiver problemas com a conexão SSH do seu root, pode acessar o Droplet usando a Consola DigitalOcean.
O processo de configuração do acesso SSH para o seu novo usuário depende de se a conta root do servidor utiliza uma senha ou chaves SSH para autenticação.
Se a Conta Root Utilizar 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 o SSH. Você pode SSH para a sua nova conta de usuário abrindo uma nova sessão de terminal e usando SSH com o seu novo nome de usuário:
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:
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).
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 configuração de chaves SSH no Rocky Linux 8 para aprender como configurar 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á desativada para SSH. Você precisará adicionar uma cópia da sua chave pública 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 estrutura de diretório para nossa nova conta de usuário.
A maneira mais simples de copiar os arquivos com a propriedade e permissões corretas é 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:
Nota: O comando rsync
trata de forma diferente as fontes e destinos que terminam com uma barra inclinada (/) daqueles que não têm uma barra inclinada no final. Ao usar o rsync
abaixo, certifique-se de que o diretório de origem (~/.ssh
) não inclui uma barra inclinada no final (verifique para garantir que você não esteja usando ~/.ssh/
).
Se você adicionar acidentalmente uma barra inclinada no final do comando, o rsync
copiará o conteúdo do diretório ~/.ssh
da conta raiz para o diretório principal do usuário sudo
em vez de copiar toda a estrutura do diretório ~/.ssh
. Os arquivos estarão no local errado e o SSH não conseguirá encontrá-los e usá-los.
Agora, de volta a um novo terminal em sua máquina local, abra uma nova sessão SSH com seu usuário não-root:
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:
Você será solicitado a inserir a senha de usuário regular ao usar o sudo
pela primeira vez em cada sessão (e periodicamente depois).
Conclusão
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-rocky-linux-8