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 1299 korisnika na forumu :: 40 registrovanih, 5 sakrivenih i 1254 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: A.R.Chafee.Jr., Areal84, Asparagus, bokisha253, Boris BM, Centauro, CikaKURE, Cobi026, dijica, Dorcolac, FOX, GandorCC, Georgius, hooraay, ikan, Karla, kovinacc, Kubovac, Lieutenant, lord sir giga, Magistar78, Marko Marković, mercedesamg, Metanoja, Milos82, milutin134, Misirac, mkukoleca, NoOneEver Dreams, nuke92, Papadubi, procesor, Shinobi, Stanlio, vandrej, Vlada78, vladaa012, voja64, vukdra, |_MeD_|