Introdução
Após configurar a configuração mínima para um novo servidor, há algumas etapas adicionais altamente recomendadas na maioria dos casos. Neste guia, continuaremos a configuração de 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 suas contas de usuário, configurar a elevação de privilégios com sudo
e asegurar o SSH para melhor segurança.
Uma vez que você tenha concluído o guia acima, pode continuar com este artigo. Neste guia, nós iremos focar na configuração de alguns componentes opcionais mas recomendados. Isto envolverá configurar nosso sistema com um firewall e um arquivo de swap, e configurar a sincronização do Protocolo de Tempo de Rede (NTP).
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
. Um ferramenta chamada firewall-cmd
pode ser usada para configurar suas políticas de firewall. Nossa estratégia básica será para travar tudo que não tem um bom motivo para permanecer 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 o firewall. O firewalld
aplicação usa o conceito de “áreas” para rotular a confiabilidade de outros hospedeiros em uma rede. Essa rotulagem dá a você a capacidade de atribuir regras diferentes dependendo de quão confiável uma rede é.
Neste guia, vamos apenas ajustar as políticas para a área padrão. Quando recarregarmos o nosso firewall, esta será a área aplicada a nossas interfaces. Deve começar adicionando exceções à sua firewall para serviços aprovados. O mais essencial é o SSH, já que precisamos manter o acesso remoto de gerenciamento 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 precisa incluir o protocolo que o serviço utiliza. Escreva apenas o seguinte se seu 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ê precisará abrir o firewall para esses serviços também.
Se você planeja rodar um servidor HTTP comum, você deve permitir o tráfego para o http
.
Se você planeja rodar um servidor de email com SSL/TLS habilitado, você deve permitir o tráfego para https
também:
Se você precisar SMTP habilitado, diga-se:
Para ver uma lista adicional de serviços que pode habilitar por nome, diga:
Quando terminar, 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 mais tarde.
Configure Timezones and Network Time Protocol Synchronization
A próximo passo é ajustar as configurações de localização do servidor e configurar a sincronização do Protocolo de Tempo da Rede (NTP).
O primeiro passo consistirá em garantir que o seu servidor opera na zona horária correta. O segundo passo consistirá em configurar o sistema para sincronizar sua hora de sistema com o relógio padrão mantido por uma rede mundial de servidores NTP. Isso ajudará a prevenir algum comportamento inconsistente que pode surgir de relógios desafiantes.
Configure Timezones
Primeiro, definir a zona horária do servidor. Este é um procedimento muito simples que pode ser concluído usando o comando timedatectl
.
Agora, veja a lista de fusos horários disponíveis digitando:
Esta linha vai 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 conferir isto digitando:
Agora, configure a sincronização do NTP.
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 operações mais predíveis que dependem da 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 for arrancado:
O servidor agora irá automaticamente corrigir sua hora do sistema para alinhar com outros servidores globais.
Criar uma Arquivo de Troca
Adicionar “swap” a um servidor Linux permite que o sistema mover o menos frequentemente acessado de um programa em execução de memória para um local no disco. Acessar dados armazenados em disco é muito lento comparado ao acesso à memória RAM, mas ter swap disponível pode ser a diferença entre sua aplicação sobreviver e falhar. Isso é especialmente útil se você planejar hospedar quaisquer bancos de dados na sua rede.
A opinião sobre o tamanho ideal de uma área de troca varia significativamente dependendo do fonte consultada. Normalmente, uma quantidade igual ou dupla do tamanho da memória em seu sistema é um bom ponto de partida.
Alocar a espaço que você deseja usar para sua arquivo de troca usando o utilitario 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, precisamos restringir o acesso ao arquivo para que outros usuários ou processos não vejam o que foi escrito lá:
Agora temos um arquivo com permissões corretas. Para informar ao nosso sistema que formate o arquivo para troca, podemos digitar:
Agora, digite para o sistema que ele possa usar o arquivo de troca, digite:
Nossa sessão está usando o arquivo de troca, mas precisamos modificar um arquivo do sistema para que o servidor faça isto automaticamente à cada boote. Você pode fazer isso digitando:
Com esta adição, seu sistema deve usar sua imagem de troca automaticamente em cada boote.
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ê está contente com sua configuração e deseja usar esta como base para instalações futuras, você pode tomar um snapshot do seu servidor através do painel de controle DigitalOcean. A partir de outubro de 2016, os snapshots custam $0,05 por gigabyte por mês baseado na quantidade de espaço utilizado dentro do sistema de arquivos.
Para fazer isso, desligue seu servidor da linha de comandos. Enquanto é possível fazer um snapshots de um sistema em execução, desligar garante que os arquivos na disquete estão em um estado consistente:
Agora, no painel de controle do DigitalOcean, você pode fazer um snapshot 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 “My Snapshots” durante o processo de criação:
A seguir, o caminho que voce escolherá depende completamente sobre o que voce deseja fazer com seu servidor. A lista de guias a seguir não é exaustiva, mas representa algumas configurações mais comuns que os usuários tentam a seguir:
A partir desta etapa, o seu próximo passo depende totalmente de quais configurações você deseja realizar:
- 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ê deveria saber como configurar uma base sólida para seus novos servidores. Espero que você também tenha uma boa ideia para seus próximos passos. Sem problemas, explore o site para encontrar mais ideias que você pode implementar em seu servidor.