Ola lista....

Eu tenho este firewall que foi me dado por um amigo, ele roda com o
ipchains.....so que estou precisando migrar este firewall para o
iptables......alguem teria um script em iptables que possa mandar ...ou
poderia converter este de ipchains para iptables... infelizmente eu nao
manjo nada disto abaixo...

DEVAIR


#! /bin/sh
# description: Inicializacao do IPChains
#
#chkconfig: 2345 80 30
#processname: ipchains
#pidfile: /var/run/ipchains.pid


. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]
 then

 exit 0
fi

case "$1" in
     start)
    gprintf "Iniciando o Servico de %s: " "IPChains"

#  EDITE AS CONSTANTES ABAIXO DE ACORDO COM O SEU SISTEMA!.

INTERFACE_EXTERNA="eth0"                        # a que liga voce com a INET
INTERFACE_INTERNA="eth1"                        # a da sua rede interna
LOOPBACK_INTERFACE="lo"
IPADDR="000.000.00.000"                          # o seu IP, no caso eh do
servidor
LOCALNET="00.0.000.0/00"                          # a faixa de ips locais
QUALQUERLUGAR="any/0"
NAMESERVER_1="000.000.0.00"                    # o ip do servidor DNS
primario
NAMESERVER_2="000.000.0.000"                    # o ip do servidor DNS
secundario

POP_SERVER="pop3.uol.com.br"                # seu servidor de pop externo
SYSLOG_SERVER="mail.unsekurity.org"             # seu servidor syslog
interno

#
# Bem, ai os SYSLOG* acima eh o seguinte:
# Caso alguem entre no seu sistema, e tente apagar logs vitais, existira uma
# copia remota, fazendo com que o esforco dele tenha sido em vao. Para que
# isso seja possivel, o "syslogd" deve ser inicializado com a opcao "-r"
# e o servidor do syslog (no caso a maquina mail), deve aceitar pacotes udp
# na porta 514!! Assim como o cliente deve aceitar o envio de pacotes udp
# na mesma porta!!
#
# no syslog da maquina cliente deve conter a seguinte linha:
#
# kern.*                        @mail
#
# entao ela enviara as mensagem do kernel para a maquina mail!!
#
# maiores informacoes: man 8 syslogd
#

LOOPBACK="127.0.0.0/8"
CLASS_A="10.0.0.0/8"
CLASS_B="172.16.0.0/12"
CLASS_C="10.1.0.0/16"
CLASS_D_MULTICAST="224.0.0.0/4"
CLASS_E_RESERVED_NET="240.0.0.0/5"
BROADCAST_ORI="0.0.0.0"
BROADCAST_DEST="255.255.255.255"
PORTASPRIV="0:1023"
PORTASNAOPRIV="1024:65535"

# --------------------------------------------------------------------------
--

# as portas do SSH iniciam em 1023 e vao ate a porta 513 para cada conexao
# adicional!!
PORTAS_SSH="1022:1023"                   # alcance das portas do SSH

# traceroute geralmente usa -S 32769:65535 -D 33434:33523
PORTAS_ORI_TRACEROUTE="32769:65535"
PORTAS_DEST_TRACEROUTE="33434:33523"

#Protecao contra ataquers
# 0 desativa e 1 ativa
#
# essa opcao ativada evita ataques do tipo 'sun flood atack'
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# rejeita todas as requisicoes de icmp ECHO destinadas a enderecos
# broadcasting ou multicasting
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# ignora mensagens falsas de icmp_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

