Pesquisa de site

Configuração inicial do servidor com CentOS/RHEL 8


Neste artigo, orientaremos você nas primeiras etapas básicas que você precisa aplicar após instalar um servidor CentOS/RHEL 8 mínimo e sem ambiente gráfico para recuperar as informações sobre o sistema instalado, o hardware sobre o qual o servidor está sendo executado e configurar outras tarefas específicas do sistema, como atualização do sistema, rede, privilégios de root, configurar ssh, gerenciar serviços e outros.

Requisitos

  1. Guia de instalação do CentOS 8
  2. Instalação mínima do RHEL 8
  3. Habilitar assinatura RHEL no RHEL 8

Importante: Você deve ter um Red Hat Subscription Service ativado em seu servidor RHEL 8 para realizar a atualização do sistema e instalação de software.

Etapa 1: atualizar o software do sistema

Primeiro, faça login em seu servidor como usuário root e execute os seguintes comandos para atualizar totalmente o sistema com o kernel mais recente, patches de segurança do sistema, repositórios de software e pacotes.

dnf check-update
dnf update

Assim que o processo de atualização do software terminar, para liberar espaço em disco, você pode excluir todos os pacotes de software baixados com todas as informações dos repositórios em cache executando o seguinte comando.

dnf clean all

Etapa 2: instalar utilitários de sistema

Os seguintes utilitários de sistema podem ser muito úteis para tarefas diárias de administração do sistema: nano, vim editor, wget & curl (utilitários usados principalmente para baixar pacotes pela rede) net-tools (utilitários para gerenciar redes locais) lsof (útil para encontrar lista de arquivos abertos por processo) e conclusão do bash (preenchimento automático da linha de comando).

dnf install nano vim wget curl net-tools lsof bash-completion

Etapa 3: configurar nome de host e rede

No CentOS/RHEL 8, há uma ampla gama de ferramentas incluídas nos repositórios usados para configurar e gerenciar redes, desde a alteração manual do arquivo de configuração de rede até o uso de comandos como ifconfig, ip, nmcli e nmtui.

O utilitário mais fácil que um novato pode usar para definir e gerenciar configurações de rede, como definir o nome do host da rede e configurar o endereço IP estático, é usar o utilitário gráfico de linha de comando nmtui.

Definir nome de host no CentOS 8

Para definir ou alterar o nome do host do sistema, execute o seguinte comando nmtui-hostname, que solicitará que você insira o nome do host da sua máquina e pressione OK para finalizar, conforme ilustrado na imagem abaixo.

nmtui-hostname

Definir endereço IP estático no CentOS 8

Para configurar uma interface de rede, execute o seguinte comando nmtui-edit, que solicitará que você selecione a interface que deseja configurar no menu, conforme mostrado na imagem abaixo.

nmtui-edit

Depois de clicar no botão Editar, você será solicitado a definir as configurações de IP da interface de rede conforme ilustrado na imagem abaixo. Ao terminar, navegue até OK usando [tab] uma chave para salvar a configuração e sair.

Depois de concluir a configuração da rede, você precisa executar o seguinte comando para aplicar as novas configurações de rede, selecionando a interface que deseja gerenciar e clicar na opção Desativar/Ativar para desativar e abrir a interface com as configurações de IP, conforme apresentado na imagem abaixo.

nmtui-connect

Para verificar as definições de configuração da rede, você pode verificar o conteúdo do arquivo de interface ou pode emitir os comandos abaixo.

ifconfig enp0s3
ip a
ping -c2 google.com

Você também pode usar outros utilitários de rede úteis, como ethtool e mii-tool para verificar a velocidade da interface de rede, o status do link de rede e obter informações sobre as interfaces de rede da máquina.

ethtool enp0s3
mii-tool enp0s3

Um aspecto importante da rede da sua máquina, é importante listar todos os soquetes de rede abertos para verificar quais serviços estão escutando em quais portas e qual é o status das conexões de rede estabelecidas e listar todos os arquivos que são abertos pelos processos.

netstat -tulpn
ss -tulpn
lsof -i4 -6

Etapa 4: crie uma nova conta de usuário

É sempre aconselhável ter um usuário normal com permissões de root para realizar tarefas administrativas quando necessário. Para atribuir privilégios de root a um usuário normal, primeiro crie um usuário com o comando useradd, defina a senha e adicione um usuário ao grupo wheel administrativo.

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

Para verificar se o novo usuário tem privilégios de root, faça login no sistema com as credenciais do usuário e execute o comando dnf com permissões Sudo conforme mostrado.

su - ravisaive
sudo dnf update

Etapa 5: configurar o login SSH sem senha no CentOS 8

Para aumentar a segurança do seu servidor, configure uma autenticação SSH sem senha para seu novo usuário, gerando um par de chaves SSH – que contém uma chave pública e uma chave privada, mas você precisa criar um. Isso aumentará a segurança do seu servidor, exigindo uma chave SSH privada para conectar-se ao sistema.

su - ravisaive
ssh-keygen -t RSA

Assim que a chave for gerada, será solicitado que você insira a senha para proteger a chave privada. Você pode inserir uma senha forte ou optar por deixá-la vazia se quiser automatizar tarefas administrativas por meio do servidor SSH.

Depois que a chave SSH for gerada, você precisará copiar o par de chaves públicas gerado para um servidor remoto executando o comando ssh-copy-id com o nome de usuário e o endereço IP do servidor remoto, conforme mostrado.

ssh-copy-id [email 

Depois que a chave SSH for copiada, você pode tentar fazer login em seu servidor Linux remoto usando a chave privada como método de autenticação. Você deverá conseguir fazer login automaticamente sem que o servidor SSH solicite uma senha.

[email 

Etapa 6: Protegendo Logins Remotos SSH

Aqui, protegeremos um pouco mais nosso servidor desabilitando o acesso SSH remoto à conta root no arquivo de configuração SSH.

vi /etc/ssh/sshd_config

Encontre a linha que diz #PermitRootLogin yes, remova o comentário da linha excluindo # do início da linha e modifique a linha para.

PermitRootLogin no

Depois, reinicie o servidor SSH para aplicar as novas alterações recentes.

systemctl restart sshd

Agora verifique a configuração tentando fazer login como conta root, você obterá o erro de acesso SSH Permission Denied conforme mostrado.

ssh [email 

Existem cenários em que você pode querer desconectar automaticamente todas as conexões SSH remotas com o seu servidor após um determinado período de inatividade.

Etapa 7: configurar o firewall no CentOS 8

No CentOS/RHEL 8, o firewall padrão é o Firewalld, que é usado para gerenciar regras de iptables no servidor. Para ativar e iniciar o serviço firewalld no servidor, execute os seguintes comandos.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Para abrir uma conexão de entrada para um serviço específico (SSH), primeiro você precisa verificar se o serviço está presente nas regras do firewalld e, em seguida, adicionar a regra para o serviço adicionando a opção --permanent aos comandos conforme mostrado.

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

Se você deseja abrir conexões de entrada para outros serviços de rede, como HTTP ou SMTP, basta adicionar as regras conforme mostrado, especificando o nome do serviço.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

Para visualizar todas as regras de firewall no servidor, execute o seguinte comando.

firewall-cmd --permanent --list-all

Etapa 8: remover serviços indesejados no CentOS 8

É altamente recomendável que após instalar um novo servidor CentOS/RHEL 8, você precise remover e desabilitar serviços indesejados executados por padrão no servidor para reduzir os ataques ao servidor.

Para listar todos os serviços de rede em execução, incluindo TCP e UDP no servidor, execute o comando ss ou o comando netstat conforme ilustrado no exemplo abaixo.

ss -tulpn
OR
netstat -tulpn

Os comandos acima listarão alguns serviços interessantes que estão rodando por padrão no servidor, como o servidor de e-mail Postfix. Se você não planeja hospedar o sistema de correio no servidor, deverá interrompê-lo e removê-lo do sistema conforme mostrado.

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

Além do comando ss e do comando netstat, você também pode executar os comandos ps, top ou pstree para descobrir e identificar todos os serviços indesejados e removê-los do sistema.

dnf install psmisc
pstree -p

Etapa 9: gerenciar serviços no CentOS 8

No CentOS/RHEL 8, todos os serviços e daemons são gerenciados por meio de um comando systemctl, e você pode usar este comando para listar todos os serviços ativos, em execução, encerrados ou com falha.

systemctl list-units

Para verificar se um daemon ou serviço é habilitado automaticamente durante a inicialização do sistema, emita o seguinte comando.

systemctl list-unit-files -t service

Para saber mais sobre o comando systemctl, leia nosso artigo que explica – Como gerenciar serviços usando ‘Systemctl’ no Linux.

Isso é tudo! Neste artigo, explicamos algumas configurações e comandos básicos que todo administrador de sistema Linux precisa conhecer e aplicar em um sistema CentOS/RHEL 8 recém-instalado ou para executar tarefas diárias no sistema. .