você está aqui: Home  → Arquivo de Mensagens

FWBUILDER - Gestão de Firewall

Colaboração: Niumar André Klein

Data de Publicação: 18 de abril de 2008

Para saber mais sobre esta e outras soluções, visite o estande da Solis no FISL (Forum Internacional do Software Livre), entre os dias 17 e 19 de abril de 2008.

O Firewall Builder, disponível em www.fwbuilder.org, é um gerenciador de firewalls para múltiplos servidores. Isso quer dizer que, em uma única interface, é possível gerenciar diversos firewalls espalhados por vários locais do mundo, bastando para tal, ter uma simples conexão ssh entre uma máquina com Firewall Builder e outros servidores. Note que não há a necessidade de instalá-lo nas máquinas que terão firewall.

A dica abaixo, partirá de um problema proposto e seguirá com sua solução, não sendo apresentadas questões de instalação e configuração de serviços que são pré-requisitos. Presume-se que haja um conhecimento prévio sobre o Firewall Builder 2.1.18.

Você é o administrador de uma rede que interliga diversos servidores, espalhados por seu estado, a um servidor central. Sendo que neste, roda um aplicativo em determinada porta na qual trafegam dados entre todos os membros da rede. Você obviamente deve ter um firewall para cada servidor, restringindo acessos a essa porta. Até aí tudo bem. Mas agora imagine que necessite tocar a porta deste serviço, sendo que sua rede tem 200 servidores! Você vai alterar o firewall de servidor em servidor manualmente? Aí está uma das vantagens de utilizar Firewall Builder. Você poderá alterar somente o objeto que contém a porta do aplicativo e essa alteração passa a valer para todos os firewalls que são gerenciados na mesma interface. Maravilha não é mesmo? Bom pelo menos até aqui. Falta agora, depois de compilado, enviar os scripts de firewall gerados pelo Firewall Builder para todos os 200 servidores. Através de seu instalador você enviará e inicializará os 200 firewalls um a um através de conexões ssh a cada servidor. Nesse ponto você se depara com 3 possíveis situações/problemas:

  • primeira: que usuário e senha utilizar para o processo de instalação via ssh do firewall de cada servidor?

  • segunda: é necessário abrir o ssh para root para ter permissão de iniciar o firewall na máquina remota?

  • terceira: vou ter que digitar 200 vezes meu usuário e senha?

    Para solucionar essas questões, você precisará seguir alguns poucos passos, que devem ser realizados somente nas máquinas que receberão firewalls via Firewall Builder.

    Como primeiro passo, sabe-se que por medida de segurança não permite-se acesso ssh pelo usuário root, faz-se necessária então a criação ou o uso de outro usuário qualquer:

      # useradd -s /bin/bash niumar
      # passwd niumar
    
    Agora, caso você estiver usando a opção AllowUsers do ssh de seu servidor, não esqueça de acrescentar o usuário criado e reiniciar o serviço.

    Abra um conexão ssh com seu novo usuário. Se conseguir está tudo ok e poderemos avançar para o próximo passo.

    O Firewall Builder depois que autenticar via ssh na máquina, copiará o script de firewall para o lugar informado na configuração desse firewall (/tmp/rc.firewall). Você notará que continuará dando erro na instalação do firewall, mas o arquivo foi enviado corretamente. O motivo desse erro é a falta de permissões para execução desse script, composto por diversos comandos que necessitam de permissões de administrador para funcionarem. Como não estamos utilizando o usuário root, o Firewall Builder, por padrão, já utilizará o comando sudo para executar o firewall na máquina remota. Certifique-se de ter o sudo instalado. Antes ainda de configurá-lo, você deverá criar um grupo no qual todos os membros poderão instalar, reiniciar e parar o firewall.

      #groupadd firewall
      #usermod -G firewall niumar
    
    Agora, necessita-se atribuir o grupo firewall ao script que está no /tmp e movê-lo para o /etc/rc.d. (Não esqueça de alterar o caminho e conferir o nome do script na configuração do Firewall Builder).

      #chgrp root:firewall /tmp/rc.firewall
      #chmod 770 /etc/rc.d/rc.firewall
      #mv /tmp/rc.firewall /etc/rc.d/rc.firewall
    
    Seguindo, necessita-se ainda, atribuir as permissões de execução ao script do firewall através do comando sudo utilizado pelo Firewall Builder.

      #sudoedit /etc/sudoers
    

    Acrescente a linha: %firewall ALL=/etc/rc.d/rc.firewall Pronto. Teste a execução desse script logado com seu usuário através do comando:

      #sudo /etc/rc.d/rc.firewall
    

    A senha de seu usuário será solicitada e o firewall executado (dependendo da distro usada, pode ser solicitada a senha de root. Neste caso acrescente também a linha Defaults !lecture,tty_tickets,!fqdn).

    Caso prefiras que seja exigida a senha de root para autenticação do usuário recém criado, torna-se necessário incluir o parâmetro rootpw na opção Defaults do mesmo arquivo e criar um par de chaves pública/privada no ssh para que, na autenticação ssh não seja solicitada senha. Isso é necessário porque o Firewall Builder usa a mesma senha, tanto para logar via ssh como para usar no comando sudo.

    Esses passos já deverão lhe proporcionar o gerenciamento remoto do firewall, com seu usuário específico.

    Existe ainda o problema da necessidade de digitar o usuário e a senha para cada servidor que desejamos instalar.

    Faça o seguinte, repita todos os passos acima para todos os servidores e cuide para sempre utilizar o mesmo usuário e senha. Ao instalar pelo Firewall Builder, marque a opção Batch Install (Executar instalação em lote), coloque uma vez o usuário e senha e espere o Firewall Builder fazer o resto por você.

    Concluindo, a dica acima teve como intuito, promover e mostrar o potencial dessa excelente ferramenta, bem como, através da demonstração de uma situação, mostrar que problemas aparentemente complexos podem ser solucionados com ferramentas básicas.



 

 

Veja a relação completa dos artigos de Niumar André Klein

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script