Διαφορά μεταξύ των αναθεωρήσεων του "Windows/Διακομιστής μεσολάβησης Squid"

(Ρυθμίσεις Squid για τα updates των Ubuntu & MS-Windows standalone σταθμών εργασίας)
(Ανακατεύθυνση στη σελίδα Windows/Προχωρημένα/Squid)
 
(2 ενδιάμεσες αναθεωρήσεις από τον ίδιο χρήστη δεν εμφανίζεται)
Γραμμή 1: Γραμμή 1:
==Εισαγωγή==
+
#REDIRECT [[Windows/Προχωρημένα/Squid]]
Η υπηρεσία 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
 
{{Terminal|cd c:\squid\sbin<br />
 
squid -z}}
 
* Εγκαθιστούμε το squid σαν service των Windows, που θα ξεκινά με κάθε εκκίνηση του εξυπηρετητή
 
{{Terminal|squid -i}}
 
* Ξεκινούμε την υπηρεσία squid για πρώτη φορά (χωρίς επανεκκίνηση του συστήματος), από το {{Application|Server Manager}} στο {{Menu|Configuration|Services}} επιλέγουμε την υπηρεσία squid και κάνουμε Start.
 
* Ο Windows Server 2008 έχει ενεργοποιημένο Firewall, στο οποίο πρέπει να επιτρέψουμε την επικοινωνία από το τοπικό δίκτυο στην θύρα 3128, όπου λαμβάνει αιτήματα ο squid. Ξεκινούμε την εφαρμογή διαχείρισης του firewall από το {{Menu|Start|Administrative Tools|Windows Firewall and Advanced Security|δεξί κλικ στα Inbound Rules|New Rule...}}.
 
{|border="0" cellpadding="10" style="border: 0px solid darkgray;"
 
|- valign="top"
 
|Επιλέγουμε τη δημιουργία κανόνα με βάση θύρα επικοινωνίας.
 
|[[Αρχείο:W2k8-wfas-squid-01.jpg]]
 
|- valign="top"
 
|Επιλέγουμε την TCP θύρα 3128.
 
|[[Αρχείο:W2k8-wfas-squid-02.jpg]]
 
|- valign="top"
 
|Επιτρέπουμε την επικοινωνία με βάση τις επιλεγμένες ρυθμίσεις.
 
|[[Αρχείο:W2k8-wfas-squid-03.jpg]]
 
|- valign="top"
 
|Ο κανόνας ενεργοποιείται για όλα τα προφίλ.
 
|[[Αρχείο:W2k8-wfas-squid-04.jpg]]
 
|- valign="top"
 
|Δίνουμε όνομα στον κανόνα και η δημιουργία του ολοκληρώνεται.
 
|[[Αρχείο:W2k8-wfas-squid-05.jpg]]
 
|}
 
* Ρυθμίζουμε τον 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. Αυτό γίνεται από την εφαρμογή {{Application|Server Manager}}, όπου στο {{Menu|Roles|DNS Server|DNS|SERVER|Forward Lookup Zones|school.local}} κάνουμε δεξί κλικ και {{UserResponse|New Alias(CNAME)}} και ορίζουμε "Alias Name" {{UserResponse|wpad}} και "Fully Qualified Domain Name" {{UserResponse|server.school.local}}.
 
 
 
Το wpad είναι απαγορευμένο alias στο Windows Server 2008, οπότε για να υπάρξει πρόσβαση στο alias, πρέπει να άρουμε τον περιορισμό. Αρχικά βλέπουμε για ποια ονόματα υπάρχει περιορισμός.
 
{{Terminal|dnscmd /info /globalqueryblocklist<br />
 
Query result:<br />
 
String:  wpad<br />
 
String:  isatap<br />
 
Command completed successfully.}}
 
Στη συνέχεια ορίζουμε τον περιορισμό για όλα τα ισχύοντα ονόματα εκτός του wpad.
 
{{Terminal|C:\Users\Administrator>dnscmd /config /globalqueryblocklist isatap<br />
 
Registry property globalqueryblocklist successfully reset.<br />
 
Command completed successfully.<br />
 
}}
 
Επιβεβαιώνουμε την ορθή λειτουργία των ρυθμίσεων, από σταθμούς εργασίας με dns server τον εξυπηρετητή του ΣΕΠΕΗΥ, λαμβάνοντας μέσω της εντολής nslookup για το όνομα wpad.school.local τη διεύθυνση του εξυπηρετητή. Σε σταθμούς εργασίας που δεν είναι δυνατό να οριστεί ως dns server ο εξυπηρετητής του ΣΕΠΕΗΥ, προσθέτουμε την ακόλουθη γραμμή στο αρχείο c:\windows\system32\drivers\etc\hosts.
 
{| align="center"
 
|-
 
|10.x.y.z wpad
 
|}
 
===Ρύθμιση Web εξυπηρετητή σε MS-Windows===
 
{|border="0" cellpadding="10" style="border: 0px solid darkgray;"
 
|- valign="top"
 
|Από την εφαρμογή {{Application|Server Manager}} ενεργοποιούμε το ρόλο Web Server στον εξυπηρετητή του ΣΕΠΕΗΥ
 
|[[Αρχείο:Win2k8-webrole-01.jpg]]
 
|- valign="top"
 
|Μέσα από τον {{Application|IIS Manager}}, στο Default Web Site ανοίγουμε τα MIME Types
 
|[[Αρχείο:Win2k8-webrole-02.jpg]]
 
|- valign="top"
 
|Κάνουμε {{UserResponse|Add...}} ένα νέο MIME Type, με στοιχεία File name extenstion: {{UserResponse|.dat}} και MIME Type: {{UserResponse|application/x-javascript-config}}. Επανεκκινούμε τον εξυπηρετητή Web με δεξί κλικ στο SERVER(SCHOOL/yper), Stop και Start.
 
|[[Αρχείο:Win2k8-webrole-03.jpg]]
 
|}
 
