Χρησιμοποιήστε proxy_protocol_access για να εμπιστευτείτε το relay που παρέχει τα μεταδεδομένα, όχι για να επιλέξετε επιτρεπόμενους ιστότοπους. Στο Squid 5–7 ο έλεγχος εκτελείται μία φορά μετά τη ρύθμιση TCP σε ακροατή require-proxy-header, πριν από την επεξεργασία των κεφαλίδων αιτήματος HTTP:

acl trusted_relay src 192.0.2.20/32
http_port 3128 require-proxy-header
proxy_protocol_access allow trusted_relay
proxy_protocol_access deny all

Αντικαταστήστε τη διεύθυνση relay του παραδείγματος και περιορίστε την πρόσβαση δικτύου σε αυτόν τον ακροατή. Σε αυτό το στάδιο το Squid ελέγχει τον πραγματικό ομότιμο TCP πριν δεχτεί τα παρεχόμενα μεταδεδομένα. Μετά την αποδοχή, χρησιμοποιεί τη δηλωμένη διεύθυνση πελάτη για τους επόμενους ελέγχους ACL και την καταγραφή. Το να εμπιστεύεστε ένα relay με βάση τη διεύθυνση πελάτη που ισχυρίζεται θα ανέστρεφε αυτή τη σειρά.

Κρατήστε το http_access για τις μεταγενέστερες άδειες πηγής πελάτη και προορισμού. Η αποδοχή μεταδεδομένων δεν εξουσιοδοτεί πρόσβαση σε ιστότοπους και ένα ACL τομέα προορισμού δεν μπορεί να απαντήσει στο προηγούμενο ερώτημα εμπιστοσύνης του αποστολέα.

Ο αποστολέας και ο παραλήπτης πρέπει να συμφωνήσουν σε υποστηριζόμενη έκδοση του πρωτοκόλλου PROXY. Ένας απλός πελάτης HTTP δεν μπορεί να χρησιμοποιήσει αυτόν τον ακροατή με υποχρεωτικό πρόθεμα ως συνηθισμένο τελικό σημείο διαμεσολαβητή. Αν χρειάζονται και οι δύο μορφές, χρησιμοποιήστε σκόπιμα ξεχωριστά τελικά σημεία αντί να διπλασιάσετε την ίδια διεύθυνση ακρόασης και θύρα.

Ένα αξιόπιστο relay μπορεί να επηρεάσει την εξουσιοδότηση βάσει διεύθυνσης μέσω της ταυτότητας πελάτη που παρέχει. Παραχωρήστε αυτή τη δυνατότητα μόνο στον προβλεπόμενο ενδιάμεσο.

Σχετικά άρθρα