Ρύθμιση squid
1. Εισαγωγή
Το squid είναι μια εφαρμογή διαμεσολάβησης δικτύου (web proxy). Αυτό που κάνει είναι να αποθηκεύει τις σελίδες που προσπελαύνουν οι πελάτες στον τοπικό εξυπηρετητή και αν στη συνέχεια ζητηθούν από άλλον (ή και τον ίδιο) πελάτη να τις παρέχει ο τοπικός εξυπηρετητής. Με αυτόν τον τρόπο μειώνεται η κίνηση δεδομένων από και προς το δίκτυο και η περιήγηση γίνεται πιο γρήγορη. Επίσης μπορεί να λειτουργήσει και σαν ελεγκτής της πρόσβασης στο διαδίκτυο. Να απαγορεύει δηλαδή την πρόσβαση σε ορισμένα sites ή να απαγορεύει την πρόσβαση σε ορισμένους χρήστες. Οι τρόποι που μπορεί να ρυθμιστεί το squid και οι πολιτικές που μπορεί να εφαρμόσει είναι πάρα πολλοί, στη συνέχεια παραθέτουμε οδηγίες για την εφαρμογή της ακόλουθης πολιτικής:
- Τοπική αποθήκευση των σελίδων για πιο γρήγορη πλοήγηση
- Σε κάποιους χρήστες επιτρέπεται ελεύθερα η πρόσβαση στο διαδίκτυο
- Για τους υπόλοιπους χρήστες απαγορεύεται η πρόσβαση σε συγκεκριμένα sites
- Σε κάποιους χρήστες απαγορεύεται εντελώς η πρόσβαση στο διαδίκτυο
2. Γενική περιγραφή
Δημιουργούμε 3 λίστες
- whitelist_users.acl με τους χρήστες που θα έχουν ελεύθερη πρόσβαση σε όλα τα domains
- banned_domains.acl με τα domains που θα αποκλείονται (π.χ. facebook, hi5)
- banned_users.acl με τους χρήστες που τους έχει απαγορευτεί η πρόσβαση
Η λίστες αυτές θα οριστούν με τέτοιο τρόπο ώστε να υπερισχύει αυτή που είναι πιο πάνω. (πχ. αν κάποιος/α είναι στη whitelist_users και στη banned_users τότε έχει ελεύθερη πρόσβαση στο δίκτυο. Αν κάποιος/α είναι στη whitelist_users και προσπαθήσει να ανοίξει ένα site που είναι στη banned_domains τότε θα μπορεί να ανοίξει το site κανονικά)
Στη συνέχεια ρυθμίζουμε το squid ώστε να υλοποιεί την παραπάνω πολιτική βασισμένο στο περιεχόμενο των λιστών
3. Η διαδικασία βήμα βήμα
Όλες οι αναφερόμενες ενέργειες γίνονται στον εξυπηρετητή.
- Εγκατάσταση του squid
sudo apt-get install squid3
Στο φάκελο /etc/squid3 δημιουργήστε 3 αρχεία. Ένα για κάθε λίστα που περιγράψαμε πιο πάνω. Το κάθε αρχείο περιέχει μόνο τα ονόματα των χρηστών ή των domains που ανήκουν σε αυτήν τη λίστα. Δίνουμε παραδείγματα των αρχείων αυτών.
whitelist_users.acl (οι χρήστες που θα έχουν ελεύθερη πρόσβαση - ένας ανά γραμμή)
lab-admin teacher user1
banned_domains.acl (τα domains που θα απαγορεύονται - ένα ανά γραμμή) μπορείτε να βάλετε και τμήμα του domain
facebook .hi5.com video.google.com
banned_users.acl (οι χρήστες που δεν θα έχουν καθόλου πρόσβαση στο διαδίκτυο - ένας ανά γραμμή)
user3 giannis
Αντιγράφετε τα αρχεία # ERR_SCH-SCRIPTS_BANNED_DOMAINS και ERR_SECURE_CONNECT_FAIL στο /usr/share/squid3/errors/el
Τα αρχεία αυτά είναι οι html σελίδες που θα εμφανίζονται στους χρήστες όταν προσπαθήσουν να προσπελάσουν μία σελίδα στην οποία δεν έχουν πρόσβαση
Στο αρχείο /etc/squid3/squid.conf κάτω από το #Recommended minimum configuration βάζετε (άλλαξε και αποσχολιάστε το υπο-δίκτυο):
#SCH-SCRIPTS begin
error_directory /usr/share/squid3/errors/el
# acl schoolnet src 10.x.y.0/24
acl banned_domains url_regex -i "/etc/squid3/banned_domains.acl"
acl banned_users ident "/etc/squid3/banned_users.acl"
acl whitelist_users ident "etc/squid3/whitelist_users.acl"
deny_info ERR_SCH-SCRIPTS_BANNED_DOMAINS banned_domains
deny_info ERR_SCH-SCRIPTS_BANNED_USERS banned_users
http_access allow whitelist_users
http_access deny banned_users
http_access deny banned_domains
http_access allow localhost
http_access allow schoolnet
http_access deny all
#SCH-SCRIPTS end
επαναφορτώνετε τις ρυθμίσεις
sudo invoke-rc.d squid3 force-reload
Αυτό πρέπει να γίνεται κάθε φορά που αλλάζει κάποιο από τα αρχεία ρυθμίσεωνΔηλώστε τον proxy στον εξυπηρετητή. Η πόρτα (port) στην οποία ακούει το squid είναι η 3128.
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/mode' 'auto' sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/autoconfig_url' 'http://server/wpad.dat'
- Για την περίπτωση που έχετε fat clients πρέπει να δηλώσετε τον proxy και στον εικονικό δίσκο
Από το περιβάλλον sch-scripts πηγαίνετε: Εξυπηρετητής --> Εικονικός δίσκος --> Άνοιγμα κονσόλας και στην κονσόλα που ανοίγει δίνετε τις ίδιες εντολές (χωρίς sudo)
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/mode' 'auto' gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set '/system/proxy/autoconfig_url' 'http://server/wpad.dat'
Αν κάνετε αλλαγές στα αρχεία ρυθμίσεων μην ξεχάσετε να επαναφορτώσετε τις ρυθμίσεις στο squid
Όποια/ος θέλει να βρει λεπτομέρειες και πληροφορίες για το πως λειτουργεί το squid μπορεί να ξεκινήσει από εδώ:
