La coincidència owner d'iptables pot identificar paquets creats pel socket d'un procés local. Per exemple, -m owner --uid-owner 1234 fa referència a un socket local propietat de l'UID 1234; no identifica un nom d'usuari de proxy HTTP.

En una màquina que executa Squid, distingiu aquests camins:

TrànsitDistinció rellevant
Un client es connecta a Squid en aquesta màquinaConnexió entrant al listener del proxy
Squid obre una connexió de destinacióSocket de sortida creat localment
Un client de LAN encamina directament per aquesta màquinaTrànsit reenviat sense socket creador local

L'extensió és vàlida a OUTPUT i POSTROUTING. Els paquets reenviats no tenen cap socket local associat per a aquesta coincidència, així que una regla FORWARD no pot descobrir l'usuari de l'ordinador remot preguntant per l'UID de Squid.

Per tant, una política que permet els sockets de sortida propis de Squid només cobreix una part d'un disseny de xarxa basat únicament en el proxy. El reenviament de passarel·la, l'accés al listener, altres serveis permesos i el compte real del servei de proxy s'han de gestionar en el seu àmbit corresponent.

Feu servir la identitat d'execució configurada en lloc de suposar que Squid s'executa com a nobody. Diversos processos poden compartir un UID, així que un permís basat en UID és una frontera de compte, no la prova que un executable concret hagi creat totes les connexions permeses.

Articles relacionats