Δημιουργούμε στο root φάκελο του web site (C:\inetpub\wwwroot) ένα αρχείο κειμένου με όνομα "wpad.dat" που περιλαμβάνει τις ακόλουθες γραμμές:
 
{| align="center"
 
|-
 
|function FindProxyForURL(url, host){<br />
 
return "PROXY server.school.local:3128; DIRECT";<br />
 
}<br />
 
|}
 
Επιβεβαιώνουμε κατ' αρχήν την ορθή λειτουργία των ρυθμίσεων με άνοιγμα του url http://wpad.school.local/wpad.dat, μέσω του οποίου λαμβάνουμε το οριζόμενο αρχείο wpad.dat στον εξυπηρετητή. Επιπλέον οι σταθμοί εργασίας που έχουν ορισμένο τον "Αυτόματο εντοπισμό ρυθμίσεων διαμεσολαβητή", θα έχουν πρόσβαση στο διαδίκτυο μέσω του proxy, οπότε στο C:\squid\var\log\access θα καταγράφεται η δραστηριότητά τους.
 
===Χειροκίνητη ρύθμιση σταθμών εργασίας===
 
Στον Internet Explorer από το μενού {{Menu|Εργαλεία|Επιλογές Internet|Συνδέσεις|Ρυθμίσεις LAN}} και επιλέγουμε τον {{Menu|Αυτόματο εντοπισμό ρυθμίσεων}}.
 
 
 
Στο Firefox από το μενού {{Menu|Εργαλεία|Επιλογές|Για προχωρημένους|Δίκτυο|Ρυθμίσεις}} και επιλέγουμε {{Menu|Αυτόματος εντοπισμός ρυθμίσεων διαμεσολαβητή για αυτό το δίκτυο}}.
 
===Ρύθμιση σταθμών εργασίας με πολιτικές ομάδας===
 
Για τον Internet Explorer ακολουθείστε τα ακόλουθα βήματα:
 
* Επιβεβαιώστε ότι η πολιτική στο Default Domain Policy (ή Local Policy για σταθμούς εργασίας εκτός Domain) {{Menu|User Configuration|Windows Settings|Internet Explorer Maintenance|Connection|Automatic Browser Configuration|Automatic Detect Configuration Settings}} είναι ενεργοποιημένη (είναι προεπιλεγμένη ρύθμιση στο Default Domain Policy). Η συγκεκριμένη πολιτική ρυθμίζει τον MS-Internet Explorer να αναζητά αυτόματα τον εξυπηρετητή proxy κάθε φορά που καλείται.
 
* Ενεργοποιήστε επίσης την πολιτική στο Default Domain Policy (ή Local Policy για σταθμούς εργασίας εκτός Domain) {{Menu|User Configuration|Administrative Templates|Windows Components|Internet Explorer|Disable changing Automatic Configuration settings|Enable}}. Η συγκεκριμένη πολιτική ρυθμίζει τον 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”προσθέτουμε:
 
{| align="center"
 
|-
 
|.facebook.com<br />
 
.hi5.com
 
|}
 
*Εισάγουμε τις ακόλουθες γραμμές στην αρχή του αρχείου "C:\squid\etc\squid.conf" πριν την εντολή "http_access allow sch:"
 
{| align="center"
 
|-
 
|acl bad url_regex -i "C:\squid\etc\squid-block.acl"<br />
 
http_access deny bad
 
|}
 
:Η παράμετρος ‘-i’ εξασφαλίζει πως η πρόσβαση στις διευθύνσεις θα απαγορευθεί ανεξάρτητα από το αν εισαχθούν από το χρήστη με μικρούς ή :κεφαλαίους χαρακτήρες.
 
*Αποθηκεύουμε το αρχείο και επανεκκινούμε το squid service να ξαναφορτώσει τις ρυθμίσεις του:
 
{{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 "local"}}
 
:όπου 10.x.y.z, η διεύθυνση του squid εξυπηρετητή. Μπορούμε να δούμε τις ρυθμίσεις με την εντολή: {{Terminal|netsh winhttp show proxy}}
 
:Οι συγκεκριμένες ρυθμίσεις αφορούν στο Local Machine, ενώ οι ρυθμίσεις στον IE αφορούν στον Currnet User και για αυτό το λόγο οι ρυθμίσεις μέσω IE δε μπορούν να εξυπηρετήσουν τη λειτουργία Windows Update, μέσω proxy.
 
{{Warning|Όταν οι σταθμοί εργασίας MS-Windows κάνουν αυτόματο κατέβασμα και εγκατάσταση των updates (μέσω του MS-Windows Update service) δεν σημειώνεται 100% caching των updates. Αντίθετα εάν ο χρήστης κατεβάσει μόνος του ένα update αυτό παραμένει στην cache του squid.}}
 

Τελευταία αναθεώρηση της 13:51, 19 Νοεμβρίου 2012

Ανακατεύθυνση σε: