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