rjdiniz
(usa Linux Mint)
Enviado em 22/01/2009 - 12:37h
A bendita DECLARAÇÃO PERIÓDICA DE INFORMAÇÕES (DPI), não consigo fazer funcionar de forma alguma, já testei varias dicas e configurações... segue abaixo meu script de firewall:
#!/bin/bash
# @ Tec Informática
# File: sharing-firewall
# Versão: 1.03 (1.01 - Conectividade Social) (1.02 - DPI) (1.03 - FTP)
# Path: /etc/init.d/
# Por: Raul Júnior <raul@arrobatec.com.br>
iniciar (){
# Ativando o Roteamento entre as Placas de Rede (eth0 e eth1)
echo "1" > /proc/sys/net/ipv4/ip_forward
# Limpando as tabelas de entrada do IPTables
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
# Abrindo todas as saídas e entradas do sistema
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# DPI Teste
iptables -t nat -A POSTROUTING -s 192.168.1.200 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp -s 192.168.1.200 -j ACCEPT
# Conectividade Social - Parte 1
iptables -t nat -A PREROUTING -i eth1 -d 200.201.174.0/24 -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -d 200.201.174.0/24 -j ACCEPT
CAIXA="200.252.47.0/24 200.201.160/20 "
for ip in $CAIXA
do
iptables -t nat -A PREROUTING -p tcp -d $ip -j ACCEPT
iptables -A FORWARD -p tcp -d $ip -j ACCEPT
done
iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT
# Liberando MSN para ip 192.168.1.45
iptables -A FORWARD -s 192.168.1.45 -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -s 192.168.1.45 -p tcp --dport 5190 -j ACCEPT
# Fecha as Portas de dentro (Rede) para fora (Internet)
# Feche as Portas que forem necessárias a administração da sua Rede
# Portas do MSN
iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -p tcp --dport 5190 -j REJECT
# Mascarando conexões da rede, fazendo NAT (Compartilha a Conexão)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Direcionando as solicitações da Rede para a porta do SQUID
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j REDIRECT --to-port 3128
# Fazendo log dos acessos da Rede
# iptables -A INPUT -p tcp --dport 3128 -i eth1 -j LOG --log-level 6 --log-prefix "FIREWALL: http: "
# iptables -A INPUT -p udp --dport 3128 -i eth1 -j LOG --log-level 6 --log-prefix "FIREWALL: http: "
# Libera para Rede Local
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
# Conectividade Social - Parte 2
iptables -A FORWARD -s 192.168.1.0/24 -p tcp -d 200.201.174.207 --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp -d 200.201.174.204 --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -p tcp -d 200.201.174.204 --dport 2631 -j ACCEPT
# Abre as Portas de fora (Internet) para dentro (Rede)
# Todas as Portas que forem necessárias tem que ser liberadas
# DPI
iptables -A INPUT -p tcp --dport 24001 -j ACCEPT
iptables -A FORWARD -p tcp --dport 24001 -j ACCEPT
# Cameras
iptables -A INPUT -p tcp --dport 3132
iptables -A INPUT -p tcp --dport 3131
iptables -A INPUT -p tcp --dport 3550
iptables -A INPUT -p tcp --dport 3650
iptables -A INPUT -p tcp --dport 4550
iptables -A INPUT -p tcp --dport 5550
# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Remote
iptables -A INPUT -p tcp --dport 5899 -j ACCEPT
iptables -A INPUT -p tcp --dport 4899 -j ACCEPT
# Terminal Server
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
# VNC
# Cida
iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
iptables -A INPUT -p tcp --dport 5801 -j ACCEPT
# Alexandre
iptables -A INPUT -p tcp --dport 5945 -j ACCEPT
iptables -A INPUT -p tcp --dport 5845 -j ACCEPT
# Ignora Pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Protecao Contra Ip Spoofing
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
# Protecao Contra Synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Protecao Contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Protecao Contra ataques Dos
iptables -A INPUT -m state --state INVALID -j DROP
# Redireciona as Portas de fora (Internet) para dentro (Rede)
# para um endereço de IP expecifico...
# Todas as Portas que forem necessárias tem que ser redirecionadas
# Cameras 192.168.1.100
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3132 -j DNAT --to-dest 192.168.1.100
iptables -A FORWARD -p tcp -i eth0 --dport 3132 -d 192.168.1.100 -j ACCEPT
# Cameras 192.168.1.51
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3131 -j DNAT --to-dest 192.168.1.51
iptables -A FORWARD -p tcp -i eth0 --dport 3131 -d 192.168.1.51 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3550 -j DNAT --to-dest 192.168.1.51
iptables -A FORWARD -p tcp -i eth0 --dport 3550 -d 192.168.1.51 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3650 -j DNAT --to-dest 192.168.1.51
iptables -A FORWARD -p tcp -i eth0 --dport 3650 -d 192.168.1.51 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4550 -j DNAT --to-dest 192.168.1.51
iptables -A FORWARD -p tcp -i eth0 --dport 4550 -d 192.168.1.51 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5550 -j DNAT --to-dest 192.168.1.51
iptables -A FORWARD -p tcp -i eth0 --dport 5550 -d 192.168.1.51 -j ACCEPT
# SSH
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 192.168.1.1
iptables -A FORWARD -p tcp -i eth0 --dport 22 -d 192.168.1.1 -j ACCEPT
# Remote
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5899 -j DNAT --to-dest 192.168.1.45
iptables -A FORWARD -p tcp -i eth0 --dport 5899 -d 192.168.1.45 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4899 -j DNAT --to-dest 192.168.1.45
iptables -A FORWARD -p tcp -i eth0 --dport 4899 -d 192.168.1.45 -j ACCEPT
# pcAnywhare
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5631 -j DNAT --to-dest 192.168.1.45
iptables -A FORWARD -p tcp -i eth0 --dport 5631 -d 192.168.1.45 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5632 -j DNAT --to-dest 192.168.1.45
iptables -A FORWARD -p tcp -i eth0 --dport 5632 -d 192.168.1.45 -j ACCEPT
# Terminal Server
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-dest 192.168.1.200
iptables -A FORWARD -p tcp -i eth0 --dport 3389 -d 192.168.1.200 -j ACCEPT
# VNC - Cida
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5901 -j DNAT --to-dest 192.168.1.101
iptables -A FORWARD -p tcp -i eth0 --dport 5901 -d 192.168.1.101 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5801 -j DNAT --to-dest 192.168.1.101
iptables -A FORWARD -p tcp -i eth0 --dport 5801 -d 192.168.1.101 -j ACCEPT
# VNC - Alexandre
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5945 -j DNAT --to-dest 192.168.1.45
iptables -A FORWARD -p tcp -i eth0 --dport 5945 -d 192.168.1.45 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5845 -j DNAT --to-dest 192.168.1.45
iptables -A FORWARD -p tcp -i eth0 --dport 5845 -d 192.168.1.45 -j ACCEPT
# Gerando Logs
sleep 1
iptables -A INPUT -d 10.1.1.100 -j LOG
iptables -A INPUT -d 192.168.1.1 -j LOG
iptables -A FORWARD -s 10.1.1.0/24 -j LOG
iptables -A FORWARD -d 192.168.1.0/24 -j LOG
iptables -A OUTPUT -s 10.1.1.0/24 -j LOG
iptables -A OUTPUT -d 192.168.1.0/24 -j LOG
# Impede a abertura de novas conexões, efetivamente bloqueando o acesso
# externo ao seu servidor, com exeção das portas e faixas de endereços
# especificados anteriormente...
iptables -A INPUT -p tcp --syn -j DROP
echo "Sharing-Firewall ativo..."
}
parar (){
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
echo "Sharing-Firewall desativado..."
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar;;
*) echo "Use os parâmetros start ou stop"
esac
# Fim do Arquivo!