Configuração e configuração inicial do servidor no RHEL 7
Red Hat Enterprise Linux (RHEL) é um sistema operacional baseado em Linux da Red Hat projetado para empresas. Este artigo é um guia prático sobre como realizar a instalação e configurações iniciais do servidor no RHEL 7. Neste tutorial, orientaremos você nas primeiras etapas essenciais para preparar um servidor RHEL 7 para uso.
Seção 1: Efetuando login como Root
Após a inicialização do servidor, você poderá fazer login como usuário root. O usuário root é o usuário administrativo em um ambiente Linux com privilégios muito amplos.
Exemplo -
ssh root@your_server_ip
Seção 2: Criando um novo usuário
Após fazer login como root, é recomendado criar uma conta de usuário alternativa com privilégios de superusuário para uso diário.
Exemplo -
adduser username
Depois de configurar o usuário, conceda-lhe privilégios de superusuário digitando -
Exemplo -
usermod -aG wheel username
Seção 3: Configurando um Firewall Básico
Os servidores RHEL 7 podem usar a ferramenta firewall-cmd para configurar um firewall básico. Antes disso, precisamos instalar o software firewalld.
Exemplo -
yum install firewalld
Saída -
Loaded plugins: langpacks, ulninfo
Resolving Dependencies
--> Running transaction check
---> Package firewalld.noarch 0:0.8.4-1.el7 will be installed
--> Processing Dependency: python3-firewall = 0.8.4-1.el7 for package: firewalld-0.8.4-1.el7.noarch
--> Processing Dependency: firewalld-filesystem = 0.8.4-1.el7 for package: firewalld-0.8.4-1.el7.noarch
--> Processing Dependency: iptables-services >= 1.4.21-28 for package: firewalld-0.8.4-1.el7.noarch
--> Processing Dependency: ipset >= 6.29 for package: firewalld-0.8.4-1.el7.noarch
--> Running transaction check
...
Inicie o serviço firewalld com o seguinte comando -
Exemplo -
systemctl start firewalld
Para garantir que o firewall esteja ativo na inicialização, habilite-o -
Exemplo -
systemctl enable firewalld
Seção 4: Habilitando acesso externo para seu usuário regular
Agora temos uma nova conta de usuário com privilégios de conta regulares. No entanto, às vezes podemos precisar realizar tarefas administrativas. Para evitar sair do nosso usuário normal e fazer login novamente como conta root, podemos configurar o que é conhecido como "superusuário" ou privilégios de root para nossa conta normal.
Exemplo -
visudo
Procure a linha parecida com esta -
root ALL=(ALL:ALL) ALL
Logo abaixo desta linha, copie o formato que você vê aqui, alterando apenas a palavra "root" para fazer referência ao novo usuário ao qual você gostaria de conceder privilégios de superusuário -
username ALL=(ALL:ALL) ALL
Seção 5: Habilitar autenticação baseada em chave SSH
Para segurança adicional, é uma boa ideia habilitar a autenticação baseada em chave SSH e desabilitar a autenticação baseada em senha.
Primeiro, gere um par de chaves SSH em sua máquina local -
Exemplo -
ssh-keygen
Saída -
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:abcdefghijklmnopqrstuvwxyz user@hostname
The key's randomart image is:
+---[RSA 2048]----+
| ..o . |
| . + o |
| . * + o |
| . B + o o |
| o = S . |
| . = = o |
| . o o o |
| . . . |
| |
+----[SHA256]-----+
Você pode então copiar a chave pública para o seu servidor RHEL 7 -
Exemplo -
ssh-copy-id username@your_server_ip
Em seguida, para desabilitar a autenticação por senha, abra o arquivo de configuração SSH usando o seguinte comando -
Exemplo -
sudo vi /etc/ssh/sshd_config
Encontre a linha que contém PasswordAuthentication, remova o comentário excluindo o '#' no início e altere seu valor para 'no'. Deveria ser assim -
PasswordAuthentication no
Salve e feche o arquivo e reinicie o serviço SSH -
Exemplo -
systemctl restart sshd
Seção 6: Atualize seu servidor
Manter seu servidor atualizado é crucial para segurança e estabilidade. Execute o seguinte comando para atualizar o sistema para os pacotes mais recentes -
Exemplo -
yum update
Seção 7: Configurando o Network Time Protocol (NTP)
Outra etapa crucial de configuração do servidor é garantir que o relógio do servidor permaneça preciso. Ajuda na análise de arquivos de log e na coordenação de tarefas com outros servidores. Você pode fazer isso configurando o Network Time Protocol (NTP).
Primeiro, instale o pacote chrony usando yum.
Exemplo -
sudo yum install chrony
Uma vez instalado, inicie o serviço chronyd e habilite-o para iniciar na inicialização -
Exemplo -
sudo systemctl start chronyd
sudo systemctl enable chronyd
Você pode verificar se tudo está funcionando consultando o serviço chronyd -
Exemplo -
chronyc sources -v
Seção 8: Configurando o SELinux
Security-Enhanced Linux (SELinux) é um recurso de segurança do RHEL que fornece o mecanismo para suportar políticas de segurança de controle de acesso. Ele está habilitado por padrão e é recomendado mantê-lo habilitado.
Verifique o status do SELinux usando -
Exemplo -
sestatus
Se não estiver habilitado, você pode habilitá-lo editando o arquivo /etc/selinux/config -
sudo vi /etc/selinux/config
Altere a linha SELINUX= para -
SELINUX=enforcing
Reinicie o seu servidor para que as alterações tenham efeito.
Exemplo -
sudo reboot
Seção 9: Instalar e configurar um servidor Web (Apache)
Muitos servidores são usados para hospedar sites. Apache é uma escolha popular para essa finalidade.
Instale o Apache usando yum -
Exemplo -
sudo yum install httpd
Depois de instalado, você pode iniciar e habilitar o Apache -
Exemplo -
sudo systemctl start httpd
sudo systemctl enable httpd
Para testar se o servidor está funcionando, insira o endereço IP do servidor em um navegador da web -
http://your_server_ip/
Você deverá ver a página de teste padrão do Apache.
Seção 10: Instalar e configurar um servidor de banco de dados (MariaDB)
Um servidor de banco de dados é necessário para a maioria dos aplicativos da web. MariaDB é um servidor de banco de dados popular e de código aberto.
Instale MariaDB usando yum -
Exemplo -
sudo yum install mariadb-server
Inicie e habilite MariaDB -
Exemplo -
sudo systemctl start mariadb
sudo systemctl enable mariadb
Proteja sua instalação do MariaDB -
Exemplo -
sudo mysql_secure_installation
Isso irá guiá-lo através de várias questões onde você pode definir uma senha root e tornar seu servidor de banco de dados mais seguro.
Conclusão
Agora você deve ter uma base sólida para o seu servidor RHEL 7. Isso não termina aqui, no entanto. Dependendo do que você planeja fazer com seu servidor, também pode ser necessário instalar software adicional e configurá-lo para atender às suas necessidades. Lembre-se de sempre ter a segurança em mente ao instalar e configurar seu servidor.