felipe_alves
(usa Fedora)
Enviado em 19/07/2013 - 13:48h
Boa tarde pessoal
Estou implementando aqui na empresa um firewall em iptables e um squid, porém estou com alguns problemas, a internet funciona normalmente as regras do iptables estão funcionando, só estou com uma duvida, a internet ficou um pouco mais lenta com o squid e o firewall... gostaria que me ajudassem a achar algum problema nos arquivos de conf.
Utilizo Cent OS.
fw.sh
#!/bin/bash
# IP da Rede
NETWORK=192.168.0.0/24
# Interface da Rede Local - LAN
ILAN=eth0
# Interface da Rede Externa - Internet
INET=eth1
IPT=/sbin/iptables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REDIRECT
/sbin/modprobe ipt_MASQUERADE
INTERNET () {
$IPT -t nat -A POSTROUTING -o $INET -s $NETWORK -j MASQUERADE
$IPT -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo 1 > /proc/sys/net/ipv4/ip_forward
}
LIMPAR () {
# Removendo regras
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
# Apagando chains
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
# Zerando contadores
$IPT -Z
$IPT -t nat -Z
$IPT -t mangle -Z
}
PARAR () {
# Limpando regras
LIMPAR
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
# Compartilhando a Internet
INTERNET
}
INICIAR () {
# Limpando regras
LIMPAR
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP
# Compartilhando a Internet
INTERNET
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
for i in /proc/sys/net/ipv4/conf/*; do
echo 0 > $i/accept_redirects
echo 0 > $i/accept_source_route
echo 1 > $i/log_martians
echo 1 > $i/rp_filter
done
#Bind9 - Servidor DNS
$IPT -A INPUT -p udp --dport 53 -j ACCEPT
# DHCP - Servidor DHCP
$IPT -A INPUT -i $ILAN -p udp --sport 68 --dport 67 -j ACCEPT
# Squid - Servidor Proxy
$IPT -A INPUT -i $ILAN -p tcp --dport 3128 -j ACCEPT
#SSH - Servidor SSH
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 10 -j DROP
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --set
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -j ACCEPT
#servicos
# DNS - Serviçde Nomes de Dominios
$IPT -A FORWARD -o $INET -p udp -m multiport --dports 53,5353 -j ACCEPT
#HTTP - Protocolo de Transferêia de Hypertext
$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 80,8080 -j ACCEPT
# HTTPS - Protocolo de Transferêia de Hypertext Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 443 -j ACCEPT
# Ping
$IPT -A INPUT -i $ILAN -p icmp --icmp-type 8 -j ACCEPT
$IPT -A FORWARD -o $INET -p icmp --icmp-type 8 -j ACCEPT
# POP3 - Protocolo de Correio
$IPT -A FORWARD -o $INET -p tcp --dport 110 -j ACCEPT
# POP3S - Protocolo de Correio Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 995 -j ACCEPT
#RDP - Protocolo de Áea de Trabalho Remota
$IPT -A FORWARD -o $INET -p tcp --dport 3389 -j ACCEPT
# SSH - Shell Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 22 -j ACCEPT
# SMTP - Protocolo Simples para Transferêia de Correio
$IPT -A FORWARD -o $INET -p tcp --dport 25 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 587 -j ACCEPT
# SSMTP - Protocolo Simples para Transferêia de Correio Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 465 -j ACCEPT
# Manter ConexõEstabelecidas
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Liberando o Trágo na Interface loopback
$IPT -A INPUT -i lo -j ACCEPT
################################## LOG ###################################
$IPT -A INPUT -p tcp -m multiport ! --dports 0:1056 -j DROP
$IPT -A INPUT -p udp -j DROP
$IPT -A INPUT -p icmp -j DROP
$IPT -A INPUT -m limit --limit 3/m --limit-burst 3 -j LOG --log-prefix "LOG-FW: "
}
case "$1" in
start)
echo " * Starting Firewall iptables"
INICIAR
;;
stop)
echo " * Stopping Firewall iptables"
PARAR
;;
restart|reload)
echo " * Reloading Firewall iptables"
INICIAR
;;
*)
echo " * Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
e o squid.conf
http_port 3128 transparent
visible_hostname farore
#####Configuracao do armazenamento de cache do servidor######
#Quantidade de memoria RAM dedicada ao cache.
cache_mem 64 MB
#Determina o tamanho maximo do arquivo em cache
maximum_object_size_in_memory 8192 KB
#Maximo e minimo de objetos salvos no hd
maximum_object_size 512 MB
minimum_object_size 0 KB
#percentagem de uso do cache que ira descartar os arquivos mais antigos.
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 60048 16 256
# Espaco em MB que sera usada para cache
# Numero de pastas que serao criadas
# Numero de sub-pastas que serao criadas
#Log do cache.
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
##Criacao dos controles de acesso#
acl rede src 192.168.0.0/24
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
#Filtragem de conteudo#
#Whitelist
acl siteseguro url_regex -i "/etc/squid/regras/siteseguro"
http_access allow siteseguro
#BlackList
acl palavrasbloq url_regex -i "/etc/squid/regras/palavrasbloq"
http_access deny palavrasbloq
http_access allow localhost
http_access allow rede
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#limitando a velocidade dos sites e ip's especificos#
#DELAYS POOLS#
#acl sites_1k url_regex -i "/etc/squid/regras/mod_bandwidth/sites_1k.txt"
#acl sites_50k url_regex -i "/etc/squid/regras/mod_bandwidth/sites_50k.txt"
#acl ips_1k src "/etc/squid/regras/mod_bandwidth/ips_1k.txt"
#acl ips_50k src "/etc/squid/regras/mod_bandwidth/ips_50k.txt"
#delay_pools 2
#delay_class 1 2
#delay_parameters 1 -1/-1 1000/1000 1000/1000
#delay_access 1 allow sites_1k ips_1k
# Libera 50kb/s para os sites cadastrados no arquivo "sites_50k.txt"
#delay_class 2 2
#delay_parameters 2 -1/-1 50000/50000 50000/50000
#delay_access 2 allow sites_50k
#delay_access 1 allow sites_50k ips_50k
#Liberando o acesso de quem nao foi barrado pelas regras#
http_access allow localhost
http_access allow rede
http_access deny all
quem puder me ajudar... agradecerei muito.