A coincidencia owner de iptables pode identificar paquetes creados polo socket dun proceso local. Por exemplo, -m owner --uid-owner 1234 refírese a un socket local propiedade do UID 1234; non identifica un nome de usuario de proxy HTTP.

Nunha máquina que executa Squid, distinga estas rutas:

TráficoDistinción relevante
Un cliente conéctase a Squid nesta máquinaConexión entrante ao listener do proxy
Squid abre unha conexión de destinoSocket de saída creado localmente
Un cliente de LAN encamiña directamente por esta máquinaTráfico reenviado sen socket creador local

A extensión é válida en OUTPUT e POSTROUTING. Os paquetes reenviados non teñen un socket local asociado para esta coincidencia, polo que unha regra FORWARD non pode descubrir o usuario do equipo remoto preguntando polo UID de Squid.

Por tanto, unha política que permite os sockets de saída propios de Squid só cobre unha parte dun deseño de rede baseado só no proxy. O reenvío de pasarela, o acceso ao listener, outros servizos permitidos e a conta real do servizo de proxy deben tratarse no seu ámbito axeitado.

Use a identidade de execución configurada en lugar de supor que Squid se executa como nobody. Varios procesos poden compartir un UID, así que un permiso baseado en UID é unha fronteira de conta, non a proba de que un executable concreto crease todas as conexións permitidas.

Artigos relacionados