Análise de Regras de Firewall [RESOLVIDO]

1. Análise de Regras de Firewall [RESOLVIDO]

Francisco Wótila C. Cruz
wotila_carneiro

(usa Ubuntu)

Enviado em 09/03/2013 - 18:09h

Prezados, boa tarde.
Já utilizei o iptables há alguns anos. E tive que reinstalar um servidor e criei um script de firewall, e gostaria, muito humildemente que vocês analisassem meu script, apontando erros e possíveis redundâncias.
O cenário é o seguinte:
Duas redes passando pelo firewall a secretaria e o laboratório;
eth0 - 10.1.0.1/16 - SECRETARIA;
eth1 - INTERNET;
eth2 - 172.18.0.1/24 - LABORATÓRIO;

A secretaria tem acesso a tudo pelo squid, e o laboratório possui alguns bloqueios.

A rede está funcionando normalmente, mas gostaria de saber se terei problemas futuros com essas regras.

Desde já agradeço.

Eis as regras

[code]
#!/bin/bash

iniciar(){

# COMPARTILHAR A CONEXÃO
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo "Compartilhamento Ativado!"

# TRAFEGO ILIMITADO NAS INTERFACES DE LOOPBACK
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# POLITICA PADRAO: DROPAR OS PACOTES
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP

# LIBERAR REDES INTERNAS E PACOTES DE RETORNO DA INTERNET
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth2 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A OUTPUT -o eth2 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to 3128

# TRAFEGO DE SAIDA
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dport 21,80,443 -m state --state NEW -j ACCEPT

# TRAFEGO DE SAIDA DO LABORATORIO
iptables -A FORWARD -p tcp -s 172.18.0.0/255.255.255.0 -o eth1 -m state --state NEW -j ACCEPT
iptables -A FORWARD -p udp -s 172.18.0.0/255.255.255.0 -o eth1 -j ACCEPT

# TRAFEGO DE SAIDA DA SECRETARIA
iptables -A FORWARD -p tcp -s 10.1.0.1/255.255.0.0 -o eth1 -m state --state NEW -j ACCEPT
iptables -A FORWARD -p udp -s 10.1.0.1/255.255.0.0 -o eth1 -j ACCEPT



}
parar(){
iptables -F
iptables -t nat -F
echo "Regras de Firewall e Compartilhamento Desativados!"
}

case "$1" in
"start") iniciar;;
"stop") parar;;
"restart") parar; iniciar;;
*) echo "Use os Parametros start ou stop"
esac



  


2. MELHOR RESPOSTA

Phillip Vieira
phrich

(usa Slackware)

Enviado em 11/03/2013 - 10:57h

Cara, particularmente, seu firewall está arreganhado (rsrsrs), pq vc nega tudo e depois libera tudo... as linhas mais críticas:

Desnecessária: echo "Compartilhamento Ativado!"

Utilze DROP e libere o que for necessário: iptables -P OUTPUT ACCEPT

Aceitando tudo:
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth2 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A OUTPUT -o eth2 -j ACCEPT


Então, revise suas regras, se vc precisar de uma luz, leia o artigo:

http://www.vivaolinux.com.br/artigo/Iptables-Seguranca-total-para-sua-rede/

3. Re: Análise de Regras de Firewall [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 11/03/2013 - 11:53h

phrich escreveu:

Cara, particularmente, seu firewall está arreganhado (rsrsrs), pq vc nega tudo e depois libera tudo... as linhas mais críticas:

Desnecessária: echo "Compartilhamento Ativado!"

Utilze DROP e libere o que for necessário: iptables -P OUTPUT ACCEPT

Aceitando tudo:
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth2 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A OUTPUT -o eth2 -j ACCEPT


Então, revise suas regras, se vc precisar de uma luz, leia o artigo:

http://www.vivaolinux.com.br/artigo/Iptables-Seguranca-total-para-sua-rede/


Exatamente como o @phirch comentou e apenas como reforço de analise das regras do firewall http://mundodacomputacaointegral.blogspot.com.br/2012/05/entendendo-o-funcionamento-de-um.html


4. Re: Análise de Regras de Firewall [RESOLVIDO]

Francisco Wótila C. Cruz
wotila_carneiro

(usa Ubuntu)

Enviado em 11/03/2013 - 13:58h

Obrigado phrich e saitam. O conteúdo do link dá uma organiza da nas minhas idéias. E Parabéns pelo blog, saitam. Conteúdo de primeira!!


5. Re: Análise de Regras de Firewall [RESOLVIDO]

Francisco Wótila C. Cruz
wotila_carneiro

(usa Ubuntu)

Enviado em 25/03/2013 - 17:00h

Prezados, boa tarde.

Estou ressuscitando o post para apresenta as mudanças feitas, em meu firewall, e gostaria da opinião dos mais entendidos:
Uma dúvida é: o meu DNA setado nas máquinas locais é o do google (8.8.8.8) se eu tivesse um serviço DNS instalado na própria máquina a regra que eu deveria colocar é a mesma que está comentada na seção "LIBERANDO AS REGRAS DE INPUT"?

Grato a todos!


#!/bin/bash

#########################################
# SCRIPT DE FIREWALL 1.0 #
# CRIADO POR Wotila Carneiro #
# DATA DA ULTIMA ALTERAÇÃO: 25/03/2013 #
#########################################

###########################
# DECLARANDO AS VARIÁVEIS #
###########################

# INTERFACE DE REDE LIGADA A INTERNET
IFACE_NET="eth0"

# INTERFACE DE REDE LIGADA A REDE INTERNA
IFACE_LOCAL="eth1"

# REDE INTERNA
REDE_INTERNA="192.168.0.0/24"

# PORTAS TCP LIBERADAS
PORTAS_TCP="20,21,22,53,80,443"

# PORTAS UDP LIBERADAS
PORTAS_UDP="53"

iniciar(){

###############################
# LIMPAR AS REGRAS EXISTENTES #
###############################
iptables -F
iptables -t nat -F

#########################
# POLÍTICA PADRÃO: DROP #
#########################
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

##########################
# COMPARTILHAR A CONEXÃO #
##########################
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $IFACE_NET -j MASQUERADE
echo "Compartilhamento Ativado!"

#######################################
# CRIANDO A IDA E A VOLTA NOS PACOTES #
#######################################
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

################################
# LIBERANDO AS REGRAS DE INPUT #
################################

# SE O SERVIDOR DE DNS FOR O MESMO DO FIREWALL, DESCOMENTE A LINHA ABAIXO
# iptables -t filter -A INPUT -i $IFACE_NET -p udp --dport $PORTAS_UDP -j ACCEPT

# LIBERANDO ACESSO SSH À REDE INTERNA
iptables -t filter -A INPUT -p tcp -s $REDE_INTERNA --dport 22 -j ACCEPT

#################################
# LIBERANDO AS REGRAS DE OUTPUT #
#################################

# LIBERANDO AS PORTAS SEGURAS TCP
iptables -t filter -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT

##################################
# LIBERANDO AS REGRAS DE FORWARD #
##################################
iptables -t filter -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport $PORTAS_UDP -j ACCEPT
}

parar(){
iptables -F
iptables -t nat -F
echo "Regras de Firewall Desativadas!"
}

case "$1" in
"start") iniciar;;
"stop") parar;;
"restart") parar; iniciar;;
*) echo "Use os parâmetros start | stop | restart"
esac







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts