rc.firewall

Publicado por Ricardo Rodrigues 26/12/2005

[ Hits: 5.811 ]

Download rc.firewall




Este e um exemplo de um bom firewall que recomendo...

  



Esconder código-fonte

#!/bin/bash

VERSAO="1.1"
ULTALT="04/2005"

#********************************************************************
# Inicializando
#********************************************************************
echo -e "\n\nCarregando IPTABLES Firewall $VERSAO de $ULTALT"
echo "----------------------------------------------------------------------"

#--------------------------------------------------------------------
# Ajustando móos
#--------------------------------------------------------------------

rmmod ipchains
modprobe iptable_nat
insmod ip_conntrack_ftp
insmod ip_nat_ftp

#--------------------------------------------------------------------
# Declaracao de variaveis
#--------------------------------------------------------------------

# Portas Altas
#
HIGHPORTS="1024:65535"
#

# Interface e endereco de loopback
#
LOOPBACKIF="lo"
LOOPBACKIP="127.0.0.1"

#
# Configuracao da Interface Externa
#
EXTIF="eth0"
EXTIP="201.34.38.35"

#
# Configuracao da Interface Interna 1.
#
INTIF="eth1"
INTIP="128.1.0.245"
INTLAN="128.0.0.0/8"
INTLAN2="200.200.200.0/24"

#
# IP e mascara para todos os enderecos internet
#
UNIVERSE="0.0.0.0/0"

#
# Mascara de IP para todas as transmissoes de broadcast
#
BROADCAST="255.255.255.255"

echo " - Configurar politicas padrao para REJECT"
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP

echo " - Descartar todas as regras antigas"
#
/sbin/iptables -F
/sbin/iptables -t nat -F

#--------------------------------------------------------------------
# Habilita forwarding e masquerading TCP/IP a partir da rede interna
#--------------------------------------------------------------------
echo " - Habilitando IP forwarding."
echo "1" > /proc/sys/net/ipv4/ip_forward

#---------------------------------------------------------------------
# Liberando as portas 5000 até100
#---------------------------------------------------------------------
/sbin/iptables -A INPUT -p udp --dport 5000:5100 -j ACCEPT

#---------------------------------------------------------------------
# Abrindo acesso para rede interna
#---------------------------------------------------------------------
echo " - Abrindo acesso para rede interna"
/sbin/iptables -A FORWARD -s $INTLAN -d $UNIVERSE -j ACCEPT
/sbin/iptables -A FORWARD -s $UNIVERSE -d $INTLAN -j ACCEPT
/sbin/iptables -A INPUT -s $INTLAN -j ACCEPT
/sbin/iptables -A INPUT -d $INTLAN -j ACCEPT

/sbin/iptables -A FORWARD -s $INTLAN2 -d $UNIVERSE -j ACCEPT
/sbin/iptables -A FORWARD -s $UNIVERSE -d $INTLAN2 -j ACCEPT
/sbin/iptables -A INPUT -s $INTLAN2 -j ACCEPT
/sbin/iptables -A INPUT -d $INTLAN2 -j ACCEPT

# Masquerade da rede interna 1 na interface local para internet.
#
echo " - Habilitando IP Masquerading na rede interna 1 para internet."
/sbin/iptables -t nat -A POSTROUTING -s 128.1.0.206 -o $EXTIF -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s 128.1.0.246 -o $EXTIF -j MASQUERADE

#--------------------------
# Liberacao da Rede da externa
#--------------------------
#
/sbin/iptables -A INPUT -s externa -j ACCEPT

#abre portas altas para reply em tcp e udp
echo " - Abrindo portas altas para reply em tcp e em udp"
/sbin/iptables -A INPUT -p tcp -s $UNIVERSE -d $EXTIP -j ACCEPT ! --syn --dport $HIGHPORTS
/sbin/iptables -A INPUT -p udp -s $UNIVERSE -d $EXTIP -j ACCEPT --dport $HIGHPORTS

#Final
#
echo "----------------------------------------------------------------------"

Scripts recomendados

Envio de backps de bancos por ftp com notificação por email

Descompactar vários arquivos ao mesmo tempo de um diretório específico

Remove linhas

Backup com dump, restore, sendmail e log completo

Tabela de cores em shellscript


  

Comentários
[1] Comentário enviado por RogerioSudario em 27/12/2005 - 14:49h

Legal, tava precisando!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts