bozo_man
(usa Ubuntu)
Enviado em 20/05/2009 - 05:13h
Caros companheiros,
Estou com uma duvido que não consigo sanar em nenhum lugar, procurei em todos os lugares, mas mesmo assim o problema ainda continua..
Criei um script do firewall, para funcionar junto ao squid como proxy transparente, e liberando o e-mail outlook.
Não obtive sucesso. Ou seja, sempre tenho que colocar o proxy no IE ou no FIREFOX para funcionar e não funciona se não colocar.
Agora deu um pepino maior ainda.
Ao tentar instalar o HAVP junto ao clamav e squid, o firewall e squid bloquearam todos os acessos.
Consigo pingar certo das maquinas só que não acessa.
gostaria que você pudessem me ajudar.
Preciso do seguinte.
O squid funcionando como transparente e o HAVP funcionando no protocolo HTTP escaneando junto ao CLAMav na procura de virus.
Os scripts são os seguintes;
FIREWALL.SH
#!/bin/bash
IPTABLES=/sbin/iptables
#---INTERFACE DE REDE----
WAN="eth0" #Internet Speedy
LAN="eth1" #Placa Rede Interna
REDE="192.168.0.0/24" #Rede Interna
#--PORTAS UPD E TCP QUE SERAM LIBERADAS---
tcp_ports="22,21,25,44,80,110,443,465,587,995,1863,5190,8345,4500"
udp_ports="53,123,5060"
echo "Desativando as regras de Firewall..."
$IPTABLES -X
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -X
$IPTABLES -t nat -F
$IPTABLES -t nat -Z
echo "Ativando as regras de Firewall..."
#----MODULOS-----
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ip_gre
#----SETA POLITICAS-----
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
#----IMPEDE ALTERACAO DE ROTAS-----
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
#----PROTEGE CONTRA RESPONSES BOGUS-----
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#----PROTEGE CONTRA SYN-FOOD------
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#----CONTRA TRACEROUTE-----
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
#----CONTRA IP SPOOFING----
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
 
#---SAIDA PARA INTERNET----
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#----CONEXAO SQUID----
$IPTABLES -A INPUT -p tcp -i $LAN -s $REDE --dport 3128 -j ACCEPT
#----INPUT-----
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $REDE -j ACCEPT
#----OUTPUT----
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A OUTPUT -o $WAN -p tcp -s $LAN -m multiport --dport $tcp_ports -j ACCEPT
$IPTABLES -A OUTPUT -o $WAN -p udp -s $LAN -m multiport --dport $udp_ports -j ACCEPT
 
#----FORWARD-----
$IPTABLES -A FORWARD -m state --state INVALID -j DROP
 
#----NAT------
$IPTABLES -t nat -A PREROUTING -s $REDE -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
#----ROTEAMENTO----
echo 1 > /proc/sys/net/ipv4/ip_forward
#Liberando portas 25, 110 para rede interna
$IPTABLES -t nat -A POSTROUTING -s $REDE -o $WAN -m multiport -p tcp --dports 25,11 -j MASQUERADE
#Libera as portas DNS para firewall
$IPTABLES -A INPUT -p udp -s 208.67.222.222 --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -s 208.67.220.220 --sport 53 -j ACCEPT
#Liberando OUTLOOK
$IPTABLES -A FORWARD -p udp -s $REDE -d 208.67.222.222 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s $REDE -d 208.67.220.220 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 208.67.222.222 --sport 53 -d $REDE -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 208.67.220.220 --sport 53 -d $REDE -j ACCEPT
#liberando portas para rede interna acessar servidores externos
$IPTABLES -A FORWARD -p tcp -s $REDE --dport 25 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s $REDE --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 25 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 110 -j ACCEPT
#masquerade
$IPTABLES -t nat -A POSTROUTING -j MASQUERADE -o ppp0
$IPTABLES -A FORWARD -i ppp0 -j ACCEPT
#acesso externo ssh
$IPTABLES -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j ACCEPT
#log acesso externo ssh
$IPTABLES -A INPUT -p tcp --dport 22 -j LOG --log-prefix "Acesso SSH"
#acesso externo ftp
$IPTABLES -I FORWARD -p tcp -i $LAN --dport 21 -j ACCEPT
$IPTABLES -I FORWARD -p udp -i $LAN --dport 21 -j ACCEPT
 
#------Protecoes--------#
#protecao contra ddos
$IPTABLES -A INPUT -i ppp0 -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#bloqueio do backorifice
$IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 --dport 31337 -j DROP
$IPTABLES -A INPUT -p udp -s 0/0 -d 0/0 --dport 31337 -j DROP
#bloqueio do netbus
$IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 --dport 12345:12346 -j DROP
$IPTABLES -A INPUT -p udp -s 0/0 -d 0/0 --dport 12345:12346 -j DROP
#contra ping of death
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -j DROP
echo "Regras de Firewall Ativadas com Sucesso!"
SQUID.CONF
#config proxy transparente
http_port 127.0.0.1:3128 transparent
dns_nameservers 208.67.222.222 208.67.222.220
visible_hostname sauron
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir ufs /etc/squid/cache 200 16 256
# Localizacao do logs de acesso
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
# Endereco de rede e sua mascara
acl all src 192.168.0.0/24
always_direct allow all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, news
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl purge method PURGE
acl CONNECT method CONNECT
acl MSNDLL url_regex -i gateway.dll
acl MSN dstdomain loginnet.passport.com
acl msn_ip src 10.10.2.3/32
acl lib_msn req_mime_type -i ^application/x- msn-messenger$
acl liberados dstdomain "/etc/squid/unblock/liberados"
acl bloqueados dstdomain "/etc/squid/block/bloqueados"
acl porn urlpath_regex "/etc/squid/block/porn"
acl site_hack urlpath_regex "/etc/squid/block/sites_hack"
acl palavra_quente url_regex -i "/etc/squid/block/palavra_quente"
# Url que nao deve ser cacheada
acl semcache urlpath_regex "/etc/squid/semCache" \?
no_cache deny semcache
# Dias da semana S - Sunday M - Monday T - Tuesday W - Wednesday H - Thursday F - Friday A - Saturday
# Horarios usados para liberar
#acl horario_manha time M T W H F 07:00-11:59 # Libera das 17:56 as 07:00 – fora do expediente
#acl horario_tarde time M T W H F 13:00-17:55 #Libera das 12:00 as 13:00 – Horário de almoco
 
#Grupo por ip
acl usuarios src "/etc/squid/users/usuarios"
acl diretores src "/etc/squid/users/diretores"
http_access allow MSNDLL
http_access allow MSN
http_access allow lib_msn msn_ip
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access allow purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
## Nega pelo ip
http_access deny usuarios bloqueados
http_access allow diretores bloqueados
#http_access deny url_geral horario_manha
## Nega indenpendente de tudo
http_access allow liberados
http_access deny porn
http_access deny site_hack
http_access deny palavra_quente
 
#LIBERANDO REDE INTERNA
http_access allow all
icp_access allow all
#HAVP
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
#Only http traffic can be scanned
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP
# Localizacao onde esta os erros em portugues
error_directory /usr/share/squid/errors/Portuguese