Firewall

Publicado por Perfil removido 28/02/2007

[ Hits: 4.828 ]

Download rc.firewall




Script de firewall simples, com segurança e bem explicativo.

Um script fácil para administradores de redes que têm a necessidade de conexão por vnc para auxilio de usuários.

  



Esconder código-fonte

#!/bin/bash
# Script Criado por Goku - filipecm@terra.com.br / goku@gokunet.net - www.gokunet.net
########################## Variáveis ##########################

#Ips externos liberados para conexão em SSH
LIBERADOS_F=""
#Variável para o range de ip da sua rede interna.
IP_INTERNO="192.168.0.0/16"
#Insira os ips da rede,que você quer redirecionar, na variavel de redirecionamento e as portas que serão redirecionadas.
REDIRECIONAMETO=""
PORTA_REDI="3389"
# INFORME QUAL PLACA DE REDE INTERNA
IFACE_INT="eth0"
#VARIAVEIS DE CONFIGURACAO DA CONEXAO
#SE FOR IP FIXO PREENCHA AS VARIAVEIS IP_EXT, MASK_EXT, GW_EXT
#SE FOR CONEXAO PPPoE PREENCHA APENAS A IFACE_EXT COM "ppp0" OU A CONEXAO QUE VOCE CONFIGUROU
#A IFACE_EXT OBRIGATORIAMENTE DEVE SER PREENCHIDA COM A PLACA DE REDE OU CONEXAO PPPoE
IP_EXT=""
MASK_EXT=""
GW_EXT=""
IFACE_EXT="eth0:0"


## Opcoes do Kernel
echo 1 > /proc/sys/net/ipv4/ip_forward

########################## Inicio das Regras de IPTABLES ##########################
stop(){
        echo "Limpando REGRAS"
        iptables -F
        iptables -F -t nat 
        iptables -X
        iptables -Z
        iptables -t nat -F
        echo "PARANDO FIREWALL"
        iptables -P INPUT ACCEPT
        iptables -P FORWARD ACCEPT
        iptables -P OUTPUT ACCEPT
}


start(){
        echo "Setando Politicas Defaut"
        iptables -P INPUT DROP
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT
        echo "Liberando LocalHost"
        iptables -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPT
        iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
        echo "Libera DNS"
        iptables -A FORWARD -s $IP_INTERNO -p udp --dport 53 -j ACCEPT
        echo "Iniciando proxy transparente"
        #RedireLciona tudo da porta 80 pelo protocolo tcp para a 3128
        iptables -t nat -A PREROUTING -s $IP_INTERNO -i $IFACE_INT -p tcp --dport 80 -j REDIRECT --to-port 3128  
   iptables -t nat -A PREROUTING -s $IP_INTERNO -i $IFACE_INT -p udp --dport 80 -j REDIRECT --to-port 3128      
        echo "Iniciando NAT"
        iptables -A FORWARD -s $IP_INTERNO -j ACCEPT
        #Essa linha faz o processo de direcionar todas as requisicoes da REDE INTERNA para a conexao de internet
        iptables -A POSTROUTING -t nat -s $IP_INTERNO -o $IFACE_EXT -j MASQUERADE 
        echo "Fim das regras de NAT"
        echo "Iniciando o Filtro de PORTAS"
        iptables -A INPUT -p ALL -s $IP_INTERNO -j ACCEPT       
        
   for i in $LIBERADOS_F; do
                iptables -A INPUT -p ALL -s $i -j ACCEPT
        done

        iptables -A FORWARD -j ACCEPT -p icmp --icmp-type echo-reply
        iptables -A FORWARD -j ACCEPT -p icmp --icmp-type echo-request -i eth1
        iptables -A INPUT -j ACCEPT -p icmp --icmp-type echo-reply
        echo "Finalizando Filtro por PORTAS"
########################## Redirecionar portas #########################
echo "iniciando REDIRECIONAMENTO"
        for i in $REDIRECIONAMENTO; do
                for e in $PORTAS_REDI; do
                          iptables -t nat -A PREROUTING -p tcp -s 0.0.0.0/0 --dport $e -j DNAT --to $i 
                done
        done
########################## Fim do Redirecionador ######################
echo "INICIANDO O FIREWALL"
}

case "$1" in
'start')
   start
   ;;
'stop')
   stop
   ;;
'restart')
   stop
   start
   ;;
   *)
   echo "Use $0 {start|stop|restart}"
   exit 0
   ;;
esac

Scripts recomendados

Script de backup e envio via SSH

tirinha.sh

Backup diário "datado".

Configurando endereço de rede - Slackware, Debian, CentOS/RHEL

Configuramdo proxy/Squid com Dialog


  

Comentários
[1] Comentário enviado por maiam em 14/04/2007 - 18:01h

cara esse seu firewall eh mto bom parabens


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts