Pular para o conteúdo

Script de Firewall

Esse firewall está em pleno uso, em dois servidores que montei, porém ficarei agradecido a todos que venham a mandar atualizações.

Atenciosamente,
Leandro Bruno Teixeira
E-mail: leandrobrunoo@msn.com
leandro bruno teixeira leandrobrunoo
Hits: 7.919 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Esse firewall está em pleno uso, em dois servidores que montei, porém ficarei agradecido a todos que venham a mandar atualizações.

Atenciosamente,
Leandro Bruno Teixeira
E-mail: leandrobrunoo@msn.com
Download 4807.firewall Enviar nova versão

Esconder código-fonte

#!/bin/bash
# Autor: Leandro Bruno Teixeira
# E-mail: leandrobrunoo@msn.com
# Manutenção: Leandro Bruno Teixeira
# Download: http://seusite.com.br/downloads/firewall 
#
# 
#
# Nome do Programa: Script de firewall
#   Funcionalidade do firewall: esse firewall compartilha a internet, abre as portas 22,3128 e
#   Redireciona todo o trafego da porta 80 para a porta do squid 3128, redireciona tudo que vir para #   porta 9000 9001 9002 9003 para o servidor Geovision CFTV ip-10.0.0.6/24.
# 
#
#
#
#
#
# Histórico:
#
# v1.0 17-10-2010
#
#   - Versão inicial
#
#
# 
# Licença: GPL
#
#
#
# Agradecimentos:
#
#   Agradecemos a todos os colaboradores.
#       
# Raphaela lima - Minha namorada ajudou muito :P
# 
#
#
# Limpando as regras
iptables -F
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Compartilha a conexão pppoe que a na eth0
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Abre a porta 22 tcp, para o uso do ssh 
iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT

# Abre a porta 3128 tcp udp, para o uso do squid
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A INPUT -p udp --destination-port 3128 -j ACCEPT

# Redireciona todo o trafego da porta 80 para a porta do squid 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p udp --dport 80 -j REDIRECT --to-port 3128

# redireciona tudo que vir para porta 9000 9001 9002 9003 para o servidor Geovision CFTV ip-10.0.0.6/24
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 9090 -j DNAT --to-destination 10.0.0.6:9090
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 9001 -j DNAT --to-destination 10.0.0.6:9001
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 9002 -j DNAT --to-destination 10.0.0.6:9002
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 9003 -j DNAT --to-destination 10.0.0.6:9003

# Abre para a rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --syn -s 10.0.0.0/255.255.255.0 -j ACCEPT

# Fecha o resto
iptables -A INPUT -p tcp --syn -j DROP

# Ativando a regra
iptables -t filter -P FORWARD ACCEPT

Calcular sub-rede, listar e salvar MACs e IPs da rede local

Find em arquivos compactados (grep em arquivos tgz)

clean_server.sh - Script para limpar o servidor

Verifica conexão de Net Virtua

mkzeowmp - zeo mount point para PZP (python, zope e plone)

#1 Comentário enviado por pochrafa em 13/11/2010 - 13:59h
Fala Leandro, blz cara?

Muito bacana o seu script, mas mudaria a politica do FORWARD pra ter um controle mais efetivo do que as maquinas da sua rede irao acessar. Claro que vai dar um "pouco"mais de trabalho pra vc porque vai precisar monitorar e ver quais portas efetivamente estao sendo usadas para saida.
Outro ponto que nao entendi foi a seguinte linha:
ptables -A INPUT -p udp --destination-port 3128 -j ACCEPT
Porque udp? Pelo que lembro o SQUID roda no 3128/tcp não é ?!

Bom é isso ai !
#2 Comentário enviado por leandrobrunoo em 15/11/2010 - 09:18h
Obrigado,

Eu sou novo nesse mundo Linux, ainda estou começando a criar meus scripts, mais vlw mesmo pela dica, vou da uma olhada na comunidade sobre essas politicas do FORWARD. e vou tambem comentar essa linha
iptables -A INPUT -p udp --destination-port 3128 -j ACCEPT

Contribuir com comentário

Entre na sua conta para comentar.