iptables --uid-owner Squid-тың жергілікті сокеттеріне сәйкес келеді, LAN пайдаланушыларына емес
Squid-тың сыртқа шығуын талқылағанда --uid-owner-дің жергілікті сокет жасаушы мағынасын қолданыңыз және қайта жіберілген LAN пакеттерін бөлек ұстаңыз.
iptables-тің owner сәйкестігі жергілікті процестің сокеті жасаған пакеттерді анықтай алады. Мысалы, -m owner --uid-owner 1234 UID 1234-ке тиесілі жергілікті сокетті білдіреді; ол HTTP прокси пайдаланушы атын анықтамайды.
Squid жұмыс істейтін машинада мына жолдарды ажыратыңыз:
| Трафик | Тиісті айырмашылық |
|---|---|
| Клиент осы машинадағы Squid-ке қосылады | Прокси тыңдаушысына кіріс қосылымы |
| Squid мақсатты қосылым ашады | Жергілікті жасалған шығыс сокеті |
| LAN клиенті осы машина арқылы тікелей маршруттайды | Жергілікті жасаушы сокеті жоқ қайта жіберілген трафик |
Кеңейту OUTPUT және POSTROUTING-де жарамды. Қайта жіберілген пакеттердің бұл сәйкестік үшін байланысты жергілікті сокеті жоқ, сондықтан FORWARD ережесі Squid-тің UID-ін сұрап, қашықтағы компьютердің пайдаланушысын таба алмайды.
Сондықтан Squid-тің өз шығыс сокеттеріне рұқсат беретін саясат тек проксиге негізделген желілік жобаның бір бөлігін ғана қамтиды. Шлюз арқылы жіберу, тыңдаушыға қатынау, басқа рұқсат етілген қызметтер және прокси қызметінің нақты тіркелгісі өз тиісті ауқымында өңделуі керек.
Squid nobody ретінде жұмыс істейді деп болжаудың орнына конфигурацияланған орындалу идентификациясын қолданыңыз. Бірнеше процесс бір UID-ті бөлісе алады, сондықтан UID-ке негізделген рұқсат — тіркелгі шекарасы, белгілі бір орындалатын файл барлық рұқсат етілген қосылымдарды жасады деген дәлел емес.