De:  Dicas-L-Owner@unicamp.br Assunto:  [Dicas-L] Firewall Descomplicado com ipkungfu Data:  Mon, 23 Jun 2003 03:09:44 -0300 -------------------------------------------------------------------- Endereço: http://www.Dicas-l.com.br/dicas-l/20030623.shtml -------------------------------------------------------------------- Firewall Descomplicado com ipkungfu =================================== Colaboração: Bruno Cunha Torres 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" ##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@yahoo.com.br" --------------------------------------------------------------- As mensagens da lista Dicas-L são veiculadas diariamente para 21675 assinantes. Todas as mensagens da Dicas-L ficam armazenadas em http://www.Dicas-l.com.br. A redistribuição desta e outras mensagens da lista Dicas-L pode ser feita livremente, deste que o conteúdo, inclusive esta nota, não sejam modificados. --------------------------------------------------------------- Esta mensagem foi verificada pelo E-mail Protegido Terra. Scan engine: VirusScan / Atualizado em 18/06/2003 / Versão: 1.3.13 Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/