Instalacija Proxy-ja i monitoring rešenja na Ubuntu

Instalacija Proxy-ja i monitoring rešenja na Ubuntu

offline
  • Fil  Male
  • Legendarni građanin
  • Pridružio: 11 Jun 2009
  • Poruke: 16586

Instalacija Proxy-ja i monitoring rešenja na Ubuntu - tutorial






1) Instalirati Squid3

- Konfiguraciona datoteka za SQUID3: /etc/squid3/squid.conf [za squid 2.7 se nalazi ovde: /etc/squid/squid.conf ]
- Ući u folder: /etc/squid3
- Pokrenuti neki tekst editor: sudo gedit squid.conf (mnogo volim ovaj gedit; ko ga nema: sudo apt-get install gedit)


2) Neophodne izmene parametara

- izmeniti "http_port 3128" u "http_port 4480"
//objašnjenje: promena default port-a na kome radi proxy u željenu vrednost
[za Squid 2.7: izmeniti "http_port 0.0.0.0:3128" u "http_port 0.0.0.0:4480" ]

- izmeniti "# cache_dir ufs /var/spool/squid3 100 16 256" u "cache_dir ufs /var/spool/squid3 5000 16 256"
//objašnjenje: povećavanje keša sa 100 MB na 5 GB
[napomena: pri promeni određenih parametara u konfiguracionoj datoteci treba ukloniti znak za comment "#" inače će biti učitane default vrednosti za taj parametar ]

- Ubaciti: acl moja_mreza src 192.168.0.0/255.255.255.0
//objašnjenje: Definicija mreže

- Definisati: http_access allow moja_mreza
//objašnjenje: Dozvoljen izlazak na internet samo ovim korisnicima

- Definisati: http_access deny all
//objašnjenje: ovu liniju nikako ne dirati i mora biti krajnja, jer za sve što ne poznaje radi po njoj denied


3) Restart Squid-a radi prihvatanja novih parametara

- sudo /etc/init.d/squid3 restart
- ili: sudo squid3 -k reconfigure (što je sasvim dovoljno umesto celokupnog restarta)


4) Instalirati SARG

[napomena: poželjno je da se sva ova procedura pod "root" nalogom ; može se sve odraditi i sa nalogom lokalnog korisnika, s tim da se definiše politika pristupa svim neophodnim folderima/datotekama]

- Konfiguraciona datoteka za SARG: /etc/sarg/sarg.conf
- Otvoriti ga i definisati parametar: access_log /var/log/squid3/access.log
[napomena: po defaultu je access_log /var/log/squid/access.log, a nama treba za rad verzije 3]


5) Definisanje rotiranja

- Veličina logova i njegovo rotiranje se mora izmeniti jer se, u protivnom, ne mogu praviti nedeljni i mesečni izveštaji sa SARG-om.
- Editovati datoteku: /etc/logrotate.d/squid3
- Datoteka treba biti sledećeg oblika:

#
#   Logrotate fragment for squid3.
#
/var/log/squid3/access.log {
rotate 5
copytruncate
nocompress
missingok
monthly
notifempty
postrotate
/usr/sbin/squid3 -k rotate
endscript
}



6) SARG skripte

- Definisanje strukture direktorijuma:
sudo mkdir /var/www/html/sarg
//kreiranje Sarg direktorijuma unutar root-a Apache servera

sudo mkdir /var/www/html/sarg/daily
//kreiranje pod-direktorijuma

sudo mkdir /var/www/html/sarg/weekly
//kreiranje pod-direktorijuma

sudo mkdir /var/www/html/sarg/monthly
//kreiranje pod-direktorijuma

sudo chmod -R 775 /var/www/html/sarg
//postavljanje guid I uid prava nad celom strukturom direktorijuma SARG i pod-direktorijuma

sudo chown user_pod_kojim_je_podignut_Apache
//apache:apache ili www:www (proveriti)


- Treba definisati skripte koje će generisati dnevne, sedmične i mesečne izveštaje:

Dnevni izveštaj; sačuvati u folderu: /root/scripts/ kao sarg.daily
#!/bin/bash
 
#Get yesterday date
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

echo $YESTERDAY
 
/usr/bin/sarg -f /usr/local/sarg/sarg.conf  -o /var/www/html/sarg/daily -d $YESTERDAY > /dev/null 2>&1

chmod -R 775 /var/www/html/sarg/daily
chown -R apache:apache /var/www/html/sarg/daily

echo SARG - REPORT kreiran uspesno.
 
exit 0


Nedeljni izvestaj; sacuvati u folderu /root/scripts/ kao sarg.weekly
#!/bin/bash

#Generate Access.log for correct weekly reports
cat /var/log/squid3/access.log.0 /var/log/squid3/access.log > /var/log/squid3/access.log.week

#Get yesterday date
YESTERDAY=$(date --date "1 days ago" +%d/%m/%Y)

#Get one week ago date
WEEKAGO=$(date --date "7 days ago" +%d/%m/%Y)

echo $WEEKAGO-$YESTERDAY

/usr/bin/sarg -f /usr/local/sarg/sarg.conf -l /var/log/squid3/access.log.week -o /var/www/html/sarg/weekly -d $WEEKAGO-$YESTERDAY > /dev/null 2>&1

chmod -R 775 /var/www/html/sarg/weekly
chown -R apache:apache /var/www/html/sarg/weekly

echo SARG - REPORT kreiran uspesno.

exit 0


Mesečni izveštaj; sačuvati u folderu: /root/scripts kao sarg.monthly
#!/bin/bash
#Get yesterday date
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

#Get 1 month ago date
MONTHAGO=$(date --date "1 month ago" +%d/%m/%Y)

echo $MONTHAGO-$YESTERDAY

/usr/bin/sarg -f /usr/local/sarg/sarg.conf -o /var/www/html/sarg/monthly -d $MONTHAGO-$YESTERDAY
# > /dev/null 2>&1

chmod -R 775 /var/www/html/sarg/monthly
chown -R apache:apache /var/www/html/sarg/monthly

echo SARG - REPORT kreiran uspesno.

/usr/sbin/squid3 -k rotate

echo Log fajlovi rotirani.

exit 0


* skripte sam postavio da budu executable


7) Konfigurisanje Crontab-a

- SARG report radi preko Crontab-a jednom dnevno (i to negde u sitne sate kad nema puno korisnika na proxy serveru).
- Konfiguraciona datoteka za Crontab: /etc/crontab
- Na samom kraju koda konfiguracione datoteke, paste-ovati sledeću skriptu:

# Generisanje raporta SARG
05 0 * * * root /root/scripts/sarg.daily
15 1 * * 1 root /root/scripts/sarg.weekly
0 2 1 * * root /root/scripts/sarg.monthly



8] Podešavanje Firefox-a da ide preko Squid Proxy-ja

[prerequest]

- Edit/Preferences/Advanced/Network/Settings...
- Birati "Manual proxy configuration" ; uneti (statički) IP računara, (kod mene 192.168.110.76, kao sto napisah) i port koji je definisan u Squid-u (4480, kao što napisah)
- kliknuti na OK

Ako pri ovim podešavanjima izađete na internet, znači da Squid dobro obavlja posao Smile Za sada će se u Squid-ovom access logu puniti samo informacije sa tekućeg računara (na kome je Squid instaliran)
Da bi se pamtio log i za ostale računare, treba se i njima podesiti, u Web browseru, manual proxy sa IP-om računara na kojem je instaliran Squid i odgovarajućim port-om.


9) Utvrđivanje rezultata preko SARG-a

- Posetiti u Web browseru sledeću stranicu: file:///var/lib/sarg/index.html (ili http://192.168.110.76/sarg/daily ili http://192.168.110.76/sarg/weekly ili http://192.168.110.76/sarg/monthly )
- Izabrati odgovarajući izveštaj


10) Definisanje alias-a u Apache-u [opcionalno]

- Definisaćemo da se sa "http://localhost/squidreport/" otvara stranica sa Squid reportima
- Editovati datoteku: /etc/apache2/apache2.conf
- Na kraju dokumenta dodati sledeći kod:
Alias /squidreport /var/lib/sarg/   
<Directory /var/lib/sarg>   
Order allow,deny   
Allow from all   
</directory>


- Nakon toga, sa bilo kog računara u mreži možemo pristupiti izveštajima (nema ograničenja lokalne mašine) sa: 192.168.110.76/squidreport

=========================
CREDITS
=========================

--> cerveni, koji je predložio soluciju za rešenje problema, dao gomilu sugestija i revidirao skriptu koju sam pisao.

Drago mi je ako će ovo nekome pomoći Ziveli



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Fil  Male
  • Legendarni građanin
  • Pridružio: 11 Jun 2009
  • Poruke: 16586

Ukoliko imamo statičke IP adrese unutar mreže i želimo da blokiramo pristup Internetu nekom korisniku na osnovu njegove IP adrese, to radimo izmenom konfiguracije fajla: /etc/squid3/squid.conf

Potrebno je definisati novi ACL u sledećoj sekciji i napisati konkretan IP (umesto tarabe "#"):


Citat:#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet


### DODATI ###
acl blocked_clients src 192.168.X.X/32
http_access deny blocked_clients
### /DODATI ###


# Ukoliko je definisan: http_access allow all --> sekcija DODATI mora ići iznad nje.


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




Idea Nakon izmena je potrebno rekonfigurisati squid (sudo squid3 -k reconfigure) ili ga restartovati (sudo /usr/sbin/squid3 restart).

Napomena: više se ne koriste netmasks u konfiguraciji squid-a (deprecated u v3).
Ukoliko ih pak koristite, iskočiće sledeće poruke:
Citat:WARNING: Netmasks are deprecated. Please use CIDR masks instead.
IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
WARNING: For now we will assume you meant to write /24

* U tekstu je netmask IP/255.255.255.255 zamenjen sa CIDR IP/32

Ova upozorenja mogu da se dese, ako konfiguracioni fajl iz v2 pokušamo da podmetnemo u v3.

Malo dodatnog čitanja:
PCLinuxOS - http://pclosmag.com/html/Issues/201210/page07.html
Classless Inter Domain Routing (CIDR) - http://infocenter.guardiandigital.com/manuals/IDDS/node9.html
http://forum.ubuntuusers.de/topic/squid3-proxy-mit.....eigert-di/



Ko je trenutno na forumu
 

Ukupno su 404 korisnika na forumu :: 7 registrovanih, 0 sakrivenih i 397 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: benne, goxin, hyla, ILGromovnik, mgolub, sovanova95, zlaya011