Enviado em 18/04/2015 - 20:10h
Servidor proxy: Dansguardian, Squid3 transparente, Iptables ( é o gateway da rede )
#! /bin/bash
#adicionado depois para ativa regra Block Face
iptables -F
iptables -Z
###fim
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t mangle -F
modprobe ip_tables
modprobe iptable_nat
modprobe ipt_string
echo "1" > /proc/sys/net/ipv4/ip_forward
# IPTABLES restart, start
#?
# Funçoes
libera_ip (){
iptables -t nat -I PREROUTING -s $1 -j ACCEPT
iptables -t nat -I POSTROUTING -s $1 -o eth3 -j MASQUERADE
iptables -I FORWARD -s $1 -j ACCEPT
}
bloqueia_ip (){
iptables -A INPUT -s $1 -j DROP
}
#################
#BLOQUEIA IPs
#bloqueia_ip "192.168.0.200"
# LIBERA NAVEGAO SEM PROXY PARA SERVIDORES!
# A.D
libera_ip "192.168.0.110"
libera_ip "192.168.0.190"
libera_ip "192.168.0.200"
#RGL
libera_ip "192.168.0.122"
libera_ip "192.168.0.36"
##################
#Redicionamento para porta 8080 do Dansguardian
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 8080
# ABRE A CONEXO PARA A REDE LOCAL NA PORTA 8080
#iptables -A INPUT -i eth2 -p tcp --dport 8080 -j ACCEPT
# Liberar DNS Net virtua - Comente as quatro linhas abaixo com # e descomente as da OI
iptables -A FORWARD -s 192.168.0.0/24 -d 186.223.160.24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -d 186.223.160.21 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -d 201.6.4.116 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#####OI DNS
#iptables -A FORWARD -s 192.168.0.0/24 -d 200.222.122.132 -p udp --dport 53 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.0/24 -d 200.222.145.86 -p udp --dport 53 -j ACCEPT
#iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Bloquear social networks
#iptables -I FORWARD -m string --algo bm --string "youtube.com" -j DROP
#iptables -I OUTPUT -m string --algo bm --string "youtube.com" -j DROP
#iptables -I FORWARD -m string --algo bm --string "facebook.com" -j DROP
#iptables -I OUTPUT -m string --algo bm --string "facebook.com" -j DROP
#iptables -I FORWARD -m string --algo bm --string "twitter.com" -j DROP
#iptables -I OUTPUT -m string --algo bm --string "twitter.com" -j DROP
# COmpartilhamento da interface ETH3 > Eth2
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#Bloqueio do Proxy para rede externa
#iptables -A INPUT -p tcp -i eth3 --dport 3128 -j DROP
# BLOQUEIA CONTRA PING DA MORTE E DoS
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j DROP
iptables -A INPUT -p tcp --dport 3128 -i eth2 -j ACCEPT #Proxy
iptables -A INPUT -p tcp --dport 80 -i eth2 -j ACCEPT #HTTP
iptables -A INPUT -p tcp --dport 21 -i eth2 -j ACCEPT #FTP
iptables -A INPUT -p tcp --dport 53 -i eth2 -j ACCEPT #DNS
iptables -A INPUT -p udp --dport 53 -i eth2 -j ACCEPT #DNS
iptables -A INPUT -p tcp --dport 25 -i eth2 -j ACCEPT #SMTP
iptables -A INPUT -p tcp --dport 110 -i eth2 -j ACCEPT #SSL
iptables -A INPUT -p udp --dport 110 -i eth2 -j ACCEPT #SSL
iptables -A INPUT -p tcp --dport 80 -i eth2 -j ACCEPT #SSL
iptables -A INPUT -p udp --dport 80 -i eth2 -j ACCEPT #SSL
iptables -A INPUT -p tcp --dport 443 -i eth2 -j ACCEPT #SSL
iptables -A INPUT -p udp --dport 443 -i eth2 -j ACCEPT #SSL
# ATIVE ESTA ESTTAS DUAS LINHAS SOMENTE SE FOR UTILIZAR O SQUID COMO PROXY
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.0.0/24 --dport 3128 -j REDIRECT --to-ports 8080
#iptables -A INPUT -i eth2 -p tcp --dport 8080 -j ACCEPT
#iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
#iptables -A INPUT -p tcp --dport 4363 -j ACCEPT
#Liberar uma outra subrede
#iptables -A OUTPUT -s 192.168.1.1 -j ACCEPT
#iptables -A INPUT -d 192.168.1.1 -j ACCEPT
#tentativa de liberar atualizaçao JAVA
#iptables -t filter -A FORWARD -p tcp --dport 8443 -j ACCEPT
#iptables -t filter -A FORWARD -p tcp --dport 443 -j ACCEPT
##########
#Lista de IPs liberados para acessar o Facebook
iptables -X
IPS_ACCEPT=$(cat /home/ips_accept.txt)
#Sub-rede interna do ambiente em questão
REDE_INTERNA="192.168.0.0/24"
#Criando nova regra FACEBOOK
iptables -N FACEBOOK
#Transferindo todo tráfego fonte da rede interna para a regra FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK
#Percorre o arquivo dos IPs do Facebook (facebook.txt) e vai colocando REJECT em todos os IPs da rede interna, exceto os liberados.
for i in `cat /home/facebook.txt`; do
#O acesso dos IPs (que caíram na regra FACEBOOK) ao Facebook vai ser rejeitado
iptables -A FACEBOOK -d $i -j REJECT
#Percorre lista de IPs liberados e vai colocando ACCEPT neles
for liberados in $IPS_ACCEPT; do
iptables -I FORWARD -s $liberados -d $i -j ACCEPT
done
done