rc.firewall

Publicado por Ricardo Rodrigues 26/12/2005

[ Hits: 6.126 ]

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

Script para criar certificados de forma automatizada no OpenVpn

procurar palavras dentro de todos os ficheiros de sub directorias

Montando pendrive

Status do Serviço Firebird

Dell 1390 WLAN (Broadcom 4311)


  

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