SQUID

Marco Ruzzenente ruzze87@gmail.com
Sab 8 Ott 2005 13:23:50 CEST


La mia idea è quella di un server proxy trasparent direttamente sulla
macchina gateway...
La distro è una Gentoo...

Questo è il mio file di configurazione di squid:

# NETWORK OPTIONS
# Nome host (FQDN) e porta dove il proxy sarà in ascolto
http_port 192.168.0.1:8080 <http://192.168.0.1:8080>

# TAG: icp_port
# Porta usata per comunicare con altri proxy
# 0: funziona disabilitata (inutile visto che useremo un solo proxy)
icp_port 0

# TAG: hierarchy_stoplist
# Lasciamo il default che va bene così :)
hierarchy_stoplist cgi-bin ?

# TAG: no_cache
# Lasciamo il default che va bene così :)
acl QUERY urlpath_regex cgi-bin \?

# TAG: maximum_object_size (bytes)
# Dimensione massima degli oggetti da tenere in cache.
maximum_object_size 30 MB

# TAG: cache_access_log
# File di log degli accessi al proxy
cache_access_log /var/log/squid/access.log

# TAG: cache_log
# File di log della cache
cache_log /var/log/squid/cache.log

# TAG: cache_store_log
# File di log degli oggetti
cache_store_log /var/log/squid/store.log

# TAG: emulate_httpd_log on|off
# Simulo il log nel formato del demone http per poter generare le
statistiche con awstats
#emulate_httpd_log on

# TAG: pid_filename
# File con il pid del processo
pid_filename /var/run/squid.pid

# TAG: log_fqdn on|off
# Squid effettua un DNS lookup per sapere i nomi di chi vuole usarlo e
salvare tali nomi nel log. Questo causa una latenza per cui lo
disabilitiamo.
log_fqdn off


# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
#
-----------------------------------------------------------------------------

# TAG: ftp_user
# Utente da usare per gli accessi ai server ftp
#ftp_user anonymous@tin.it

# TAG: hosts_file
# Path assoluto del file hosts (solitamente /etc/hosts)
hosts_file /etc/hosts

# TAG: refresh_pattern
# Lasciamo i valori di default che vanno bene :)
#refresh_pattern ^ftp: 1440 20% 10080
#refresh_pattern ^gopher: 1440 0% 1440
#refresh_pattern . 0 20% 4320

# ACCESS CONTROLS
#
-----------------------------------------------------------------------------

# TAG: acl
# Definiamo le Access Control List
# Nome: all
# Tipo: filtrosu ip sorgente
# Valore: 127.0.0.1/255.255.255.255 <http://127.0.0.1/255.255.255.255> (Solo
il localhost)
acl localhost src 127.0.0.1/255.255.255.255<http://127.0.0.1/255.255.255.255>

# Nome: to_localhost
# Tipo: filtro su ip di destinazione
# Valore: 127.0.0.0/8 <http://127.0.0.0/8> (Solo gli ip che identificano il
localhost)
acl to_localhost dst 127.0.0.0/8 <http://127.0.0.0/8>

# Nome: SSL_ports
# Tipo: filtro su numero porta
# Valore: 443 563 (Porte protocollo ssl)
acl SSL_ports port 443 563

acl SSL_ports port 873
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl Safe_ports port 631
acl Safe_ports port 873
acl Safe_ports port 901
acl purge method PURGE
acl CONNECT method CONNECT

# Questa è l'acl che identifica la mia lan
acl ltruzze.lan src 192.168.0.0/255.255.255.0<http://192.168.0.0/255.255.255.0>

# TAG: http_access
# Definiamo chi può usare il proxy e chi no sfruttando le ACL
# Tuti gli ip appartenenti alla LAN possono usare il proxy, il resto non lo
tocchiamo e lasciamo i valori di default.
http_access allow ltruzze.lan
http_access allow manager localhost

# Only allow purge requests from localhost
http_access deny manager
http_access allow purge localhost
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny purge
#
http_access deny CONNECT !SSL_ports

# And finally deny all other access to this proxy
http_access allow localhost
http_access deny all

