• My Del.icio.us

Usando o Shorewall

Introdução

Hoje em dia existem muitas ferramentas capazes de configurar regras de firewall em sistemas Linux. Como tudo na vida existem boas soluções para esta finalidade, bem como soluções que são um grande desafio para o sysadmin. Irei abordar neste pequeno artigo como ter o Shorewall (www.shorewall.net), UP and Running. O Shorewall é um pacotes que facilita, padroniza e torna a administração de regras de Firewall baseadas em Iptables muito mais simples , isso acontece pois o Shorewall conta com uma sintaxe de criação de regras própria, sendo assim, mesmo com vários servidores administrados por várias pessoas o trabalho de manter padrões torna-se mais simples. O motivo pelo qual utilizo o Shorewall nas instalações que faço é bem simples: a documentação do projeto é incrível e todas as dúvidas podem ser sanadas com a leitura dos textos produzidos pela comunidade que “toca” o projeto.

Instalação do Shorewall em Sistemas CentOS

A distro que utilizo em meus testes é a CentOS 5.x e particularmente acho uma boa distribuição, muito estável  e segura, para instalar o Shorewall no CentOS é necessário instalar o pacote EPEL, que adicionará ao sistema um repositório com o mesmo nome e que conta com diversos pacotes adicionais que são mantidos por uma comunidade de colaboradores.  Para instalar o EPEL e o shorewall execute:

su -c ‘rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm’

yum install shorewall

Após a instalação teremos 2 diretórios que neste instante merecem nossa atenção , são eles :

/etc/shorewall -> Este diretório contém as configurações do Shorewall

/usr/share/shorewall -> Este diretório contém os arquivos de macro que serão discutidos mais adiante

Configuração básica do Shorewall

Como já sabemos onde se encontram os arquivos de configuração do Shorewall podemos iniciar algumas alterações nas suas configurações, e o primeiro arquivo que deve ser alterado para que o Shorewall funcione é “/etc/shorewall/shorewall.conf” ,  a diretiva “STARTUP_ENABLED” deve ter seu valor alterado para “Yes“, apenas assim o Shorewall irá iniciar a compilação de suas regras.

O arquivo citado acima conta com várias opções, como:

VERBOSITY

LOGFORMAT

LOGFILE

Ativando o Shorewall na inicialização do sistema

Basta executar….

chkconfig –level <nível de inicialização> shorewall on

Exemplo:

chkconfig –level 3 shorewall on

Testando as configurações do Shorewall

Para ter certeza de que o Shorewall não encontrou nenhum erro nas configurações feitas e para não trancá-lo para fora do sistema existe a opção “try” que irá compilar as regras e aplicá-las, porém com um timeout, sendo assim, caso tudo dê errado depois de um tempo , estabelecido por você, as regras serão removidas do sistema e você poderá voltar a utilizá-lo normalmente. Esta funcionalidade é especialmente útil pois existem situações em que estamos fazendo uma manutenção remota e é necessário verificar se as regras aplicadas realmente estão corretas. Para fazer proceder com este tipo de teste execute:

shorewall try -C shell <diretório dos confs do shorewall> <timeout em segundos>

Exemplo:

shorewall try -C shell /etc/shorewall 120

Bom se tudo deu certo neste momento você não será desconectado do servidor 🙂 , caso tudo tenha dado errado, em 120 segundos você poderá conectar-se novamente.

O que vem depois?

Nos próximos posts irei detalhar os passos para a configuração do Shorewall, o texto acima servirá apenas como base para você mesmo começar os testes. Good Luck !