andre_ramos
(usa openSUSE)
Enviado em 06/12/2010 - 10:51h
Karos amigos!
Estou com duvidas sobre regras para liberar meu firewall para eu acessar a vpn de um cliente.
meu cenário e o seguinte:
tenho minha rede interna que preciso acessar uma VPN de um Servidor de um parceiro nosso. ou seja preciso liberar meu firewall para eu conseguir ter este acesso
o tipo de VPN que utilizo seria pptp com a porta 1723
mas não sei como ficaria a regra, pois sou meigo em firewall
segue meu scrip de firewall
agradeço os colegar desde já
#!/bin/bash
IPTABLES=/usr/sbin/iptables
NETWORK=eth1
WEB=eth0
iniciar () {
# Limpando as regras
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
# Compatilhamento da conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Ativando compatilhamento!"
# Politicas de acesso geral
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
# Compartilhamento da internet para a rede interna
$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Manter conexoes ja estabelecidas para nao parar
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m state --state INVALID -j DROP
# Bloqueia pacotes intencionamente mal-formados
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# Evitando SYN_Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Bloqueia traceroute
$IPTABLES -A INPUT -p udp --dport 33435:33525 -j DROP
# Protecoes contra ataques
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A INPUT -i $NETWORK -s ! 192.168.0.0/24 -j DROP
# Carregamento de Modulos
modprobe ip_nat_ftp
modprobe iptable_nat
modprobe ip_tables
modprobe ip_conntrack
modprobe ipt_MASQUERADE
modprobe ip_conntrack_ftp
# Aceita todo o trafego vindo do loopback e indo pro loopback
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT
# Redirecionando o trafego para a porta 3128
$IPTABLES -t nat -A PREROUTING -i $NETWORK -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
#$IPTABLES -t nat -A PREROUTING -i $NETWORK -p tcp -d ! 200.201.174.207 --dport 443 -j REDIRECT --to-port 3128
$IPTABLES -A INPUT -i eth1 -j ACCEPT
## Redirecionamento de porta 3389 para o Servidor Conecta
PTABLES -I FORWARD -p tcp --dport 3389 -j ACCEPT
$IPTABLES -t nat -I PREROUTING -p tcp -i eth0 --dport 3389 -j DNAT --to-destination 192.168.0.202:3389
# liberar OpenVPN Porta 5000
$IPTABLES -A FORWARD -p tcp --dport 5000 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 5000 -j ACCEPT
# Liberar o MSN
$IPTABLES -A FORWARD -s 192.168.0.221/24 -p tcp --dport 1863 -j ACCEPT # HUMBERTO
$IPTABLES -A FORWARD -s 192.168.0.221/24 -d loginnet.passport.com -j ACCEPT # HUMBERTO
# Bloquear o MSN
$IPTABLES -A FORWARD -s 192.168.0.0/24 -p tcp --dport 1863 -j REJECT
$IPTABLES -A FORWARD -s 192.168.0.0/24 -d loginnet.passport.com -j REJECT
# Bloquear IPS de sites proibidos
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 74.208.12.174 -j DROP # koolim.com
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 210.17.215.19 -j DROP #imunitive.com
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 64.13.161.58 -j DROP # imo.im
$IPTABLES -I FORWARD -s 192.168.0.0/24 -d 64.13.161.61 -j DROP # imo.im
# Regras para liberar o outlook
$IPTABLES -A FORWARD -p udp -s 192.168.0.0/24 -d 200.175.182.139 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 200.175.182.139 --sport 53 -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 192.168.0.0/24 -d 200.175.5.139 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 200.175.5.139 --sport 53 -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 25 -j ACCEPT # SMTP
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 587 -j ACCEPT # SMTP
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 110 -j ACCEPT # POP3
# Regras para liberar o FTP
$IPTABLES -A INPUT -i $NETWORK -p tcp -s 192.168.0.0/24 --dport 20 -j ACCEPT # FTP
$IPTABLES -A INPUT -i $NETWORK -p tcp -s 192.168.0.0/24 --dport 21 -j ACCEPT # FTP
# INPUT # Pacotes que entram na rede
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 22 -j ACCEPT # SSH
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 80 -j ACCEPT # HTTP
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 443 -j ACCEPT # HTTPS
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 3389 -j ACCEPT # Conexão Remota
# FORWARD # Pacotes que circulam na rede
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 22 -j ACCEPT # SSH
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 8333 -j ACCEPT # HTTP
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 443 -j ACCEPT # HTTPS
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 3389 -j ACCEPT # Conexão Remota
$IPTABLES -A FORWARD -i $NETWORK -s 192.168.0.0/24 -j ACCEPT
#--------------------------------------------------------------------------------------
echo "Firewall Ativado"
}
parar(){
echo "Regras de firewall e compartilhamento desativados"
iptables -F
iptables -t nat -F
iptables -t mangle -F
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar;;
*)echo "Use os paramentros start ou stop"
esac