# TAG: http_reply_access
# Abilitiamo le risposte alle richieste dei client
http_reply_access allow all

# TAG: icp_access
# Abilitamo o meno le risposte alle richieste icp
icp_access allow all

# ADMINISTRATIVE PARAMETERS
#
-----------------------------------------------------------------------------

# TAG: cache_mgr
# Email del gestore della cache
#cache_mgr squidadmin@valhalla.lan

# TAG: visible_hostname
# Nome da mostrare in caso di errori
visible_hostname proxy.ltruzze.lan

# OPTIONS FOR THE CACHE REGISTRATION SERVICE
#
-----------------------------------------------------------------------------
#


# HTTPD-ACCELERATOR OPTIONS
#
-----------------------------------------------------------------------------

# TAG: httpd_accel_host
# TAG: httpd_accel_port
# Necessarie per il transparent proxy
httpd_accel_host virtual
httpd_accel_port 80

# TAG: httpd_accel_with_proxy on|off
# Necessario per il transparent proxy
httpd_accel_with_proxy on

# TAG: httpd_accel_uses_host_header on|off
# Necessario per il transparent proxy
httpd_accel_uses_host_header on


# MISCELLANEOUS
#
-----------------------------------------------------------------------------

# TAG: logfile_rotate
# Numero di log da tenere in memoria (da 0 a 9)
logfile_rotate 10

# TAG: error_directory
# Directory dove prendere i messaggi di errore
# E' possibile scegliere la lingua in base alle disponibili
#error_directory /var/log

# TAG: coredump_dir
# Dove mette i core-dump
coredump_dir /var/spool/squid

# TAG: ie_refresh on|off
# Necessaria per il transparent proxy con IE
ie_refresh on

# TAG: cache_replacement_policy
# TAG: memory_replacement_policy
# Metodo di gestione dei file in cache e su hdd
cache_replacement_policy lru
memory_replacement_policy lru

# SquidGuard

redirect_program /usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf

----------------------------------------------------------------------------------------------------------------------

Come vedi nell'ultima riga, voglio che SquidGuard filtri le pagine
attraverso delle blacklist...
Questo è il problema:
se faccio partire squid commentando #redirect_program ..... squid funziona
alla grande e senza alcun problema...
se non commento redirect_program ecco che squid non funziona più..

come prima cosa, ho fatto un check al file di configurazione di squidguard e
risulta OK...
ho provato a testare da solo squidGuard dandogli un dominio vietato e la
redirezione funzionava...

Questo è il file di configurazione di SquidGuard:

logdir /var/log/squidGuard
dbhome /etc/squidGuard/db

dest blockedsites {
domainlist blockedsites
}

acl {
default {
pass !blockedsites all
redirect http://www.google.com/
}
}

--------------------------------------------------------------------------------------------------------

come vedi molto semplice...
per quanto rigurda iptables ho inserito la regola di prerouting sulla
tabella NAT:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT
--to-port 8080

scusa se sono stato così lungo ma almeno ti ho dato tutto....=)

non capisco quale sia il problema...squidGuard non ne vuol sapere di andare
con squid...

aspetto un tuo lampo di genio...=)

ciauz

Il 07/10/05, Pasqualotto Enrico <pasqu@linux.it> ha scritto:
>
> Marco Ruzzenente wrote:
> > Ciao a tutti!!
> >
> > Ragazzi se ne sapete per quanto riguarda squid e squidGuard fatemi
> > sapere...
> >
> > ho bisogno di un parere...
> >
>
> Cosa ti serve? Io sto facendo dei test su squid anche come antivirus.....
>
>
> --
> Pasqualotto Enrico
> email: pasqu@linux.it
> web: http://www.pasqualotto.org
>
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GIT d? s: a-- C+++ UL++++ P L++ E--- W++ N++ o K- w---
> O-- M V-- PS+ PE+ Y PGP- t--- 5 X R tv-- b+ DI- D+
> G e h++ r+ y+++++
> ------END GEEK CODE BLOCK------
>
>


--
Marco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.linux.it/pipermail/linuxludus/attachments/20051008/cdad605a/attachment.htm


Maggiori informazioni sulla lista linuxludus