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-д суурилсан зөвшөөрөл нь бүртгэлийн хил бөгөөд тодорхой нэг гүйцэтгэх файл бүх зөвшөөрөгдсөн холболтыг үүсгэсэн гэсэн баталгаа биш.