Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > Geral > Serviços > Proxy/NAT/Firewall
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Script - iptables



Tópico Trancado
 
LinkBack Opções do Tópico
Antigo 14-05-2008, 16:43   #1 (permalink)
Padrão Script - iptables

Pessoal,

Estou postando abaixo o meu script de firewall e gostaria de uma opinião de vocês.

#!/bin/sh

# Definindo as variaveis.
M1=192.168.x.y
M2=192.168.x.y
M3=192.168.x.y
M4=192.168.x.y
M5=192.168.x.y
M6=192.168.x.y
DG=yyy.yyy.yyy.yyy
DNS1=aaa.aaa.aaa.aaa
DNS2=aaa.aaa.aaa.aab
IPT=/sbin/iptables
FW_INT=192.168.x.y
FW_EXT=ccc.ccc.ccc.ccc
INT_INT=eth0
INT_EXT=eth1
LAN=192.168.x.y/24
MUTLEY=192.168.x.y
PABX=192.168.x.y
SIP=ddd.ddd.ddd.ddd
VPN=eee.eee.eee.eee

# Limpando as chains.
"$IPT" -F
"$IPT" -X

for tables in nat mangle filter
do
"$IPT" -t "$tables" -F
"$IPT" -t "$tables" -X
done

# Definindo a politica padrao.
for filter in INPUT OUTPUT FORWARD
do
"$IPT" -P "$filter" DROP
done

# Protecao contra IP spoofing.
"$IPT" -A INPUT -s "$LAN" -i ! "$INT_INT" -j DROP
"$IPT" -A INPUT -s ! "$LAN" -i "$INT_INT" -j DROP

# Stateful.
"$IPT" -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
"$IPT" -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
"$IPT" -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# ==========
# Tabela NAT
# ==========

# Liberando conexao no PABX.
"$IPT" -t nat -A PREROUTING -s "$DG" -d "$FW_EXT" --dport 987 -j DNAT --to "$PABX"
"$IPT" -t nat -A PREROUTING -s "$DG" -d "$FW_EXT" --dport 22 -j DNAT --to "$PABX"

# Compartilhando Internet.
"$IPT" -t nat -A POSTROUTING -s "$LAN" -i "$INT_INT" -j MASQUERADE

# ===========
# Chain INPUT
# ===========

# Liberando trafego na interface de loopback.
"$IPT" -A INPUT -i lo -j ACCEPT

# Liberando ssh.
for micro_ssh in "$M5" "$MUTLEY"
do
"$IPT" -A INPUT -s "$micro_ssh" -i "$INT_INT" -p tcp --dport 22 -j ACCEPT
done

# Liberando icmp.
for icmp_type in echo-reply echo-request
do
"$IPT" -A INPUT -s "$LAN" -i "$INT_INT" -p icmp --icmp-type "$icmp_type" -j ACCEPT
done

# ============
# Chain OUTPUT
# ============

# Liberando trafego na interface de loopback.
"$IPT" -A OUTPUT -o lo -j ACCEPT

# Liberando icmp.
for icmp_type in echo-reply echo-request
do
"$IPT" -A OUTPUT -d "$LAN" -o "$INT_INT" -p icmp --icmp-type "$icmp_type" -j ACCEPT
done

# Liberando dns.
for dns in "$DNS1" "$DNS2"
do
"$IPT" -A OUTPUT -d "$dns" -o "$INT_EXT" -p tcp --dport 53 -j ACCEPT
"$IPT" -A OUTPUT -d "$dns" -o "$INT_EXT" -p udp --dport 53 -j ACCEPT
done

# =============
# Chain FORWARD
# =============

# Liberando comunicacao entre o PABX e o servidor SIP.
"$IPT" -A FORWARD -s "$PABX" -i "$INT_INT" -d "$SIP" -p udp --dport 1024:65535 -j ACCEPT

# Liberando a VPN.
for am in "$M1" "$M2" "$M3" "$M4" "$M5" "$M6"
do
"$IPT" -A FORWARD -s "$am" -i "$INT_INT" -d "$VPN" -p tcp -m multiport --dport 500,4500 -j ACCEPT
"$IPT" -A FORWARD -s "$am" -i "$INT_INT" -d "$VPN" -p udp -m multiport --dport 500,4500 -j ACCEPT
done

# Liberando dns.
for micros in "$M1" "$M2" "$M3" "$M4" "$M5" "$M6" "$MUTLEY"
do
"$IPT" -A FORWARD -s "$micros" -i "$INT_INT" -d "$DNS1" -p tcp --dport 53 -j ACCEPT
"$IPT" -A FORWARD -s "$micros" -i "$INT_INT" -d "$DNS1" -p udp --dport 53 -j ACCEPT
"$IPT" -A FORWARD -s "$micros" -i "$INT_INT" -d "$DNS2" -p tcp --dport 53 -j ACCEPT
"$IPT" -A FORWARD -s "$micros" -i "$INT_INT" -d "$DNS2" -p udp --dport 53 -j ACCEPT
done

# Liberando conexao no PABX.
"$IPT" -A FORWARD -d "$PABX" -p tcp --dport 22 -j ACCEPT
"$IPT" -A FORWARD -d "$PABX" -p tcp --dport 987 -j ACCEPT
"$IPT" -A FORWARD -d "$PABX" -p udp --dport 987 -j ACCEPT
__________________
André Unno
GNU/LinuxCounter#390708
http://counter.li.org

O sistema pediu: "Requires Windows 9x, Windows 2000 or better". Então eu instalei Linux.
 
Avatar de andunno
 
Registrado em: Jan 2004
Mensagens: 345
Agradeceu: 0
Agradecido 2 vez(es) em 2 Posts
Reputação: 0 andunno
andunno está offline  
Antigo 14-05-2008, 22:39   #2 (permalink)
Padrão

opinião com relação a quê??
__________________

Machine Registered: 300.107

"Não queira saber tudo
mas seja bom naquilo que sabe."

Educação é bom e evita penalização!
____
Copiando do Alexandre Correa -
(clique aqui)
____
-= Como fazer perguntas inteligentes =- <-- cliquem aqui!!!!
Super Moderador Cacique
 
Avatar de lucianogf
 
Registrado em: Apr 2003
Localização: Mato Grosso do Sul
Distribuição: Debian, Kubuntu
Mensagens: 3.173
Agradeceu: 5
Agradecido 205 vez(es) em 184 Posts
Envios no Blog: 1
Reputação: 428 lucianogf lucianogf lucianogf lucianogf lucianogf
Enviar mensagem via MSN para lucianogf
lucianogf está offline  
Antigo 15-05-2008, 9:17   #3 (permalink)
Padrão

Se o script que montei está correto.
__________________
André Unno
GNU/LinuxCounter#390708
http://counter.li.org

O sistema pediu: "Requires Windows 9x, Windows 2000 or better". Então eu instalei Linux.
 
Avatar de andunno
 
Registrado em: Jan 2004
Mensagens: 345
Agradeceu: 0
Agradecido 2 vez(es) em 2 Posts
Reputação: 0 andunno
andunno está offline  
Tópico Trancado

Opções do Tópico

Regras de Mensagens
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Trackbacks are Ligado
Pingbacks are Ligado
Refbacks are Ligado
Ir para...

Tópicos Similares
Tópico Tópico Iniciado Por Fórum Respostas Última Mensagem
Script Iptables Elvis Adm. em Geral 1 21-05-2008 19:53
SCRIPT DO IPTABLES edgar_ti Proxy/NAT/Firewall 3 28-12-2005 13:21
Script nat/iptables Jupso Proxy/NAT/Firewall 4 24-10-2003 18:12
script iptables navarro Adm. em Geral 7 09-05-2003 10:27
Script Iptables Elvis Proxy/NAT/Firewall 2 07-05-2003 11:41

Horários baseados na GMT -3. Agora são 2:53.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.