it-swarm.com.de

Die iptables-Regel erzwingt, dass alle Browser den Proxy verwenden

Ich habe squid als Proxy-Server in buntu 10.04 Standalone-System installiert, das ein einzelnes NIC enthält. Warum ich Squid in einem eigenständigen System installiert habe, liegt an meinen Freunden, die mein System zum Durchsuchen von Websites und Herunterladen von Dateien verwenden. Also habe ich Squid installiert, um Pornoseiten und Downloads zu blockieren. Aber sie umgehen einfach die Proxy-Einstellungen, indem sie sie im Browser deaktivieren. Ich weiß, dass es eine Möglichkeit gibt, alle Browser zu zwingen, mit iptables den Proxy zu durchlaufen. Aber wie? Ich habe überall nach der Antwort gesucht, kann aber noch nicht die richtige finden. Kann mir jemand helfen?

4
karthick87

Blockieren Sie zuerst den direkten Zugriff auf Port 80 für alle außer Root und Squid. (root benötigt es, um Updates für Ihr System zu erhalten). (Ich gehe davon aus, dass Squid als Benutzer-Proxy ausgeführt wird - entsprechend bearbeiten).

iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner proxy -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j DROP

Dann können Sie Firefox so einrichten, dass Squid wie gewohnt als Proxy verwendet wird. Wenn deine Freunde die Einstellungen ändern, werden sie blockiert.

Beachten Sie, dass Squid keinen https-Datenverkehr per Proxy übertragen kann, daher habe ich diese Details nicht in diese Regeln aufgenommen. Wenn Sie nur ohne Proxy oder Caching filtern möchten, können Sie DansGuardian verwenden. Dies ist eine Anleitung zur Verwendung von dansguardian mit einigen Benutzern, die von der Filterung ausgeschlossen sind. Das Handbuch bedeutet, dass https (Port 443) von DansGuardian sowie http (Port 80) gefiltert wird.

3
Hamish Downer

alternativ können Sie LD_PRELOAD-Optionen für Proxy-Ketten in .profile ablegen. Wenn Sie https als Proxy verwenden möchten, können Sie dies mit 3proxy tun

0
RobotHumans