Το iptables --uid-owner ταιριάζει με τα τοπικά socket του Squid, όχι με χρήστες LAN
Χρησιμοποιήστε την έννοια του δημιουργού τοπικού socket του --uid-owner όταν συλλογίζεστε την έξοδο του Squid και κρατήστε τα προωθημένα πακέτα LAN ξεχωριστά.
Η αντιστοίχιση owner του iptables μπορεί να αναγνωρίσει πακέτα που δημιουργήθηκαν από socket τοπικής διεργασίας. Για παράδειγμα, το -m owner --uid-owner 1234 αναφέρεται σε τοπικό socket που ανήκει στο UID 1234· δεν αναγνωρίζει όνομα χρήστη HTTP proxy.
Σε μηχάνημα που εκτελεί Squid, διακρίνετε αυτές τις διαδρομές:
| Κίνηση | Σχετική διάκριση |
|---|---|
| Ένας πελάτης συνδέεται με τον Squid σε αυτό το μηχάνημα | Εισερχόμενη σύνδεση στον ακροατή του proxy |
| Ο Squid ανοίγει σύνδεση προς προορισμό | Τοπικά δημιουργημένο εξερχόμενο socket |
| Ένας πελάτης LAN δρομολογεί απευθείας μέσω αυτού του μηχανήματος | Προωθημένη κίνηση χωρίς τοπικό socket δημιουργού |
Η επέκταση ισχύει σε OUTPUT και POSTROUTING. Τα προωθημένα πακέτα δεν έχουν συνδεδεμένο τοπικό socket για αυτή την αντιστοίχιση, οπότε ένας κανόνας FORWARD δεν μπορεί να ανακαλύψει τον χρήστη του απομακρυσμένου υπολογιστή ρωτώντας το UID του Squid.
Επομένως μια πολιτική που επιτρέπει τα δικά του εξερχόμενα socket του Squid καλύπτει μόνο ένα μέρος ενός σχεδιασμού δικτύου που βασίζεται αποκλειστικά σε proxy. Η προώθηση πύλης, η πρόσβαση στον ακροατή, άλλες επιτρεπόμενες υπηρεσίες και ο πραγματικός λογαριασμός υπηρεσίας proxy πρέπει να αντιμετωπίζονται στο κατάλληλο πεδίο τους.
Χρησιμοποιήστε την ρυθμισμένη ταυτότητα χρόνου εκτέλεσης αντί να υποθέσετε ότι ο Squid εκτελείται ως nobody. Πολλές διεργασίες μπορούν να μοιράζονται ένα UID, οπότε μια άδεια βάσει UID είναι όριο λογαριασμού και όχι απόδειξη ότι ένα συγκεκριμένο εκτελέσιμο δημιούργησε κάθε επιτρεπόμενη σύνδεση.