
		conesteel
		
		(usa Debian)
		
		Enviado em 29/10/2014 - 11:56h 
		
#!/bin/bash 
# Interface da Internet: 
ifinternet="eth0" 
# Interface da rede local 
iflocal="eth1" 
iniciar(){ 
modprobe ip_tables 
modprobe iptable_filter 
modprobe iptable_mangle 
modprobe iptable_nat 
modprobe ipt_MASQUERADE 
# Desabilitando o trafego IP entre as placas de rede 
echo 0 > /proc/sys/net/ipv4/ip_forward 
# Configurando a Protecao anti-spoofing 
for spoofing in /proc/sys/net/ipv4/conf/*/rp_filter; do 
echo 1 > $spoofing 
done 
# Impedimos que um ataque possa maliciosamente alterar alguma rota 
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects 
# Utilizando em diversos ataques, isso possibilita que o atacante determine o "caminho" que seu pacote vai percorrer (roteadores) ate seu destino. 
# Junto com spoof, isso se torna muito perigoso. 
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route 
# Protecao contra responses bogus 
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 
# Protecao contra ataques de syn flood (inicio da conexao TCP). Tenta conter ataques de DoS. 
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 
# LIBERANDO PORTA 80 PARA O APACHE 
#iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT 
#iptables -A OUTPUT -p tcp --dport 80 --syn -j ACCEPT 
#iptables -A INPUT -p tcp -i $ifinternet --dport 80 -j ACCEPT 
#iptables -A INPUT -p -m state --state ESTABLISHED,RELATED -j ACCEPT 
#iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT 
#iptables -A INPUT -p tcp --destination-port 23025 -j ACCEPT 
  
# Liberando para rede interna 
iptables -A INPUT -p tcp --syn -s 128.100.0.0/16 -j ACCEPT 
# LIBERANDO CAMERAS 
iptables -A INPUT -p tcp --dport 23001:24200 -j ACCEPT
 
iptables -t nat -A PREROUTING -i $ifinternet -p tcp --dport 80 -j DNAT --to-destination 128.100.0.1 
iptables -t nat -A PREROUTING -i $ifinternet -p udp --dport 80 -j DNAT --to-destination 128.100.0.1 
# PORTA 80 - ACEITA PARA REDE LOCAL 
iptables -A INPUT -i $iflocal -p tcp --dport 80 -j ACCEPT 
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT 
iptables -A INPUT -p tcp --destination-port 23025 -j ACCEPT 
# No iptables, temos de dizer quais sockets sao validos em uma conexao 
iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT 
# Cadeia de Reenvio (FORWARD). 
# Primeiro, ativar o mascaramento (nat). 
iptables -t nat -F POSTROUTING 
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE 
# Agora podemos dizer quen e o que podem acessar externamente 
# No iptables, o controle de acesso a rede externa e feito na cadeia "FORWARD" 
# PORTA 3128 - ACEITA PARA REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 3128 -j ACCEPT 
iptables -t nat -A PREROUTING -i $iflocal -p tcp --dport 80 -j REDIRECT --to-port 3128
# PORTA 80 ACESSO EXTERNO (APACHE) 
#iptables -A FORWARD -p tcp --dport 80 -j ACCEPT 
#iptables -t nat -A PREROUTING -i $ifinternet -p tcp --dport 80 -j DNAT --to 1xx.xxx.x.x:80 
#iptables -t nat -A PREROUTING -d 201.83.94.4 -p tcp --dport 80 -j DNAT --to 128.100.0.1:80 
#iptables -t nat -A PREROUTING -d 201.83.94.4 -p tcp --dport 23025 -j DNAT --to 128.100.0.1:23025 
 
#Câmeras
iptables -A PREROUTING -p tcp -m tcp -i $ifinternet --dport 24172 -j DNAT --to-destination 128.100.0.172:24172
# PORTA 53 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p udp --dport 53 -j ACCEPT 
# PORTA 5017 - ACEITA PARA A REDE LOCAL (CAT) 
iptables -A FORWARD -i $iflocal -p udp --dport 5017 -j ACCEPT 
# PORTA 110 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 110 -j ACCEPT 
# PORTA 25 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 25 -j ACCEPT 
# PORTA 587 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 587 -j ACCEPT
# PORTA 443 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 443 -j ACCEPT 
# PORTA 21 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 21 -j ACCEPT 
# PORTA 20 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 20 -j ACCEPT 
# PORTA 8005 - ACEITA PARA A REDE LOCAL 
iptables -A FORWARD -i $iflocal -p tcp --dport 8005 -j ACCEPT 
# No iptables, temos de dizer quais sockets sao validos em uma conexao 
iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT 
#ATIVANDO O MODULO
modprobe ipt_string
echo 1 > /proc/sys/net/ipv4/ip_forward 
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP 
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter 
iptables -A INPUT -m state --state INVALID -j DROP 
# PORTA 22 - ACEITA PARA A REDE LOCAL 
iptables -A INPUT -i $iflocal -j ACCEPT 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
# Fecha o resto 
iptables -A INPUT -p tcp --syn -j DROP 
# LOCALHOST - ACEITA TODOS OS PACOTES 
iptables -A INPUT -i lo -j ACCEPT 
} 
parar(){ 
iptables -F 
iptables -F -t nat 
} 
case "$1" in 
"start") iniciar ;; 
"stop") parar ;; 
"restart") parar; iniciar ;; 
*) echo "Use os parâmetros start ou stop" 
esac