Introdução
Ao criar um novo servidor Rocky Linux 8 pela primeira vez, existem algumas etapas de configuração que você deve realizar logo no início como parte da configuração básica. Isso aumentará a segurança e a 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 do usuário root. Se você ainda não se conectou ao seu servidor, pode seguir nossa documentação sobre como conectar-se ao seu Droplet com SSH, que aborda este processo em detalhes.
Se você ainda não está conectado ao seu servidor, faça login como usuário root agora 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 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 frase de senha, você pode ser solicitado a inserir a frase de senha na primeira vez que usar a chave a cada sessão. Se esta for a primeira vez que você fizer 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, é desencorajado o uso regular dela. Isso ocorre porque parte do poder inerente à conta de root é a capacidade de fazer alterações muito destrutivas, até 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 poderá obter privilégios aumentados quando necessário.
Passo 2 — Criando um Novo Usuário
Depois de estar logado 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 inserir a senha duas vezes. Depois de 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 podemos precisar executar tarefas administrativas.
Para evitar ter que sair do nosso usuário regular e entrar novamente como usuário 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 realizar 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 no seu servidor, exceto para aquelas portas/serviços que você tenha aprovado explicitamente. O Rocky Linux tem um serviço chamado firewalld
para realizar essa função. Uma ferramenta chamada firewall-cmd
é usada para configurar políticas de firewall do firewalld
.
Nota: Se seus servidores estiverem sendo executados na DigitalOcean, você pode opcionalmente usar Firewalls da Nuvem DigitalOcean em vez do firewalld
. Recomendamos usar apenas um firewall por vez para evitar regras conflitantes que possam ser difíceis de depurar.
Primeiro, instale o firewalld
:
A configuração padrão do firewalld
permite conexões ssh
, então podemos ligar o firewall imediatamente:
Verifique o status do serviço para garantir que ele iniciou:
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
Note que está tanto ativo
quanto habilitado
, o que significa que ele será iniciado 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 pelo nome, digite:
Para adicionar um serviço que deve ser permitido, use a flag --add-service
:
Isso adicionaria o serviço http
e permitiria tráfego TCP de entrada para a porta 80
. A configuração será atualizada depois de 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 você 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 podemos usá-lo para SSH em nosso servidor.
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á solucioná-los e fazer as alterações necessárias como root. Se estiver usando um Droplet da DigitalOcean e tiver problemas com sua conexão SSH root, você pode acessar o 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 em sua conta root usando uma senha, então a autenticação por senha está habilitada para SSH. Você pode acessar SSH com sua nova conta de usuário abrindo uma nova sessão do terminal e usando SSH com 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 a autenticação baseada em chaves.
Se a Conta Root Usa Autenticação de 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 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.
A maneira mais simples de copiar os arquivos com as permissões e propriedades corretas é com o comando rsync
. Isso 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 origens e destinos que terminam com uma barra final em relação àqueles sem uma barra final. Ao usar rsync
abaixo, certifique-se de que o diretório de origem (~/.ssh
) não inclui uma barra final (verifique para garantir que você não esteja usando ~/.ssh/
).
Se você adicionar acidentalmente uma barra final ao comando, o rsync
irá copiar o conteúdo do diretório ~/.ssh
da conta root para o diretório inicial do usuário sudo
em vez de copiar toda a estrutura do diretório ~/.ssh
. Os arquivos estarão na localização errada e o SSH não será capaz de 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ê deve 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 digitar a senha do seu usuário regular ao usar 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 precise em seu servidor agora.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-rocky-linux-8