Proxy Squid + Dansguardian rodando porem não filtra e bloqueia conteudo...Help!!

Iniciado por frankblu, 30 de Abril de 2011, 11:42

tópico anterior - próximo tópico

frankblu

Pessoal estou com um problema, instalei o SQUID + Dansguardian, o proxy esta rodando certinho,
porém o Dansguardian nao esta filtrando
acho que o problema esta em algum redirecionamento no iptalbes...

SEGUE MEU SQUID +  IPTABLES
=============
    http_port 3128
    visible_hostname solucao

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 563 # https, snews
    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 Safe_ports port 901 # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT

    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

    acl redelocal src 10.1.1.0/24 #Aqui coloque de acordo com o seu IP e rede.
    http_access allow localhost
    http_access allow redelocal

    http_access deny all
=================

IPTABLES
--------------------
#!/bin/bash
#
# Shell Script - Firewall
# =======================


# IP da Rede
NETWORK=10.1.1.0/24

# Interface da Rede Local - LAN
ILAN=eth1

# Interface da Rede Externa - Internet
INET=eth0

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 () {
    # Mascaramento
    $IPT -t nat -A POSTROUTING -o $INET -s $NETWORK -j MASQUERADE

    # Ativando o redirecionamento de pacotes
    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

    # Política Padrão
    $IPT -P INPUT ACCEPT
    $IPT -P OUTPUT ACCEPT
    $IPT -P FORWARD ACCEPT

    # Compartilhando a Internet
    INTERNET
}

INICIAR () {
    # Limpando regras
    LIMPAR

    # Política Padrão
    $IPT -P INPUT DROP
    $IPT -P OUTPUT ACCEPT
    $IPT -P FORWARD DROP

    # Compartilhando a Internet
    INTERNET

    ################### ATRIBUINDO SEGURANÇA ####################
   
    # Proteção para SYN Flood
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies
   
    # Rejeitar requisição de ICMP Echo destinado a Broadcasts e Multicasts
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
   
    # Ignorar Mensagens Falsas de icmp_error_responses
    echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

    for i in /proc/sys/net/ipv4/conf/*; do
        # Não Redirecionar Mensagens ICMP
        echo 0 > $i/accept_redirects
       
        # Proteção a Ataques IP Spoofing
        echo 0 > $i/accept_source_route
       
        # Permitir que Pacotes Forjados sejam logados pelo próprio kernel
        echo 1 > $i/log_martians
       
        # Verificar Endereço de Origem do Pacote (Proteção a Ataques IP Spoofing)
        echo 1 > $i/rp_filter
    done

    ############### ADICIONANDO REGRAS P/ SERVIDORES ################
   
    # Apache - Servidor Web
    #$IPT -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

    # Apache TomCat - Servidor Web
    $IPT -A INPUT -p tcp --dport 8080 -j ACCEPT

    # Bind9 - Servidor DNS
    $IPT -A INPUT -p udp --dport 53 -j ACCEPT

    # DanGuardian - Servidor Proxy
    #$IPT -A INPUT -i $ILAN -p tcp --dport 8080 -j ACCEPT
    $IPT -t nat -A PREROUTING -i $ILAN -p tcp --dport 80 -j REDIRECT --to-port 8080

    # DHCP - Servidor DHCP
    #$IPT -A INPUT -i $ILAN -p udp --sport 68 --dport 67 -j ACCEPT
   
    # IPP - Protocolo de Impressão na Internet
    #$IPT -A INPUT -i $ILAN -p tcp --dport 631 -j ACCEPT
    #$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 138,631 -j ACCEPT

    # NFS - Servidor NFS
    $IPT -A INPUT -p tcp -m multiport --dports 111,2049,51049 -j ACCEPT
    $IPT -A INPUT -p udp -m multiport --dports 111,49176 -j ACCEPT

    # ProFTP - Servidor FTP
    $IPT -A INPUT -i $ILAN -p tcp --dport 21 -j ACCEPT
    $IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 49152:49162 -j ACCEPT

    # Postfix - Servidor de E-mail
    $IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 25,110 -j ACCEPT
    $IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 465,995 -j ACCEPT

    # PostgreSQL - Servidor Postgresql
    #$IPT -A INPUT -i $ILAN -p tcp --dport 5432 -j ACCEPT

    # Samba - Serviços de Diretório da Microsoft
    #$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 445,139 -j ACCEPT
    #$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 137,138 -j ACCEPT

    # Squid
    $IPT -A INPUT -i $ILAN -p tcp --dport 3128 -j ACCEPT


    # SSH - Servidor SSH
    #$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 10 -j DROP
    #$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
    #$IPT -A INPUT -p tcp --dport 22 -j ACCEPT

    # VNC - Servidor de Acesso Remoto
    $IPT -A INPUT -p tcp --dport 5900 -j ACCEPT

    # Webmin - Gerenciador Web de Servidor
    #$IPT -A INPUT -i $ILAN -p tcp --dport 10000 -j ACCEPT

    ############### ADICIONANDO REGRAS P/ SERVIÇOS ##################
   
    # DNS - Serviço de Nomes de Dominios
    $IPT -A FORWARD -o $INET -p udp -m multiport --dports 53,5353 -j ACCEPT

    # FTP - Protocolo de Transferência de Arquivo
    $IPT -A FORWARD -o $INET -p tcp --dport 21 -j ACCEPT

    # HTTP - Protocolo de Transferência de Hypertext
    $IPT -A FORWARD -o $INET -p tcp -m multiport --dports 80,8080 -j ACCEPT

    # HTTPS - Protocolo de Transferência de Hypertext Seguro
    $IPT -A FORWARD -o $INET -p tcp --dport 443 -j ACCEPT

    # MSNMS - Serviço de Mensageiro de Rede da Microsoft
    $IPT -A FORWARD -o $INET -p tcp -m multiport --dports 1863,7001 -j ACCEPT
    $IPT -A FORWARD -o $INET -p udp --dport 7001 -j ACCEPT

    # NTP - Protocolo para sincronização dos relógios
    $IPT -A FORWARD -o $INET -p udp --dport 123 -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 Área de Trabalho Remota
    $IPT -A FORWARD -o $INET -p tcp --dport 3389 -j ACCEPT

    # SSDP - Protocolo para Descoberta de Serviços Simples
    $IPT -A INPUT -i $ILAN -p udp --dport 1900 -j ACCEPT

    # SSH - Shell Seguro
    $IPT -A FORWARD -o $INET -p tcp --dport 22 -j ACCEPT

    # SMTP - Protocolo Simples para Transferência de Correio
    $IPT -A FORWARD -o $INET -p tcp --dport 25 -j ACCEPT

    # SSMTP - Protocolo Simples para Transferência de Correio Seguro
    $IPT -A FORWARD -o $INET -p tcp --dport 465 -j ACCEPT

    # TELNET
    #$IPT -A FORWARD -o $ILAN --dport 23 -j ACCEPT

    # VNC - Computação em Rede Virtual
    $IPT -A FORWARD -o $ILAN -p tcp --dport 5900 -j ACCEPT

    # XMPP - Protocolo de Presença e Mensagens Extensiva
    $IPT -A FORWARD -o $INET -p tcp --dport 5222 -j ACCEPT

    # Manter Conexões Estabelecidas
    $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Liberando o Tráfego 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
===================

Agradeço muito quem puder ajudar!
Abraço!

zekkerj

Opa, quando vc instala o dansguardian, ele é que recebe as requisições e repassa pro squid.

Então vc tem que configurar o dansguardian pra escutar a porta 3128, e o squid pra escutar outra porta, por exemplo a porta 8080.

O Squid também tem que ser configurado pra não aceitar requisições da sua rede, e sim apenas de 127.0.0.1, ou seja, da própria máquina (a partir do dansguardian).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Tota

Aguardamos 48 horas para solução das irregularidades do topico

Usuario logou e não alterou - topico trancado.