for i in /proc/sys/net/ipv4/conf/*; do
# desativa o redirecionamento de mensagem icmp
echo 0 > $i/accept_redirects
# essa op�ao permite estabelecer o caminho que um pacote leva ate chegar ao
# seu destino e o caminho de volta.
echo 0 > $i/accept_source_route
# permite que pacotes de origem suspeita ou desconhecida sejam logados pelo
kernel
echo 1 > $i/log_martians
# verifica o endereco de origem do pacote prevenindo a maquina de ataques
# do tipo ip Spoofing
echo 1 > $i/rp_filter;
done
#


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

      ipchains -F
      # Configura a regra padrao do filtro para Accept
      ipchains -P input  ACCEPT
      ipchains -P output ACCEPT
      ipchains -P forward ACCEPT

  /sbin/ipchains -A forward -s 0/0 -d 0/0 -j MASQ
  #ipmasqadm portfw -f

  #/sbin/ipchains --flush
  /sbin/modprobe ip_masq_ftp
  /sbin/modprobe ip_masq_raudio #ports=554,7070,70701,6970,6971
  /sbin/modprobe ip_masq_irc
  /sbin/modprobe ip_masq_vdolive
  /sbin/modprobe ip_masq_cuseeme
  /sbin/modprobe ip_masq_quake
  /sbin/modprobe rarp

#trava telnet

#ipchains -D input -p tcp -s 000.000.000.000 -d 000.000.00.00 telnet -j
ACCEPT
#ipchains -A input -p tcp -s 000.000.000.000 -d 000.000.00.00 telnet -j
ACCEPT

#ipchains -D input -p tcp -s 0/0 -d 000.000.00.00 telnet -j REJECT
#ipchains -A input -p tcp -s 0/0 -d 000.000.00.00 telnet -j REJECT


#firewall

#ipchains -A input -i eth0 -p tcp -s 0/0 -d 0/0 137:139 -l -j DENY
#ipchains -A input -i eth0 -p udp -s 0/0 -d 0/0 137:139 -l -j DENY
#ipchains -A input -p udp -s 0/0 -d 0/0 138 -j DENY
#ipchains -A input -p udp -s 0/0 -d 0/0 137 -j DENY
#ipchains -A input -p tcp -s 0/0 -d 0/0 119 -j DENY
#ipchains -A input -s 0/0 -d 0/0 -i eth0 -p tcp -j DENY -l
#ipchains -A input -i eth0 -p tcp -s 0/0 -d 0/0 1080 -j DENY
#ipchains -A input -i eth0 -p udp -s 0/0 -d 0/0 1080 -j DENY
ipchains -A input -i eth0 -p tcp -s 0/0 -d 0/0 3128 -j DENY
ipchains -A input -i eth0 -p udp -s 0/0 -d 0/0 3128 -j DENY

ipchains -A input -p tcp -s ! 00.0.000.0/00 -d 000.000.00.000 3128 -j REJECT
ipchains -A input -p tcp -s ! 00.0.000.0/00 -d 000.000.00.000 139 -j REJECT
ipchains -A input -p tcp -s ! 00.0.000.0/00 -d 000.000.00.000 515 -j REJECT

ipchains -A input -p udp -s ! 00.0.000.0/00 -d 000.000.00.000 3128 -j REJECT
ipchains -A input -p udp -s ! 00.0.000.0/00 -d 000.000.00.000 139 -j REJECT
ipchains -A input -p udp -s ! 00.0.000.0/00 -d 000.000.00.000 515 -j REJECT

ipchains -A input -p icmp -s ! 00.0.000.0/00 -d 000.000.00.000 3128 -j
REJECT
ipchains -A input -p icmp -s ! 00.0.000.0/00 -d 000.000.00.000 139 -j REJECT
ipchains -A input -p icmp -s ! 00.0.000.0/00 -d 000.000.00.000 515 -j REJECT

#Liberacao de Email

ipchains -A forward -p tcp -s 00.0.000.0/00 -d 0/0 25  -j MASQ
ipchains -A forward -p tcp -s 00.0.000.0/00 -d 0/0 110 -j MASQ

# SPOOFING & ENDERECO INVALIDOS
# Recusa pacotes forjados.
# Ignora a entrada/saida de pacotes de/para enderecos invalidos.

    # Recusa pacotes forjados dizendo ser da interface externa e loga.
    ipchains -A input  -i $INTERFACE_EXTERNA -s $IPADDR -j DENY -l

    # Recusa pacotes para/dizendo ser de uma Classe A privada e loga.
    # -d quer dizer DESTINO !
    ipchains -A input  -i $INTERFACE_EXTERNA -s $CLASS_A -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -d $CLASS_A -j DENY -l
    ipchains -A output -i $INTERFACE_EXTERNA -s $CLASS_A -j REJECT -l
    ipchains -A output -i $INTERFACE_EXTERNA -d $CLASS_A -j REJECT -l

    # Recusa pacotes para/dizendo ser de uma Classe B privada e loga.
    ipchains -A input  -i $INTERFACE_EXTERNA -s $CLASS_B -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -d $CLASS_B -j DENY -l
    ipchains -A output -i $INTERFACE_EXTERNA -s $CLASS_B -j REJECT -l
    ipchains -A output -i $INTERFACE_EXTERNA -d $CLASS_B -j REJECT -l

    # Recusa pacotes para/dizendo ser de uma Classe C privada e loga.
    ipchains -A input  -i $INTERFACE_EXTERNA -s $CLASS_C -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -d $CLASS_C -j DENY -l
    ipchains -A output -i $INTERFACE_EXTERNA -s $CLASS_C -j REJECT -l
    ipchains -A output -i $INTERFACE_EXTERNA -d $CLASS_C -j REJECT -l

    # Recusa pacotes dizendo ser da interface de loopback e loga.
    ipchains -A input  -i $INTERFACE_EXTERNA -s $LOOPBACK -j DENY -l
    ipchains -A output -i $INTERFACE_EXTERNA -s $LOOPBACK -j REJECT -l

    # Recusa enderecos de ORIGEM da broadcast
    ipchains -A input  -i $INTERFACE_EXTERNA -s $BROADCAST_DEST -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -d $BROADCAST_ORI -j DENY -l

    # Recusa uma classe D de enderecos multicast (in.h) (NET-3-HOWTO)
    # Multicast eh ilegal como endereco de origem.
    # Multicast usa UDP.
    ipchains -A input  -i $INTERFACE_EXTERNA -s $CLASS_D_MULTICAST -j
DENY -l

    # Recusa uma classe E de enderecos reservados
    ipchains -A input  -i $INTERFACE_EXTERNA -s $CLASS_E_RESERVED_NET -j
DENY -l

    # recusa enderecos definidos como reservados pela IANA
    # 0.*.*.*, 1.*.*.*, 2.*.*.*, 5.*.*.*, 7.*.*.*, 23.*.*.*, 27.*.*.*
    # 31.*.*.*, 37.*.*.*, 39.*.*.*, 41.*.*.*, 42.*.*.*, 58-60.*.*.*
    # 65-95.*.*.*, 96-126.*.*.*, 197.*.*.*, 201.*.*.* (?), 217-223.*.*.*
    ipchains -A input  -i $INTERFACE_EXTERNA -s 1.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 2.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 5.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 7.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 23.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 27.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 31.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 37.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 39.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 41.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 42.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 58.0.0.0/7 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 60.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 65.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 66.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 67.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 68.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 69.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 70.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 71.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 72.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 73.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 74.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 75.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 76.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 77.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 78.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 79.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 80.0.0.0/4 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 96.0.0.0/4 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 112.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 113.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 114.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 115.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 116.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 117.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 118.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 119.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 120.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 121.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 122.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 123.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 124.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 125.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 126.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 217.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 218.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 219.0.0.0/8 -j DENY -l
    ipchains -A input  -i $INTERFACE_EXTERNA -s 220.0.0.0/6 -j DENY -l


    ipchains -A input  -i $INTERFACE_EXTERNA -p udp \
      -s $QUALQUERLUGAR $PORTAS_ORI_TRACEROUTE \
      -d $IPADDR $PORTAS_DEST_TRACEROUTE -j DENY -l


# Rejeita, melhor do que barrar negar, conexoes na porta 113. (NET-3-HOWTO)

    ipchains -A input  -i $INTERFACE_EXTERNA -p tcp \
      -s $QUALQUERLUGAR \
      -d $IPADDR 113 -j REJECT



#ipchains -A input -s 0/0 -d 0/0 -j REJECT -l
#ipchains -A output -s 0/0 -d 0/0 -j REJECT -l


     ;;

     stop)
     gprintf "Parando o servico de %s: " "IPChains"

      echo


  /sbin/rmmod ip_masq_ftp
  /sbin/rmmod ip_masq_raudio
  /sbin/rmmod ip_masq_irc
  /sbin/rmmod ip_masq_vdolive
  /sbin/rmmod ip_masq_cuseeme
  /sbin/rmmod ip_masq_quake
  /sbin/rmmod rarp


     ;;

  restart)
 $0 stop
 $0 start
 ;;

     *)

     gprintf "Uso: ipchains (start|stop|restart)"
     echo
     ;;

     esac

     exit 0

---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a