iptables --uid-owner vastaa Squidin paikallisia socketeja, ei LAN-käyttäjiä
Käytä --uid-ownerin paikallisen socketin luojan merkitystä, kun arvioit Squidin lähtevää liikennettä, ja pidä välitetyt LAN-paketit erillään.
iptablesin owner-vastine voi tunnistaa paketteja, jotka paikallisen prosessin socket on luonut. Esimerkiksi -m owner --uid-owner 1234 viittaa paikalliseen sockettiin, jonka omistaa UID 1234; se ei tunnista HTTP-välityspalvelimen käyttäjänimeä.
Koneella, jolla Squid toimii, erota nämä polut:
| Liikenne | Olennainen ero |
|---|---|
| Asiakas yhdistää Squidiin tällä koneella | Saapuva yhteys välityspalvelimen kuuntelijaan |
| Squid avaa kohdeyhteyden | Paikallisesti luotu lähtevä socket |
| LAN-asiakas reitittää suoraan tämän koneen kautta | Välitetty liikenne ilman paikallista luoja-sockettia |
Laajennus on voimassa OUTPUT- ja POSTROUTING-ketjuissa. Välitetyillä paketeilla ei ole tähän vastineeseen liittyvää paikallista sockettia, joten FORWARD-sääntö ei voi löytää etätietokoneen käyttäjää kysymällä Squidin UID:ta.
Niinpä käytäntö, joka sallii Squidin omat lähtevät socketit, kattaa vain yhden osan verkosta, joka rakentuu pelkän välityspalvelimen varaan. Yhdyskäytävän välitys, kuuntelijan käyttöoikeus, muut sallitut palvelut ja varsinainen välityspalvelun tili on hoidettava omassa laajuudessaan.
Käytä määritettyä suoritusaikaista identiteettiä sen sijaan, että olettaisit Squidin toimivan käyttäjänä nobody. Useat prosessit voivat jakaa yhden UID:n, joten UID-pohjainen sallinta on tilin raja, ei todiste siitä, että tietty ohjelmatiedosto loi jokaisen sallitun yhteyden.