Firewall Iptables

Publicado por Joel Silva da Silva Junior 02/04/2009

[ Hits: 7.797 ]

Download firewall.sh.new




Script para Iptables.

  



Esconder código-fonte

#!/bin/bash

#################################
# Firewall - V.3                #
# Write by: Joel Silva          #
# Mail: sonic_novel@hotmail.com #
# Manaus-AM                     #
#################################

#############################
#         Programas:        #
#############################

firewall=/root/firewall.sh
iptables=/usr/sbin/iptables
modprobe=/sbin/modprobe

################################
#    Parametros da Rede:       #
################################

NET_IF=eth0
LAN_IF=eth1
PORTAS_LIBERADAS="20,21,22,143,443,80,25,110,8080"
IP_SOURCE="192.168.100.0/24"
IP_LIBERADO="/etc/firewall/ips"
IP_BLOQUEADO="/etc/firewall/bloqueados"

###############################
#    Carregando Modulos:      #
############################### 

$modprobe ip_tables
$modprobe ip_nat
$modprobe ip_nat_ftp
$modprobe ip_conntrack_ftp
$modprobe ipt_MASQUERADE
$modprobe ipt_REJECT
$modprobe ipt_LOG
$modprobe iptable_filter
$modprobe arp_tables
$modprobe ipt_TOS

################################
#    Parametros do Firewall:   #
################################
   

   echo      " Ativando Roteamento de Pacotes no Kernel:   "
   

echo "1" > /proc/sys/net/ipv4/ip_forward

   
   echo      " Feito!      "


firewall_stop () {

   if [ -ex $firewall ]; then

   $firewall_stop


   echo       " Limpando Regras!   "



   echo      " Feito!      "


   fi

}


##########################################
##########################################


##########################################
##########################################
            
firewall_start () {

if [ -ex $firewall ]; then

   echo        " Iniciando Firewall   "

   $firewall_start

   echo      " Firewall Iniciado   "

fi
   }


   echo       " Liberando Conexoes:   "


for i in `cat $IP_LIBERADO`; do


   STATUS=`echo $i | cut -d '-' -f 1`
   IP=`echo $i | cut -d '-' -f 2`
   CLIENTE=`echo $i | cut -d '-' -f 3`


if [ $STATUS="a"  ]; then

$iptables -A INPUT   -s $IP -d 0/0 -j ACCEPT
$iptables -A FORWARD -s $IP -d 0/0 -j ACCEPT
$iptables -A OUTPUT  -s $IP -d 0/0 -j ACCEPT
$iptables -t nat -A POSTROUTING -s $IP -d 192.168.100.254 -j MASQUERADE
$iptables -t nat -A PREROUTING  -p tcp -d $IP --dport 80 \
      -j REDIRECT --to-ports 8080

fi
   done


   echo    "   PERMITIDO - IP:[$IP] - CLIENTE: [$CLIENTE]    "


for i in `cat $IP_BLOQUEADO`;do
   STATUS=`echo $i | cut -d '-' -f 1`
   IP=`echo $i | cut -d '-' -f 2`
   CLIENTE=`echo $i | cut -d '-' -f 3`

##############################################
##############################################

   
   echo         " Bloqueando Conexoes:   "


if [ $STATUS="b" ]; then


$iptables -A INPUT -s $IP -d 0/0 -j REJECT


fi
   done


   echo    "   BLOQUEADO - IP: [$IP] - CLIENTE: [$CLIENTE]   "

#######################################################
#######################################################

   echo       " Liberando Portas:   "



$iptables -A INPUT   -m multiport -p tcp --port $PORTAS_LIBERADAS -j ACCEPT
$iptables -A FORWARD -m multiport -p tcp --port $PORTAS_LIBERADAS -j ACCEPT
$iptables -A OUTPUT  -m multiport -p tcp --port $PORTAS_LIBERADAS -j ACCEPT


   echo      " Feito!      "


#######################################################
#######################################################

##########################
# Regras de Start/Stop   #
##########################


case "$1" in

'start')

$firewall_start
;;

'stop')

$firewall_stop

$iptables -F
$iptables -F -t nat
$iptables -F -t filter
;;

'restart')

$firewall_stop
$firewall_start
;;

*)

   echo   " Usage $0 start | stop | restart   "
;;

esac


Scripts recomendados

Tornando seu Ubuntu uma distro para testes de intrusão

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS MYSQL

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS A PARTIR DE ARQUIVO

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CALCULA O % DE USO DA QUOTA E ATUALIZA BANCO

Claro 3G no Ubuntu 8.04


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts