Passos recomendados adicionais para novos servidores CentOS 7

Introdução

Após configurar a configuração mínima para um novo servidor, existem algumas etapas adicionais altamente recomendadas na maioria dos casos. Neste guia, vamos continuar a configuração dos nossos servidores abordando algumas procedimentos recomendados, mas opcionais.

Pré-requisitos e objetivos

Antes de começar este guia, você deve passar pelo guia de configuração inicial do servidor CentOS 7. Isso é necessário para configurar as suas contas de usuário, configurar a elevação de privilégios com sudo e aproveitar a segurança do SSH.

Uma vez que você tenha concluído o guia acima, você pode continuar com este artigo. Neste guia, nós iremos concentrar na configuração de alguns componentes opcionais mas recomendados. Isso envolverá configurar o nosso sistema com um firewall e um arquivo de swap, e configurar a sincronização do Protocolo de Tempo de Rede.

Configurando um Firewall Básico

As firewalls fornecem um nível básico de segurança para o seu servidor. Essas aplicações são responsáveis por negar tráfego para todas as portas no seu servidor, com exceções para portas/serviços que você aprovou. O CentOS é entregue com um firewall chamado firewalld. Uma ferramenta chamada firewall-cmd pode ser usada para configurar as políticas de firewall. Nossa estratégia básica será para travar tudo que não tem um bom motivo para manter aberto. Primeiro, instale firewalld:

  1. sudo yum install firewalld

O serviço firewalld tem a capacidade de fazer modificações sem perder as conexões atuais, portanto, podemos ligá-lo antes de criar nossas exceções:

  1. sudo systemctl start firewalld

Agora que o serviço está rodando, podemos usar a ferramenta firewall-cmd para obter e definir informações de política para a firewall. O aplicativo firewalld usa o conceito de “áreas” para rotular a confiabilidade de outros hosts em uma rede. Essa rotulagem dá a você a capacidade de atribuir regras diferentes dependendo de quão confiável você considera uma rede.

Neste guia, nós apenas ajustaremos as políticas para a área padrão. Quando nós recarregamos nossa firewall, esta será a área aplicada a nossas interfaces. Devíamos começar adicionando exceções à nossa firewall para serviços aprovados. O mais essencial deles é o SSH, já que precisamos manter o acesso remoto de administração ao servidor.

Se você não modificou a porta na qual o gerente de SSH está rodando, você pode habilitar o serviço pelo nome digitando:

  1. sudo firewall-cmd --permanent --add-service=ssh

Se você alterou o porto do SSH para seu servidor, você deve especificar explicitamente o novo porto. Você também precisará incluir o protocolo que o serviço utiliza. Apenas diga o seguinte se o servidor SSH já foi reiniciado para usar o novo porto:

  1. sudo firewall-cmd --permanent --remove-service=ssh
  2. sudo firewall-cmd --permanent --add-port=4444/tcp

Este é o mínimo necessário para manter acesso administrativo ao servidor. Se você planeja executar serviços adicionais, você precisa abrir o firewall para esses serviços também.

Se você planejar hospedar um servidor HTTP comum, você deve habilitar o serviço http:

  1. sudo firewall-cmd --permanent --add-service=http

Se você planejar hospedar um servidor de email com SSL/TLS habilitado, você deve permitir o tráfego para https também:

  1. sudo firewall-cmd --permanent --add-service=https

Se você precisar SMTP habilitado, você pode digitar:

  1. sudo firewall-cmd --permanent --add-service=smtp

Para ver quaisquer serviços adicionais que você possa habilitar por nome, digite:

  1. sudo firewall-cmd --get-services

Quando você estiver terminado, você pode ver a lista de exceções que serão implementadas digitando:

  1. sudo firewall-cmd --permanent --list-all

Quando estiver pronto, recarregue o firewall:

  1. sudo firewall-cmd --reload

Se tudo funcionar como esperado, você deve garantir que o firewall será iniciado no boot:

  1. sudo systemctl enable firewalld

Lembre-se de que você deve explicitamente abrir o firewall (com serviços ou portas) para quaisquer serviços adicionais que possa configurar depois.

Configure Timezones and Network Time Protocol Synchronization

A próxima etapa é ajustar as configurações de localização do servidor e configurar a sincronização do Protocolo de Tempo da Rede (NTP).

A primeira etapa consistirá em garantir que o seu servidor opera no fuso horário correto. A segunda etapa consistirá em configurar o sistema para sincronizar sua hora de sistema com um padrão mantido por uma rede global de servidores NTP. Isso ajudará a prevenir algum comportamento inconsistente que pode surgir de relógios desafiantes.

Configure Timezones

O primeiro passo é definir o fuso horário do servidor. Essa é uma procedimento muito simples que pode ser concluído usando o comando timedatectl.

Primeiro, veja a lista de fusos horários disponíveis digitando:

  1. sudo timedatectl list-timezones

Este irá mostrar-lhe a lista de fusos horários disponíveis para o seu servidor. Quando encontrar a configuração de região/fuso horário que é correta para o seu servidor, defina-la digitando:

  1. sudo timedatectl set-timezone region/timezone

Por exemplo, para definir o tempo oriental dos Estados Unidos, você pode digitar:

  1. sudo timedatectl set-timezone America/New_York

Seu sistema será atualizado para usar o fuso horário selecionado. Você pode confirmar isso digitando:

  1. sudo timedatectl

Você pode confirmar esta configuração digitando:Configure NTP Synchronization

Agora que você tenha sua área de tempo definida, deve configurar o NTP. Isso permitirá que seu computador se mantenha sincronizado com outros servidores, resultando em mais predicabilidade em operações que dependem de ter a hora correta.

Para sincronização NTP, vamos usar um serviço chamado ntp, que pode ser instalado do repositório padrão do CentOS:

  1. sudo yum install ntp

Agora você precisa iniciar o serviço para esta sessão. Você também precisa habilitar o serviço para que ele seja automaticamente iniciado cada vez que o servidor seboote:

  1. sudo systemctl start ntpd
  2. sudo systemctl enable ntpd

O servidor agora irá automaticamente corrigir sua hora do sistema para alinhar com os servidores globais.

Criar uma Arquivo de Troca

Adicionar “swap” ao servidor Linux permite que o sistema mover o menos frequentemente acessado de um programa em execução da memória para um local no disco. Acessar dados armazenados no disco é muito mais lento que acessar a memória RAM, mas ter swap disponível pode ser a diferença entre sua aplicação sobreviver e estourar. Isso é especialmente útil se você planejar hospedar bancos de dados na sua rede.

A opinião sobre o tamanho ideal de um espaço de troca varia significativamente dependendo da fonte consultada. Geralmente, um valor igual ou duplo do tamanho de RAM no seu sistema é um bom ponto de partida.

Alocar a quantidade de espaço que deseja usar para sua arquivo de troca usando o utilitário fallocate. Por exemplo, se precisarmos de um arquivo de 4 Gigabytes, podemos criar um arquivo de troca localizado em /swapfile digitando:

  1. sudo fallocate -l 4G /swapfile

Após criar o arquivo, é necessário restringir o acesso para que outros usuários ou processos não vejam o que foi escrito lá:

  1. sudo chmod 600 /swapfile

Agora temos um arquivo com as permissões corretas. Para informar ao sistema que formate o arquivo para troca, podemos digitar:

  1. sudo mkswap /swapfile

Agora, digite para o sistema que ele possa usar o arquivo de troca:

  1. sudo swapon /swapfile

Nossa sessão está usando o arquivo de troca, mas precisamos modificar um arquivo do sistema para que o servidor faça isso automaticamente na inicialização. Você pode fazer isso digitando:

  1. sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

Com esta adição, seu sistema deve usar sua imagem de troca automaticamente em cada inicialização.

Onde Ir Para Mais?

Você agora tem uma configuração muito decente para seu servidor Linux. Desde aqui, há muitos lugares para ir. Primeiro, você pode desejar fazer um snapshot de sua configuração atual.

Tome um Snapshot da Sua Configuração Atual

Se você estiver contente com sua configuração e deseja usar esta como base para instalações futuras, você pode tomar um snapshot do seu servidor pelo painel de controle do DigitalOcean. A partir de outubro de 2016, os snapshots custam $0,05 por gigabyte por mês baseado no espaço utilizado dentro do sistema de arquivos.

Para fazer isso, desligue seu servidor da linha de comandos. É possível fazer um snapshots de um sistema em execução, mas desligar garante que os arquivos no disco estão em um estado consistente:

  1. sudo poweroff

Agora, na página de controle do DigitalOcean, você pode tirar uma imagem visitando a aba “Snapshots” do seu servidor:

Após tirar sua imagem, você será capaz de usar essa imagem como base para instalações futuras selecionando a imagem de snapshot da sua lista de “Minhas Imagens” durante o processo de criação:

Resources Adicionais e Próximos Passos

A partir deste ponto, o caminho que você escolher depende completamente de o que você quer fazer com seu servidor. A lista de guias a seguir é de absolutamente não exaustiva, mas representa algumas configurações mais comuns que os usuários tentam a seguir:

Conclusão

Até este ponto, você deve saber como configurar uma base sólida para seus novos servidores. Esperamos que você também tenha uma boa ideia sobre seus próximos passos. Sinta-se à vontade para explorar o site em busca de mais ideias que você pode implementar no seu servidor.

Source:
https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers