Firewall profissional

Firewall muito fácil de configurar e extremamente seguro, podendo ser instalado em qualquer distribuição Linux. Batizamos de FWControl.

[ Hits: 59.451 ]

Por: Vinicius de Oliveira Almeida em 06/02/2008


funcoes_ff.sh



Coloque o seguinte conteúdo no arquivo e salve-o:

#!/bin/sh

parse_f_forward () {
  grep -v "#" $CONF_DIR/filter/forward/* | grep -v "^$" | while read j
  do
    FF_IFACE_ENTRADA=`echo $j | awk -F, '{ print $1 }'`
    if [ ! -z $FF_IFACE_ENTRADA ]
    then
      FF_IFACE_ENTRADA="-i $FF_IFACE_ENTRADA"
    fi

    FF_IFACE_SAIDA=`echo $j | awk -F, '{ print $2 }'`
    if [ ! -z $FF_IFACE_SAIDA ]
    then
      FF_IFACE_SAIDA="-o $FF_IFACE_SAIDA"
    fi

    FF_PROTO=`echo $j | awk -F, '{print $3 }'`
    if [ ! -z $FF_PROTO ]
    then
      FF_PROTO="-p $FF_PROTO"
    else
      FF_PROTO="-p tcp"
    fi

    FF_IP_ORIGEM=`echo $j | awk -F, '{ print $4 }'`
    if [ ! -z $FF_IP_ORIGEM ]
    then
      FF_IP_ORIGEM="-s $FF_IP_ORIGEM"
    else
      FF_IP_ORIGEM="-s 0/0"
    fi

    FF_PORTA_ORIGEM=`echo $j | awk -F, '{ print $5 }'`
    if [ ! -z $FF_PORTA_ORIGEM ]
    then
      FF_PORTA_ORIGEM="--sport $FF_PORTA_ORIGEM"
    else
      FF_PORTA_ORIGEM="--sport 1024:"
    fi

    FF_IP_DEST=`echo $j | awk -F, '{ print $6 }'`
    if [ ! -z $FF_IP_DEST ]
    then
      FF_IP_DEST="-d $FF_IP_DEST"
    else
      FF_IP_DEST="-d 0/0"
    fi

    FF_PORTA_DEST=`echo $j | awk -F, '{ print $7 }'`
    if [ ! -z $FF_PORTA_DEST ]
    then
      FF_PORTA_DEST="--dport $FF_PORTA_DEST"
    fi

    FF_ACAO=`echo $j | awk -F, '{ print $8 }'`
    if [ -z $FF_ACAO ]
    then
      FF_ACAO="ACCEPT"
    fi

    if [ $DEBUG -eq 0 ]
    then
      $IPT -t filter -A FORWARD $FF_IFACE_ENTRADA $FF_IFACE_SAIDA $FF_IP_ORIGEM $FF_PORTA_ORIGEM $FF_IP_DEST $FF_PORTA_DEST -j $FF_ACAO
    else
      echo $IPT -t filter -A FORWARD $FF_IFACE_ENTRADA $FF_IFACE_SAIDA $FF_IP_ORIGEM $FF_PORTA_ORIGEM $FF_IP_DEST $FF_PORTA_DEST -j $FF_ACAO
    fi
  done
}

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando Fwcontrol (parte 2)
   3. funcoes_ff.sh
   4. funcoes_fi.sh
   5. funcoes_fo.sh
   6. funcoes_ne.sh
   7. funcoes_no.sh
   8. Criando regras
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Autenticação no Iptables

Firewall seguro com o IPTables

Criando DMZ com o PFSense

Squid + iptables (método ninja)

Firewalls redundantes utilizando VRRP

  
Comentários
[1] Comentário enviado por removido em 06/02/2008 - 15:21h

Vish...

Eita reinvenção brava...

Se procurar no google como complicar a configuração do IPTABLES cairá aqui no VoL agora...

Meu Deus, quanta criatividade...

[2] Comentário enviado por eduardo em 06/02/2008 - 15:48h

"Firewall muito fácil de configurar e ...". Confesso que achei um pouco confuso aquela penca de arquivos e diretórios ehehhehe


[3] Comentário enviado por Tainan em 06/02/2008 - 17:47h

Bom trabalho!

[4] Comentário enviado por yusuke em 06/02/2008 - 20:03h

Parabéns, você acaba de assassinar a filosofia KISS.

[5] Comentário enviado por removido em 06/02/2008 - 20:14h

Putz...
Ta d brincadeira q esses milhões de arquivos nem são comentados pra poder dar noção pra quem vai usar, do q ta fazendo....
A ideia pode ser boa, mas um pouco complicada demais pra algo q costumamos fazer em 1 so script... como yusuke disse, é um verdadeiro assassinato a filosofia K.I.S.S. (Keep It Simple Stupid).


[6] Comentário enviado por exercitobr em 06/02/2008 - 22:29h

Parabéns companheiro. Muito bom seu firewall.

[7] Comentário enviado por removido em 06/02/2008 - 22:42h

bomba

[8] Comentário enviado por mattiell00 em 07/02/2008 - 01:40h

Brother sua intenção com certeza foi das melhores, em repassar conhecimento!! parabens!!!
mas nem o Marion Bates, Chris Brenton, e William Stearns juntos conseguem entender direito os scripts!!!!!
porem o que vale é a intenção!!!! por tanto valeu mesmo "apesar da piadinha" que foi só p descontrair !!! hehehehehehe

[9] Comentário enviado por teixeira em 13/02/2008 - 22:33h

Bom, foi um verdadeiro firewall para o meu entendimento (não consegui entender NADA - hehehehehe).
Mas vou guardar o artigo, que deverá ser útil para mim algum dia.
Valeu!
Desculpe a bincadeira, e continue partilhando informações com a comunidade.

[10] Comentário enviado por pedroarthur.jedi em 25/02/2008 - 19:31h

Rapaz, siceramente, desconsiderando o NAT e o uso de aMule e afins:

iptables -P INPUT DROP
iptables -P OUTPUT DROP

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW -j ACCEPT

[11] Comentário enviado por comfaa em 28/10/2008 - 12:55h

bem legal

[12] Comentário enviado por lucianopqd em 28/07/2009 - 22:58h

Essa estrutura de scripts lembra muito do Endian... muito bom, parabéns.

[13] Comentário enviado por jeffemay em 07/04/2010 - 12:15h

Qual a permissão que um script de firewall deve ter parafuncionar???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts