Pesquisa de site

LFCE: Instalando serviços de rede e configurando inicialização automática na inicialização - Parte 1


Um Linux Foundation Certified Engineer (LFCE) está preparado para instalar, configurar, gerenciar e solucionar problemas de serviços de rede em sistemas Linux e é responsável pelo design e implementação da arquitetura do sistema. .

Apresentando o Programa de Certificação Linux Foundation.

Nesta série de 12 artigos, intitulada Preparação para o exame LFCE (Linux Foundation Certified Engineer), abordaremos os domínios e competências necessários em Ubuntu, CentOS e openSUSE:

Instalando serviços de rede

Quando se trata de configurar e usar qualquer tipo de serviço de rede, é difícil imaginar um cenário do qual o Linux não possa fazer parte. Neste artigo mostraremos como instalar os seguintes serviços de rede no Linux (cada configuração será abordada nos próximos artigos separados):

  1. Servidor NFS (sistema de arquivos de rede)
  2. Servidor Web Apache
  3. Servidor Proxy Squid + SquidGuard
  4. Servidor de e-mail (Postfix + Dovecot) e
  5. Iptables

Além disso, queremos garantir que todos esses serviços sejam iniciados automaticamente na inicialização ou sob demanda.

Devemos observar que mesmo quando você pode executar todos esses serviços de rede na mesma máquina física ou servidor virtual privado, uma das primeiras “regras” de segurança de rede diz aos administradores de sistema para evitarem fazer assim na medida do possível. Qual é o julgamento que apóia essa afirmação? É bastante simples: se por algum motivo um serviço de rede for comprometido em uma máquina que executa mais de um deles, pode ser relativamente fácil para um invasor comprometer o resto também.

Agora, se você realmente precisa instalar vários serviços de rede na mesma máquina (em um laboratório de testes, por exemplo), certifique-se de habilitar apenas aqueles que você precisa em determinado momento, e desativá-los posteriormente.

Antes de começarmos, precisamos esclarecer que o artigo atual (juntamente com o restante das séries LFCS e LFCE) está focado em uma perspectiva baseada no desempenho e, portanto, não pode examine todos os detalhes teóricos sobre os tópicos abordados. No entanto, apresentaremos cada tópico com as informações necessárias como ponto de partida.

Para usar os seguintes serviços de rede, você precisará desabilitar o firewall por enquanto até aprendermos como permitir o tráfego correspondente através do firewall.

Observe que isso NÃO é recomendado para uma configuração de produção, mas faremos isso apenas para fins de aprendizado.

Em uma instalação padrão do Ubuntu, o firewall não deve estar ativo. No openSUSE e no CentOS, você precisará desabilitá-lo explicitamente:

systemctl stop firewalld
systemctl disable firewalld 
or
or systemctl mask firewalld

Dito isto, vamos começar!

Instalando um servidor NFSv4

O NFS em si é um protocolo de rede, cuja versão mais recente é o NFSv4. Esta é a versão que usaremos ao longo desta série.

Um servidor NFS é a solução tradicional que permite que clientes Linux remotos montem seus compartilhamentos em uma rede e interajam com esses sistemas de arquivos como se estivessem montados localmente, permitindo centralizar os recursos de armazenamento para a rede.

No CentOS
yum update && yum install nfs-utils
No Ubuntu
aptitude update && aptitude install nfs-kernel-server
No OpenSUSE
zypper refresh && zypper install nfsserver

Para obter instruções mais detalhadas, leia nosso artigo que explica como configurar o servidor e cliente NFS em sistemas Linux.

Instalando o Servidor Web Apache

O servidor web Apache é uma implementação FOSS robusta e confiável de um servidor HTTP. No final de outubro de 2014, o Apache alimentava 385 milhões de sites, o que lhe confere uma participação de mercado de 37,45%. Você pode usar o Apache para servir um site independente ou vários hosts virtuais em uma máquina.

yum update && yum install httpd		[On CentOS]
aptitude update && aptitude install apache2 		[On Ubuntu]
zypper refresh && zypper install apache2		[On openSUSE]

Para obter instruções mais detalhadas, leia nossos artigos a seguir que mostram como criar hosts virtuais Apache baseados em IP e baseados em nome e como proteger o servidor web Apache.

  1. Hospedagem virtual baseada em Apache IP e baseada em nome
  2. Dicas de segurança e proteção do servidor Web Apache

Instalando o Squid e o SquidGuard

Squid é um servidor proxy e daemon de cache web e, como tal, atua como intermediário entre vários computadores clientes e a Internet (ou um roteador conectado à Internet), enquanto acelera solicitações frequentes armazenando conteúdo web em cache e resolução de DNS ao mesmo tempo. Ele também pode ser usado para negar (ou conceder) acesso a determinados URLs por segmento de rede ou com base em palavras-chave proibidas, e mantém um arquivo de log de todas as conexões feitas com o mundo externo por usuário.

Squidguard é um redirecionador que implementa listas negras para aprimorar o squid e se integra perfeitamente a ele.

yum update && yum install squid squidGuard			[On CentOS] 
aptitude update && aptitude install squid3 squidguard		[On Ubuntu]
zypper refresh && zypper install squid squidGuard 		[On openSUSE]

Instalando Postfix e Dovecot

Postfix é um agente de transporte de correio (MTA). É o aplicativo responsável por rotear e entregar mensagens de e-mail de servidores de e-mail de origem para destino, enquanto dovecot é um servidor de e-mail IMAP e POP3 amplamente usado que busca mensagens do MTA e as entrega na caixa de correio do usuário correto.

Plugins Dovecot para vários sistemas de gerenciamento de banco de dados relacional também estão disponíveis.

yum update && yum install postfix dovecot 				[On CentOS] 
aptitude update && aptitude postfix dovecot-imapd dovecot-pop3d 	[On Ubuntu]
zypper refresh && zypper postfix dovecot				[On openSUSE]	

Sobre Iptables

Em poucas palavras, um firewall é um recurso de rede usado para gerenciar o acesso de ou para uma rede privada e para redirecionar o tráfego de entrada e saída com base em certas regras.

Iptables é uma ferramenta instalada por padrão no Linux e serve como frontend para o módulo netfilter do kernel, que é o responsável final pela implementação de um firewall para realizar funcionalidades de filtragem/redirecionamento de pacotes e tradução de endereços de rede.

Como o iptables é instalado no Linux por padrão, você só precisa ter certeza de que ele está realmente em execução. Para fazer isso, devemos verificar se os módulos do iptables estão carregados:

lsmod | grep ip_tables

Se o comando acima não retornar nada, significa que o módulo ip_tables não foi carregado. Nesse caso, execute o seguinte comando para carregar o módulo.

modprobe -a ip_tables

Leia também: Guia básico para Linux Iptables Firewall

Configurando o início automático dos serviços na inicialização

Conforme discutido em Gerenciando processos e serviços de inicialização do sistema – Parte 7 da série de 10 artigos sobre a certificação LFCS, existem vários gerenciadores de sistemas e serviços disponíveis no Linux. Qualquer que seja sua escolha, você precisa saber como iniciar, parar e reiniciar serviços de rede sob demanda e como permitir que eles sejam iniciados automaticamente na inicialização.

Você pode verificar qual é o seu sistema e gerenciador de serviços executando o seguinte comando:

ps --pid 1

Dependendo da saída do comando acima, você usará um dos seguintes comandos para configurar se cada serviço deve iniciar automaticamente na inicialização ou não:

Baseado em systemd
----------- Enable Service to Start at Boot -----------
systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
systemctl disable [service] # prevent [service] from starting at boot
Baseado em sysvinit
----------- Start Service at Boot in Runlevels A and B -----------
chkconfig --level AB [service] on 
-----------  Don’t Start Service at boot in Runlevels C and D -----------
chkconfig --level CD service off 
Baseado em startup

Certifique-se de que o script /etc/init/[service].conf exista e contenha a configuração mínima, como:

When to start the service
start on runlevel [2345]
When to stop the service
stop on runlevel [016]
Automatically restart process in case of crash
respawn
Specify the process/command (add arguments if needed) to run
exec /absolute/path/to/network/service/binary arg1 arg2

Você também pode verificar a Parte 7 da série LFCS (à qual acabamos de nos referir no início desta seção) para outros comandos úteis para gerenciar serviços de rede sob demanda.

Resumo

Agora você deve ter todos os serviços de rede descritos neste artigo instalados e possivelmente em execução com a configuração padrão. Em artigos posteriores exploraremos como configurá-los de acordo com nossas necessidades, portanto, fique atento! E sinta-se à vontade para compartilhar seus comentários (ou postar perguntas, se tiver alguma) sobre este artigo usando o formulário abaixo.

Links de referência
  1. Sobre a LFCE
  2. Por que obter uma certificação Linux Foundation?
  3. Inscreva-se para o exame LFCE