iptables --uid-owner מתאים לסוקטים המקומיים של Squid, ולא למשתמשי LAN
השתמשו במשמעות של --uid-owner כיוצר סוקט מקומי כשאתם מנמקים לגבי היציאה של Squid, והפרידו חבילות LAN מועברות.
התאמת owner של iptables יכולה לזהות חבילות שנוצרו על ידי סוקט של תהליך מקומי. לדוגמה, -m owner --uid-owner 1234 מתייחס לסוקט מקומי בבעלות UID 1234; הוא אינו מזהה שם משתמש של פרוקסי HTTP.
במכונה שמריצה Squid, הבדילו בין המסלולים האלה:
| תעבורה | ההבחנה הרלוונטית |
|---|---|
| לקוח מתחבר ל-Squid במכונה הזו | חיבור נכנס למאזין הפרוקסי |
| Squid פותח חיבור ליעד | סוקט יוצא שנוצר מקומית |
| לקוח LAN מנתב ישירות דרך המכונה הזו | תעבורה מועברת ללא סוקט יוצר מקומי |
ההרחבה תקפה ב-OUTPUT וב-POSTROUTING. לחבילות מועברות אין סוקט מקומי משויך להתאמה הזו, ולכן כלל FORWARD אינו יכול לגלות את משתמש המחשב המרוחק על ידי שאלת ה-UID של Squid.
לכן מדיניות שמתירה את הסוקטים היוצאים של Squid עצמו מטפלת רק בחלק אחד מעיצוב רשת שמבוסס כולו על פרוקסי. העברה דרך שער, גישה למאזין, שירותים מותרים אחרים וחשבון שירות הפרוקסי בפועל חייבים להיות מטופלים בתחום המתאים להם.
השתמשו בזהות זמן הריצה המוגדרת במקום להניח ש-Squid פועל כ-nobody. תהליכים אחדים יכולים לחלוק UID אחד, ולכן הרשאה מבוססת UID היא גבול חשבון ולא הוכחה שקובץ הרצה מסוים יצר כל חיבור מותר.