Η αντιστοίχιση 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 είναι όριο λογαριασμού και όχι απόδειξη ότι ένα συγκεκριμένο εκτελέσιμο δημιούργησε κάθε επιτρεπόμενη σύνδεση.

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