Firewall profissional

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

[ Hits: 56.852 ]

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


Introdução



Este script foi elaborado de forma que usuários iniciantes possam configurar um firewall iptables de maneira extremamente fácil, bastando apenas seguir os comentários do script.

Criando inicialização

Primeiramente devemos definir um diretório padrão para o nosso script fwcontrol, iremos criar primeiro o diretório /etc/fwcontrol/ para que possamos criar os scripts e adicioná-lo no rc.local do seu Linux.

Para iniciante digite no prompt:

# mkdir /etc/fwcontrol
# echo "echo Inicializando FwControl " >> /etc/rc.d/rc.local
# echo "/etc/fwcontrol/fwcontrol" >> /etc/rc.d/rc.local


Instalando Fwcontrol

Crie o arquivo:

# touch /etc/fwcontrol/fwcontrol

Edite:

# vi /etc/fwcontrol/fwcontrol

Insira o seguinte conteúdo e salve o arquivo.

Observe a linha do masquerade, que coloca o ip da sua rede interna e a interface de rede correspondente a Internet.

#!/bin/sh
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
CONF_DIR="/etc/fwcontrol"
IPT="/usr/sbin/iptables"
INCLUDE="$CONF_DIR/include"
DEBUG=0
if [ "$1" == "-d" ]
then
DEBUG=1
fi
source $INCLUDE/funcoes_ff.sh
source $INCLUDE/funcoes_fi.sh
source $INCLUDE/funcoes_fo.sh
source $INCLUDE/funcoes_no.sh
source $INCLUDE/funcoes_ne.sh
if [ "$DEBUG" == "0" ]
then
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -F
$IPT -F -t nat
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
else
echo $IPT -P INPUT ACCEPT
echo $IPT -P OUTPUT ACCEPT
echo $IPT -P FORWARD ACCEPT
echo $IPT -F
echo $IPT -F -t nat
echo $IPT -P INPUT DROP
echo $IPT -P OUTPUT DROP
echo $IPT -P FORWARD DROP
echo $IPT -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
echo $IPT -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
fi
parse_f_input
parse_f_output
parse_f_forward
parse_n_postrouting
parse_n_prerouting

#Mascarando saída da internet
iptables -t nat -A POSTROUTING -s 10.0.20.0/24 -d 0/0 -o eth1 -j MASQUERADE

#Aceitando Ping
$IPT -A FORWARD -p icmp -j ACCEPT
$IPT -A INPUT -p icmp -j ACCEPT
$IPT -A OUTPUT -p icmp -j ACCEPT

    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

Port Forward mais completo: caçando o fantasma da rede interna

Servidor Firewall-Proxy utilizando CentOS, IPtables, Squid, DHCP, DNS e outros

Criando um Firewall transparente com Bridges no Debian Etch

Port Scan Attack Detector (PSAD) com iptables

Metodologia de Proxy Parcial

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts