Squid+DansGuardian+Squish

Videti moj raniji post vezan za ograničenje protoka kroz Squid proxy server.

Pošto ništa novije (a free) nisam našla za ograničavanje protoka kao zbirne veličine (npr 5G za mesec dana za IP adresu 10.10.10.11), a lako se potreba za tako nečim može pojaviti, rešila sam da probam Squish (koji jeste mator, ali je jedini, bar koliko sam ja uspela da nađem).

Squish
Linkovi : link1, link2
Šta je rađeno :
1. Potrebni preduslovi za instalaciju
Squid (radan i podešen)
Apache (for CGI part)
Perl
Perl-GD (i da, jeste velika slova GD!)
gd
cron
2. # wget http://www.ledge.co.za/software/squint/squish/squish-0.0.18.tar.gz
3. # tar xvfz squish-0.0.18.tar.gz
4. Sama instalacija
# make install
mkdir -p /usr/local/squish
install squish.pl squish.cron.sh squish.cgi squish.pm rrdsquish.pm apache-squish.conf /usr/local/squish
install squish.conf /etc/squid/
# Installing…
/usr/local/squish/squish.pl –install
readline() on closed filehandle CONF at /usr/local/squish/squish.pl line 230.
Writing to
print() on closed filehandle CONF at /usr/local/squish/squish.pl line 242.
Writing to /etc/squid/squid.conf
Writing to /usr/local/squish/apache-squish.conf
Checking /etc/crontab
Modified /etc/crontab
touch /etc/squid/squished
# make init will initialise data
Paziti andrak će poremetiti konfiguracioni fajl Squid-a, i ovaj će prestati da radi. Hešovati sve u squid.conf što ima veze sa Squish-om, bar za sada.
5. Ostatak instalacije
# cd /usr/local/squish/
# ./squish.pl –install
readline() on closed filehandle CONF at ./squish.pl line 230.
Writing to
print() on closed filehandle CONF at ./squish.pl line 242.
Already modified /etc/squid/squid.conf
Writing to ./apache-squish.conf
Checking /etc/crontab
Modified /etc/crontab
6. Konfiguracija
Fajl /etc/squid/squid.conf – odakle se omogućava rad Squish-a.
acl SQUISHLOC dst IP-adresa-proxy-servera
acl SQUISHED3 src “/etc/squid/squished”
deny_info http://127.0.0.1/squish/index.html
http_access allow SQUISHLOC
http_access deny SQUISHED3
Fajl /etc/squid/squish.conf je mesto gde se pišu liste IP adresa i pripadajućih ograničenja.
Najjednostavnije je tu pisati samo one koji imaju ograničenja, a da je default : bez ikakvih ograničenja.
10\.10\.10\.143 10Kb/day
Navedena IP adresa ima ograničenje od 10Kb po danu.
.* 25h/day
Ovaj poslednji red znači da svi sem gore pomenute IP adrese nemaju nikakva ograničenja.
Fajl /etc/squid/squished je spisak “nevaljalih” IP adresa.
7. Podešavanje da Squish radi na svakih 5min i proverava stanje. U crontab se upisuje sledeće :
5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/squish/squish.cron.sh
8. Kako podesiti Apache da prikazuje koja je IP adresa “nevaljala” i koliko
U /etc/httpd/conf/httpd.conf, na kraj dodati :
Alias /squish “/var/www/squish”

Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex squish.cgi
AllowOverride None
Order allow,deny
Allow from all

A sve fajlove iz foldera /usr/local/squish/ (sem apache-squish.conf) kopirati u /var/www/squish folder.
Restartovati Apache.
Na lokaciji http://IP-adresa-proxy-servera/squish će se dobiti spisak IP adresa koje tom serveru prilaze, i koliko resursa troše.

Napomena 1 : posle svake izmene u squish.conf restartovati ili reload-ovati squid.
Napomena 2 : iz misterioznih razloga squish.log se nalazi u root-u : /squish.log