Διαφορά μεταξύ των αναθεωρήσεων του "Windows/Διακομιστής μεσολάβησης Squid"
Γραμμή 132: | Γραμμή 132: | ||
*Αποθηκεύουμε το αρχείο και επανεκκινούμε το squid service να ξαναφορτώσει τις ρυθμίσεις του: | *Αποθηκεύουμε το αρχείο και επανεκκινούμε το squid service να ξαναφορτώσει τις ρυθμίσεις του: | ||
{{Terminal|net stop squid && net start squid}} | {{Terminal|net stop squid && net start squid}} | ||
+ | ==Ρυθμίσεις Squid για τα updates των Ubuntu & MS-Windows standalone σταθμών εργασίας== | ||
+ | Εάν το ΣΕΠΕΗΥ διαθέτει standalone σταθμούς εργασίας είναι δυνατόν ο squid να ρυθμιστεί ώστε να κάνει cache τα updates των σταθμών εργασίας είτε αυτοί διαθέτουν Ubuntu λειτουργικό σύστημα (κάτι ανάλογο με το apt-cacher) είτε αυτοί διαθέτουν MS-Windows λειτουργικό σύστημα (κάτι ανάλογο με το MS-Windows Server Update Services). Με αυτόν τον τρόπο δεν απαιτείται κάθε σταθμός να κατεβάζει από το διαδίκτυο τα updates του. | ||
+ | |||
+ | *Προσθέτουμε τις ακόλουθες γραμμές στο αρχείο squid.conf, πριν τον ορισμό του localnet (acl localnet src 10.x.y.z/24) | ||
+ | {| align="center" | ||
+ | |- | ||
+ | |refresh_pattern deb$ 1577846 100% 1577846<br /> | ||
+ | refresh_pattern Packages.gz$ 1440 100% 1440<br /> | ||
+ | refresh_pattern zip$ 1440 100% 1440<br /> | ||
+ | |||
+ | refresh_pattern windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims<br /> | ||
+ | refresh_pattern download.microsoft.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims<br /> | ||
+ | refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims<br /> | ||
+ | refresh_pattern msi$ 1440 100% 1440<br /> | ||
+ | |||
+ | maximum_object_size 1 GB<br /> | ||
+ | |} | ||
+ | *Σε όλους τους Ubuntu standalone σταθμούς εργασίας δίνουμε την ακόλουθη εντολή | ||
+ | {{Terminal|echo 'Acquire::http::Proxy "http://10.x.y.z:3128";' | sudo tee /etc/apt/apt.conf.d/51proxy}} | ||
+ | :όπου 10.x.y.z, η διεύθυνση του squid εξυπηρετητή. | ||
+ | *Σε όλους τους MS-Windows standalone σταθμούς εργασίας δίνουμε την ακόλουθη εντολή | ||
+ | {{Terminal|netsh winhttp set proxy 10.x.y.z:3128}} | ||
+ | :όπου 10.x.y.z, η διεύθυνση του squid εξυπηρετητή. | ||
+ | {{Warning|Όταν οι σταθμοί εργασίας MS-Windows κάνουν αυτόματο κατέβασμα και εγκατάσταση των updates (μέσω του MS-Windows Update service) δεν σημειώνεται 100% caching των updates. Αντίθετα εάν ο χρήστης κατεβάσει μόνος του ένα update αυτό παραμένει στην cache του squid.}} |
Αναθεώρηση της 18:38, 15 Οκτωβρίου 2012
Περιεχόμενα
- 1 Εισαγωγή
- 2 Εγκατάσταση σε περιβάλλον Windows Server
- 3 Επιβεβαίωση ορθής λειτουργίας Squid
- 4 Αυτόματη ρύθμιση proxy των σταθμών εργασίας
- 5 Ρυθμίσεις Squid για απαγόρευση πρόσβασης των χρηστών σε συγκεκριμένες σελίδες
- 6 Ρυθμίσεις Squid για τα updates των Ubuntu & MS-Windows standalone σταθμών εργασίας
Εισαγωγή
Η υπηρεσία Squid προσφέρει τα ακόλουθα πλεονεκτήματα στα ΣΕΠΕΗΥ:
- ταχύτερη λήψη των ενημερώσεων Windows και Antivirus
- καλύτερη αξιοποίηση της γραμμής του ΣΕΠΕΗΥ
- μηδενικό κόστος προμήθειας προϊόντος
- ελάχιστες απαιτήσεις σε υπολογιστικούς πόρους εξυπηρετητή
- πλήρη κάλυψη των απαιτήσεων που έχουν τα ΣΕΠΕΗΥ, σε σημείο που μπορεί να αντικαταστήσει εμπορικά προϊόντα που πιθανόν το ΣΕΠΕΗΥ διαθέτει.
Εγκατάσταση σε περιβάλλον Windows Server
Για τη βασική εγκατάσταση πρέπει να πραγματοποιήσουμε τα ακόλουθα βήματα:
- Λαμβάνουμε την τελευταία Stable έκδοση του squid από τη διεύθυνση http://squid.acmeconsulting.it/. Το παρόν εγχειρίδιο βασίζεται στην έκδοση «2.7 Stable 8 Standard», διαθέσιμη ως binary από το http://squid.acmeconsulting.it/download/dl-squid.html.
- Αποσυμπιέζουμε το zip αρχείο και αντιγράφουμε τα περιεχόμενά του στο φάκελο στο c:\squid.
- Μετονομάζουμε όλα τα αρχεία του φακέλου etc (c:\squid\etc) από .conf.default σε .conf (π.χ από squid.conf.default σε squid.conf).
- Ανοίγουμε για επεξεργασία το αρχείο squid.conf με οποιοδήποτε editor (πχ wordpad). Κάνουμε εύρεση για το: acl localnet src. Αλλάζουμε τις εγγραφές έτσι ώστε να επιτρέπεται η πρόσβαση στην υπηρεσία μόνο από το ιδιωτικό υποδίκτυο του σχολείου (10.x.y.z) και από τον ίδιο τον εξυπηρετητή (127.0.0.1). Τελικά θα πρέπει να υπάρχουν δύο εγγραφές:
- acl localnet src 127.0.0.1
- acl localnet src 10.x.y.z/24
- Τροποποιούμε τη γραμμή
- cache_dir ufs c:/squid/var/cache 100 16 256
- ώστε να ανταποκρίνεται στην τοποθεσία και στο μέγεθος της περιοχής cache.
- Δημιουργούμε το φάκελο cache μέσα από Command Prompt
![]() | cd c:\squid\sbin squid -z |
- Εγκαθιστούμε το squid σαν service των Windows, που θα ξεκινά με κάθε εκκίνηση του εξυπηρετητή
![]() | squid -i |
- Ξεκινούμε την υπηρεσία squid για πρώτη φορά (χωρίς επανεκκίνηση του συστήματος), από το Server Manager στο Configuration ▸ Services επιλέγουμε την υπηρεσία squid και κάνουμε Start.
- Ο Windows Server 2008 έχει ενεργοποιημένο Firewall, στο οποίο πρέπει να επιτρέψουμε την επικοινωνία από το τοπικό δίκτυο στην θύρα 3128, όπου λαμβάνει αιτήματα ο squid. Ξεκινούμε την εφαρμογή διαχείρισης του firewall από το Start ▸ Administrative Tools ▸ Windows Firewall and Advanced Security ▸ δεξί κλικ στα Inbound Rules ▸ New Rule... .
- Ρυθμίζουμε τον browser του εξυπηρετητή να χρησιμοποιεί τον Squid Proxy, πληκτρολογώντας την IP διεύθυνση 127.0.0.1 (ή 10.x.y.z) και ως πόρτα την 3128 στις ρυθμίσεις σύνδεσης.
- Για τους σταθμούς εργασίας επιλέγουμε την αυτόματη ρύθμισή τους με το πρωτόκολλο WPAD, όπως περιγράφεται στην Αυτόματη ρύθμιση proxy των σταθμών εργασίας.
Επιβεβαίωση ορθής λειτουργίας Squid
Για να επιβεβαιώσουμε την ορθή λειτουργία του εξυπηρετητή Squid, μπορούμε να πραγματοποιήσουμε τα ακόλουθα:
- Ρυθμίζουμε τον browser ενός σταθμού εργασίας να χρησιμοποιεί τον Squid Proxy, πληκτρολογώντας την διεύθυνση του εξυπηρετητή (10.x.y.z) και ως πόρτα την 3128 στις ρυθμίσεις σύνδεσης.
- Συνδεόμαστε σε μία σελίδα του διαδικτύου.
- Μετά την επιτυχή προβολή του περιεχομένου της ιστοσελίδας, διαπιστώνουμε πως η πρόσβαση στην εν λόγω ιστοσελίδα πραγματοποιήθηκε μέσω του squid από το αρχείο C:\squid\var\logs\access.log.
Αυτόματη ρύθμιση proxy των σταθμών εργασίας
Το Web Proxy Auto-Discovery Protocol (WPAD) είναι ένα πρωτόκολλο με το οποίο οι σταθμοί εργασίας μπορούν να έχουν αυτόματα πρόσβαση σε ένα αρχείο ρυθμίσεων, μέσω του οποίου θα ενεργοποιηθεί σε αυτούς ο proxy. Με την ενεργοποίηση του πρωτοκόλλου wpad αφενός οι browsers των σταθμών εργασίας (εφόσον έχουν αυτόματο εντοπισμό ρυθμίσεων διαμεσολαβητή ενεργοποιημένο)
- δεν απαιτούν επιπλέον ρυθμίσεις για τον proxy και
- εάν για κάποιο λόγο ο Squid server δεν είναι διαθέσιμος (πχ λόγω βλάβης υλικού, λόγω προβλήματος στο λειτουργικό του σύστημα κλπ) οι σταθμοί εργασίας αυτόματα θα συνεχίσουν να έχουν πρόσβαση στο Internet απευθείας μέσω του δρομολογητή.
Για τη λειτουργία αυτή απαιτούνται:
- Ρύθμιση του DNS εξυπηρετητή του ΣΕΠΕΗΥ.
- Ρύθμιση του WEB εξυπηρετητή του ΣΕΠΕΗΥ.
- Ρύθμιση των σταθμών εργασίας.
Ρύθμιση DNS εξυπηρετητή του ΣΕΠΕΗΥ
Στη ζώνη school.local προσθέτουμε το wpad ως νέο alias(CNAME) που δείχνει στο server.school.local. Αυτό γίνεται από την εφαρμογή Server Manager, όπου στο Roles ▸ DNS Server ▸ DNS ▸ SERVER ▸ Forward Lookup Zones κάνουμε δεξί κλικ και Πρότυπο:UserResponse και ορίζουμε "Alias Name" Πρότυπο:UserResponse και "Fully Qualified Domain Name" Πρότυπο:UserResponse.
Το wpad είναι απαγορευμένο alias στο Windows Server 2008, οπότε για να υπάρξει πρόσβαση στο alias, πρέπει να άρουμε τον περιορισμό. Αρχικά βλέπουμε για ποια ονόματα υπάρχει περιορισμός.
![]() | dnscmd /info /globalqueryblocklist Query result: |
Στη συνέχεια ορίζουμε τον περιορισμό για όλα τα ισχύοντα ονόματα εκτός του wpad.
![]() | C:\Users\Administrator>dnscmd /config /globalqueryblocklist isatap Registry property globalqueryblocklist successfully reset. |
Επιβεβαιώνουμε την ορθή λειτουργία των ρυθμίσεων, από σταθμούς εργασίας με dns server τον εξυπηρετητή του ΣΕΠΕΗΥ, λαμβάνοντας μέσω της εντολής nslookup για το όνομα wpad.school.local τη διεύθυνση του εξυπηρετητή. Σε σταθμούς εργασίας που δεν είναι δυνατό να οριστεί ως dns server ο εξυπηρετητής του ΣΕΠΕΗΥ, προσθέτουμε την ακόλουθη γραμμή στο αρχείο c:\windows\system32\drivers\etc\hosts.
10.x.y.z wpad |
Ρύθμιση Web εξυπηρετητή σε MS-Windows
Από την εφαρμογή Server Manager ενεργοποιούμε το ρόλο Web Server στον εξυπηρετητή του ΣΕΠΕΗΥ | ![]() |
Μέσα από τον IIS Manager, στο Default Web Site ανοίγουμε τα MIME Types | ![]() |
Κάνουμε Πρότυπο:UserResponse ένα νέο MIME Type, με στοιχεία File name extenstion: Πρότυπο:UserResponse και MIME Type: Πρότυπο:UserResponse. Επανεκκινούμε τον εξυπηρετητή Web με δεξί κλικ στο SERVER(SCHOOL/yper), Stop και Start. | ![]() |
Δημιουργούμε στο root φάκελο του web site (C:\inetpub\wwwroot) ένα αρχείο κειμένου με όνομα "wpad.dat" που περιλαμβάνει τις ακόλουθες γραμμές:
function FindProxyForURL(url, host){ return "PROXY server.school.local:3128; DIRECT"; |
Επιβεβαιώνουμε κατ' αρχήν την ορθή λειτουργία των ρυθμίσεων με άνοιγμα του url http://wpad.school.local/wpad.dat, μέσω του οποίου λαμβάνουμε το οριζόμενο αρχείο wpad.dat στον εξυπηρετητή. Επιπλέον οι σταθμοί εργασίας που έχουν ορισμένο τον "Αυτόματο εντοπισμό ρυθμίσεων διαμεσολαβητή", θα έχουν πρόσβαση στο διαδίκτυο μέσω του proxy, οπότε στο C:\squid\var\log\access θα καταγράφεται η δραστηριότητά τους.
Χειροκίνητη ρύθμιση σταθμών εργασίας
Στον Internet Explorer από το μενού Εργαλεία ▸ Επιλογές Internet ▸ Συνδέσεις ▸ Ρυθμίσεις LAN και επιλέγουμε τον Αυτόματο εντοπισμό ρυθμίσεων .
Στο Firefox από το μενού Εργαλεία ▸ Επιλογές ▸ Για προχωρημένους ▸ Δίκτυο ▸ Ρυθμίσεις και επιλέγουμε Αυτόματος εντοπισμός ρυθμίσεων διαμεσολαβητή για αυτό το δίκτυο .
Ρύθμιση σταθμών εργασίας με πολιτικές ομάδας
Για τον Internet Explorer ακολουθείστε τα ακόλουθα βήματα:
- Επιβεβαιώστε ότι η πολιτική στο Default Domain Policy (ή Local Policy για σταθμούς εργασίας εκτός Domain) User Configuration ▸ Windows Settings ▸ Internet Explorer Maintenance ▸ Connection ▸ Automatic Browser Configuration είναι ενεργοποιημένη (είναι προεπιλεγμένη ρύθμιση στο Default Domain Policy). Η συγκεκριμένη πολιτική ρυθμίζει τον MS-Internet Explorer να αναζητά αυτόματα τον εξυπηρετητή proxy κάθε φορά που καλείται.
- Ενεργοποιήστε επίσης την πολιτική στο Default Domain Policy (ή Local Policy για σταθμούς εργασίας εκτός Domain) User Configuration ▸ Administrative Templates ▸ Windows Components ▸ Internet Explorer ▸ Disable changing Automatic Configuration settings . Η συγκεκριμένη πολιτική ρυθμίζει τον MS-Internet Explorer ώστε να μην μπορούν οι χρήστες να αλλάζουν τις αυτόματες ρυθμίσεις αναζήτησης του εξυπηρετητή proxy.
Ο Firefox δεν υποστηρίζει εγγενώς τη ρύθμιση με πολιτικές ομάδας. Αυτό υλοποιείται σε ειδική έκδοσή του από την εταιρεία FrontMotion, οι εκδόσεις όμως που παρέχει είναι nightly builds, οπότε δεν προτείνεται η χρήση τους. Βέβαια με την εγκατάστασή του ο firefox έχει ενεργοποιημένη την αυτόματη αναζήτηση ρυθμίσεων.
Ρυθμίσεις Squid για απαγόρευση πρόσβασης των χρηστών σε συγκεκριμένες σελίδες
Το ΠΣΔ για να προστατεύσει τους χρήστες του από ακατάλληλο και επικίνδυνο περιεχόμενο στο Διαδίκτυο, παρέχει την υπηρεσία Web Filtering με την οποία απαγορεύεται η πρόσβαση σε σελίδες:
- που προπαγανδίζουν την επιθετική συμπεριφορά, το μίσος και τη βία
- που προωθούν τα ναρκωτικά
- με τυχερά παιχνίδια
- με πορνογραφικό περιεχόμενο
- που προωθούν το ρατσισμό
Στην περίπτωση που οι χρήστες του σχολικού δικτύου διαπιστώσουν πως έχουν πρόσβαση σε σελίδες με ακατάλληλο περιεχόμενο, πρέπει να ενημερώσουν άμεσα την υπηρεσία Web Filtering (cachemaster@sch.gr), ώστε η απαγόρευση πρόσβασης σε αυτές να ισχύσει στο σύνολο του ΠΣΔ.
Στην περίπτωση που το αίτημα αφορά σε σελίδες που δεν απαγορεύονται, καθώς είναι αξιοποιήσιμες από τμήμα της εκπαιδευτικής κοινότητας, τότε πρέπει να εισαχθούν κανόνες απαγόρευσης στον proxy server, με την ακόλουθη διαδικασία:
- Δημιουργούμε το αρχείο "c:\squid\etc\squid-block.acl" με περιεχόμενο τις ιστοσελίδες για τις οποίες θέλουμε να απαγορεύσουμε την πρόσβαση. Για παράδειγμα για να απαγορευτεί η πρόσβαση στις σελίδες που το url τους περιλαμβάνει τα στοιχεία “facebook.com” και “hi5.com”προσθέτουμε:
.facebook.com .hi5.com |
- Εισάγουμε τις ακόλουθες γραμμές στην αρχή του αρχείου "C:\squid\etc\squid.conf" πριν την εντολή "http_access allow sch:"
acl bad url_regex -i "C:\squid\etc\squid-block.acl" http_access deny bad |
- Η παράμετρος ‘-i’ εξασφαλίζει πως η πρόσβαση στις διευθύνσεις θα απαγορευθεί ανεξάρτητα από το αν εισαχθούν από το χρήστη με μικρούς ή :κεφαλαίους χαρακτήρες.
- Αποθηκεύουμε το αρχείο και επανεκκινούμε το squid service να ξαναφορτώσει τις ρυθμίσεις του:
![]() | net stop squid && net start squid |
Ρυθμίσεις Squid για τα updates των Ubuntu & MS-Windows standalone σταθμών εργασίας
Εάν το ΣΕΠΕΗΥ διαθέτει standalone σταθμούς εργασίας είναι δυνατόν ο squid να ρυθμιστεί ώστε να κάνει cache τα updates των σταθμών εργασίας είτε αυτοί διαθέτουν Ubuntu λειτουργικό σύστημα (κάτι ανάλογο με το apt-cacher) είτε αυτοί διαθέτουν MS-Windows λειτουργικό σύστημα (κάτι ανάλογο με το MS-Windows Server Update Services). Με αυτόν τον τρόπο δεν απαιτείται κάθε σταθμός να κατεβάζει από το διαδίκτυο τα updates του.
- Προσθέτουμε τις ακόλουθες γραμμές στο αρχείο squid.conf, πριν τον ορισμό του localnet (acl localnet src 10.x.y.z/24)
refresh_pattern deb$ 1577846 100% 1577846 refresh_pattern Packages.gz$ 1440 100% 1440 refresh_pattern windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims maximum_object_size 1 GB |
- Σε όλους τους Ubuntu standalone σταθμούς εργασίας δίνουμε την ακόλουθη εντολή
![]() | echo 'Acquire::http::Proxy "http://10.x.y.z:3128";' |
- όπου 10.x.y.z, η διεύθυνση του squid εξυπηρετητή.
- Σε όλους τους MS-Windows standalone σταθμούς εργασίας δίνουμε την ακόλουθη εντολή
![]() | netsh winhttp set proxy 10.x.y.z:3128 |
- όπου 10.x.y.z, η διεύθυνση του squid εξυπηρετητή.