iptables का owner मैच स्थानीय प्रक्रिया के सॉकेट द्वारा बनाए गए पैकेट की पहचान कर सकता है। उदाहरण के लिए, -m owner --uid-owner 1234 UID 1234 के स्वामित्व वाले स्थानीय सॉकेट को दर्शाता है; यह HTTP प्रॉक्सी उपयोगकर्ता नाम की पहचान नहीं करता।

Squid चलाने वाली मशीन पर इन रास्तों को अलग पहचानें:

ट्रैफ़िकप्रासंगिक अंतर
एक क्लाइंट इस मशीन पर Squid से जुड़ता हैप्रॉक्सी लिसनर के पास आने वाला कनेक्शन
Squid गंतव्य कनेक्शन खोलता हैस्थानीय रूप से बनाया गया आउटबाउंड सॉकेट
LAN क्लाइंट इस मशीन से सीधे रूट करता हैस्थानीय निर्माता सॉकेट के बिना फ़ॉरवर्ड किया गया ट्रैफ़िक

यह एक्सटेंशन OUTPUT और POSTROUTING में मान्य है। फ़ॉरवर्ड किए गए पैकेट के पास इस मैच के लिए कोई संबद्ध स्थानीय सॉकेट नहीं होता, इसलिए FORWARD नियम Squid का UID पूछकर दूर के कंप्यूटर का उपयोगकर्ता नहीं खोज सकता।

इसलिए Squid के अपने आउटबाउंड सॉकेट की अनुमति देने वाली नीति केवल प्रॉक्सी पर आधारित नेटवर्क डिज़ाइन का एक हिस्सा संभालती है। गेटवे फ़ॉरवर्डिंग, लिसनर एक्सेस, अन्य अनुमत सेवाएँ और वास्तविक प्रॉक्सी सेवा खाता अपने उचित दायरे में संभाले जाने चाहिए।

Squid को nobody के रूप में चलने मानने के बजाय कॉन्फ़िगर की गई रनटाइम पहचान इस्तेमाल करें। कई प्रक्रियाएँ एक UID साझा कर सकती हैं, इसलिए UID-आधारित अनुमति खाता सीमा है, यह प्रमाण नहीं कि किसी विशेष निष्पादन योग्य ने हर अनुमत कनेक्शन बनाया।

संबंधित लेख