você está aqui: Home  → Arquivo de Mensagens

Firewall Descomplicado com ipkungfu

Colaboração: Bruno Cunha Torres

Data de Publicação: 23 de Junho de 2003

Fonte: LinuxDicas (http://www.linuxdicas.com.br)

Esses dias estava lendo um pouco sobre firewalls e procurando a melhor forma de proteger meu pc. Depois de muita procura, me deparei com um programa muito bom e simples, chamado ipkungfu. Trata-se de um programa que trata de configurar as regras (chains) para o iptables, precisando apenas de que você configure um arquivo de configuração muito simples.

Vamos dar uma olhada nele: Primeiro baixe a versão mais atual em http://www.linuxkungfu.org/ descompacte o arquivo

  $tar jxvf ipkungfu-0.5.0.tar.bz2

entre no diretorio q é criado

  $cd ipkungfu-0.5.0

como root (faça um su) instale o programa com o comando

  #./install

O executavel vai ser /usr/local/sbin/ipkungfu e o diretorio de configurações /etc/ipkungfu ainda como root, vá até este diretório

  #cd /etc/ipkungfu

Está na hora de configurar seu firewall. É muito simples. Com seu editor de textos favorito, edite o arquivo ipkungfu.conf

  #vi ipkungfu.conf

(espero que você saiba usar o vi. Se não souber use outro, explicar sobre o vi está fora do escopo deste texto.)

A primeira coisa é informar onde se encontra o programa iptables. Faça um type iptables e coloue o caminho no arquivo

  IPTABLES="/sbin/iptables"

Onde fica o modprobe?

  MODPROBE="/sbin/modprobe"

Depois você irá informar qual a sua interface de conexão com a internet (pppx se vc usa conexão discada ou adsl, em outros casos, tente ethx, onde x é o numero da interface)

  EXT_NET="ppp0"

Agora informe a interface de conexão com a rede interna (ethx, provavelmente.)

  INT_NET="eth0"

Informe, agora o campo de endereços que compoem sua rede local

  LOCAL_NET="192.168.0.0/255.255.255.0" < A NAME="notepor exemplo" HREF="#textnotepor exemplo">< SUP>por exemplo

Se quiser fazer mascaramento (é isso?) de IP (IP Masquerading) informe agora. Se vc tem apenas uma maquina, coloque 0

  MASQ_LOCAL_NET=0

Você quer fazer IP forwarding (compartilhar a conexão com outras maquinas)? Se quiser, diga 1 se só tem uma maquina, 0

  IP_FORWARD=0

Se você tiver algum serviço que use uma porta TCP que deseja que possa ser acessado por maquinas externas, informe as portas desses serviços aqui, separadas por um espaço. Se não quiser que nenhum serviço seja acessado externamente, nao informe nada.

  ALLOWED_TCP_IN=""

O mesmo acima, só que para portas UDP

  ALLOWED_UDP_IN=""

Bloquear portas

  FORBIDDEN_PORTS="139"

Não quer que sua maquina responda a pings, coloque 1. Se quiser coloque 0

  BLOCK_PINGS=1

A quantos pings você deseja responder?

PING_FLOOD=3

Agora voce vai decidir o que fazer com tentativas suspeitas de conexão. DROP nega e não envia nenhuma confirmação ao remetente, REJECT diz a quem enviou o pacote, que ele foi rejeitado e MIRROR vai pegar o pacote e trocar os endereços origem e destino, ou seja, vai enviar o pacote para quem o enviou. Use esta opção apenas se você realmente souber o que está fazendo...

  SUSPECT="DROP"

O mesmo acima para pacotes conhecidamente inválidos

  KNOWN_BAD="DROP"

O que fazer com prtscans?

  PORT_SCAN="DROP

Deseja salvar as regras? (será feito se houver suporte a isso)

  SAVE_RULES=1

Informe agora, como o ipkungfu vai determinar seu ip. As opções são AUTO, NONE ou o próprio IP.

  GET_IP="AUTO"

Para poder se conectar sem problemas a IRCs ou outros serviços que requeiram ident na porta 113, coloque 1 aqui

  DONT_DROP_IDENTD=1

Na proxima opção coloque 0 se você estiver usando o ipkungfu em uma maquina da sua LAN, caso contrario coloque 1

  DISALLOW_PRIVATE=1

salve o arquivo.

Pronto. Agora rode o programa com o comando /usr/local/sbin/ipkungfu se tudo estiver ok, ele vai iniciar automaticamente.

Lembrando que você precisa ter um kernel da versão 2.4.x com netfilter habilitado. Provavelmente quando você rodar o ipkungfu ele vai autocarregar os modulos necessários. Se isso não acontecer, carregue os seguintes módulos (não é necessário fazer isso se estiver compilado diretamente no kernel)

  ip_conntracki
  ptable_filter
  iptable_nat
  ip_tables

Se você estiver usando uma distro baseada no RedHat, será criado um script de inicialização em /etc/rc.d/init.d chamado ipkungfu

Para iniciar o firewall faça

  # /etc/rc.d/init.d/ipkungfu start

para parar

  # /etc/rc.d/init.d/ipkungfu stop

para que ele seja iniciado junto com a inicialização do linux, faça

  # chkconfig --level 2345 ipkungfu on

Agora, se sua distro não for baseada no RedHat (eu usei no Debian), eu adaptei este script para ser usado nela. (só foi testado no debian, por enquanto.) pegue-o em http://www.brunoctorres.hpg.ig.com.br/arquivos/ipkungfu copie este arquivo para o diretorio /etc/init.d, dê permissoes de execução ao arquivo e crie um link no diretorio do seu runlevel padrao (no debian é o 2)

  cp ipkungfu /etc/init.d
  chmod 755 /etc/init.d/ipkungfu
  ln -s /etc/init.d/ipkungfu /etc/rc2.d/S20ipkungfu

Agora você poderá iniciá-lo com

  /etc/init.d/ipkungfu start

e parar com

  /etc/init.d/ipkungfu stop

Os logs, por padrão serão colocados no arquivo /var/log/syslog.

Qualquer dúvida, sugestão ou crítica não hesite em mandar um email para <brunouff (a) yahoo com br>"



 

 

Veja a relação completa dos artigos de Bruno Cunha Torres

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