Script iptables avaliação

1. Script iptables avaliação

Marco
loko2010

(usa Outra)

Enviado em 21/03/2012 - 13:13h

Boa tarde pessoal, com a ajuda do site montei o seguinte script:


###################################################################
# Scrip de Firewall #
###################################################################

###########################
# DECLARANDO AS VARIAVEIS #
###########################
### Internet
IFACE_WEB="eth0"
### Rede Local
IFACE_REDE="eth1"
### Faixa de IP
REDE_INTERNA="192.168.0.0/24"
### Portas TCP - liberadas
PORTAS_TCP="20,21,53,80"
### Portas liberadas - pop e smtp
PORTAS_REDE_INTERNA="25,110"
### Portas liberadas DNS
PORTAS_DNS="53"

############################################################
# FUNCAO INICIAR #
# Politica DROP. #
############################################################
function INICIAR () {
### Limpa as regras existentes
iptables -F
iptables -t nat -F
### Define as politicas padroes como DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
### Habilita o roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward
### Mantem conexoes ja estabelecidas
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

#################
# REGRAS DE NAT #
#################
### Compartilha a Internet
iptables -t nat -A POSTROUTING -o $IFACE_WEB -j MASQUERADE

###################
# REGRAS DE INPUT #
###################
### Autoriza pacotes provenientes da interface Loopback e da Rede Local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $IFACE_REDE -j ACCEPT
### Libera o acesso SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
### Libera o squid - rede interna
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
### Aceita ping - rede interna
iptables -A INPUT -s $REDE_INTERNA -p icmp --icmp-type 8 -j ACCEPT
### Abre as portas
iptables -A INPUT -p tcp -m multiport --dport $PORTAS_TCP -j ACCEPT

####################
# REGRAS DE OUTPUT #
####################
### Libera DNS - localhost
iptables -A OUTPUT -p tcp --dport $PORTAS_DNS -j ACCEPT
iptables -A OUTPUT -p udp --dport $PORTAS_DNS -j ACCEPT
### Libera as portas 80 e 443 - localhost
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
### Aceita ping
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
### Abre as portas
iptables -A OUTPUT -p tcp -m multiport --dport $PORTAS_TCP -j ACCEPT

#####################
# REGRAS DE FORWARD #
#####################
### Libera as portas - rede interna
iptables -A FORWARD -p tcp -m multiport --dport $PORTAS_REDE_INTERNA -j ACCEPT

}

### FINAL DA FUNCAO INICIAR


############################################################################
# CRIA FUNCAO PARAR #
# Limpa todas as regras #
# Politica ACCEPT #
############################################################################

function PARAR () {
### Limpa as regras
iptables -F
iptables -t nat -F
### Define as politicas padroes como ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
### Habilita o roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

#################
# REGRAS DE NAT #
#################
# Compartilha a Internet
iptables -t nat -A POSTROUTING -s $REDE_INTERNA -o $IFACE_WEB -j MASQUERADE

}

### FINAL DA FUNCAO PARAR

case "$1" in
start)
echo " * Iniciando Firewall iptables"
INICIAR
;;
stop)
echo " * Parando Firewall iptables"
PARAR
;;
restart|reload)
echo " * Reiniciando Firewall iptables"
PARAR
INICIAR
;;
*)
echo "Insira um parametro valido: /etc/init.d/firewall {start|stop|restart|reload}"
exit 1
esac

exit 0

#############################
# FIM DO SCRIPT DE FIREWALL #
#############################

O Squid esta configurado como autenticado e tudo bloqueado, um grupo tem acesso total e outro tem acesso apenas a alguns sites.

A principio esta funcionando legal inclusive bloqueando o ultrasurf.

Gostaria que dessem uma olhada para verificar se as regras estão certas e em ordem.

Não consegui funcionar o Outlook, acredito que tenha alguma regra especifica que não estou conseguindo perceber...

Mesmo bloqueando a porta 443 não tive problemas com bancos, esta certo isso?

Obrigado!



  


2. Re: Script iptables avaliação

César tinum da silva
mago_dos_chats

(usa Ubuntu)

Enviado em 25/03/2012 - 19:55h

Mto bom cara... bom pra começar ... vlw


3. Re: Script iptables avaliação

Marco
loko2010

(usa Outra)

Enviado em 25/03/2012 - 23:10h

Obrigado,

Coloquei em produção o script na sexta-fira e já peguei alguns probleminhas..... estou dando um refinada e logo postarei aqui para compartilhar e aprender mais um pouco....


4. Re: Script iptables avaliação

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 25/03/2012 - 23:21h

iptables -A INPUT -i $IFACE_REDE -j ACCEPT

a regra acima esta liberando os serviços que entram no servidor firewall/proxy (se estão na mesma máquina).
Não é recomendado, e sim liberar apenas os serviços necessários.

Sobre o Outlook, precisa liberar as portas 110,25 na chain FORWARD, e jamais libere as portas 80 e 443 no FORWARD, deve forçar navegar pelo proxy, se o usuário retirar as configurações do navegador, simplemente deixa de navegar, obrigando assim voltar as configurações anteriores e assim navegar dentro das regras definidas do proxy squid.

Maiores informações: http://mundodacomputacaointegral.blogspot.com/

O Ultrasurf é tranquilo bloquear, mas o TOR é mais complicado, se conseguir diz como fez ok.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts