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
:
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:
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:
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:
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
:
Se você planejar hospedar um servidor de email com SSL/TLS habilitado, você deve permitir o tráfego para https
também:
Se você precisar SMTP habilitado, você pode digitar:
Para ver quaisquer serviços adicionais que você possa habilitar por nome, digite:
Quando você estiver terminado, você pode ver a lista de exceções que serão implementadas digitando:
Quando estiver pronto, recarregue o firewall:
Se tudo funcionar como esperado, você deve garantir que o firewall será iniciado no boot:
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:
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:
Por exemplo, para definir o tempo oriental dos Estados Unidos, você pode digitar:
Seu sistema será atualizado para usar o fuso horário selecionado. Você pode confirmar isso digitando:
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:
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:
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:
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á:
Agora temos um arquivo com as permissões corretas. Para informar ao sistema que formate o arquivo para troca, podemos digitar:
Agora, digite para o sistema que ele possa usar o arquivo de troca:
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:
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:
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:
- Configurando uma pilha LAMP (Linux, Apache, MySQL/MariaDB, PHP)
- Configurando uma pilha LEMP (Linux, Nginx, MySQL/MariaDB, PHP)
- Instalando o CMS WordPress
- Instalando o Node.js
- Instalando o Puppet para gerenciar sua infraestrutura
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.