PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webseiten sperren



moul
07.07.06, 16:15
Hi,

ich habe da so ein kleines Problem mit Pornoseiten. Die will ich jetzt gerne sperren und habe gehört das es ein Programm unter Debian gibt das squid heißt und das möglich macht.
Kann mir einer helfen wie ich das am besten einrichte und wo ich solche Blacklisten dafür finde?
Oder welches andere Programm sollte man dafür nutzen?

Wenn es geht alles auf Deutsch dank.

r2k
07.07.06, 17:10
Ich glaube du suchst squidguard.
Die bieten auch eigene Blacklists an :)

Gruess
r2k

MiGo
07.07.06, 18:39
habe gehört das es ein Programm unter Debian gibt das squid heißt und das möglich macht.
Um genau zu sein, handelt es sich dabei um einen Proxy-Server.
Hier solltest du weitere Informationen finden: http://www.squidportal.de/

moul
08.07.06, 06:41
Hi,

ich habe bei mir jetzt auf dem Rechner Squid installiert. Ich habe es auf dem Rechner installiert mit dem ich immer arbeite. Vor dem Internet ist noch eine Fritzbox die als Router arbeitet und die AOL logindaten enhält. Aber ich habe noch ein paar Fragen dazu:

1. Warum kann ich immer noch im Internet surfen, selbst wenn ich bei Opera nicht die Proxyangaben mache?

2. Wie kann ich Squidguard bei Squid einbinden?

3. Wie binde ich die Blacklists ein bei Squidguard?

4. Warum bekommt http://wieistmeineip.de nicht nur meine Routerip raus sondern auch von meinem Rechner?

6. Wie kann ich den Router zum Modem machen (ist einfach kann ich) und die Logindaten über meinen Rechner schicken?

7. Brauche Hilfe beim einrichten von Squidguard.

Danke

MiGo
08.07.06, 09:15
1. Warum kann ich immer noch im Internet surfen, selbst wenn ich bei Opera nicht die Proxyangaben mache?
Weil squid nicht per Default in die Leitung geschaltet wird. Du musst ihn schon als Proxy im Browser angeben.
Dagegen gibt's 2 verschiedene Möglichkeiten: Du sperrst die Ports 80 und 443 [i]nach aussen[i], dann können 90 % der Seiten nur noch über Squid angesurft werden.
Oder du suchst nach "transparent proxy", so kann man auf dem Rechner, der den Datenverkehr des Netzwerks ins Internet routet, squid unsichtbar dazwischenschalten.

2. Wie kann ich Squidguard bei Squid einbinden?
Installieren über das Paketmanagement und Einbinden in der squid.conf.
http://www.squidguard.org/install/ sollte dabei helfen.
3. Siehe 2.

4. Warum bekommt http://wieistmeineip.de nicht nur meine Routerip raus sondern auch von meinem Rechner?
"Manche Proxy-Server unterdrücken die Weitergabe der eigentlichen Client-IP (HTTP_X_FORWARDED_FOR), in diesem Fall wird die IP-Adresse des Proxy-Servers angezeigt."
Will sagen, anhand des Datenpaketes kann man - je nach Proxykonfiguration - feststellen, dass das Paket via Proxy auf einen anderen Rechner soll.
Bei mir tut es das übrigends nicht (allerdings verwende ich auch nicht Squid sondern privoxy).


6. Wie kann ich den Router zum Modem machen (ist einfach kann ich) und die Logindaten über meinen Rechner schicken?
Der Suchbegriff ist "pppoe" (ppp over ethernet).


7. Brauche Hilfe beim einrichten von Squidguard.
Das ist nicht zu übersehen.
Versuch' bitte, das nächste Mal spezielle Fragen zu stellen.
So, wie du das jetzt machst, wirkt das sehr nach "Ich habe keine Lust, mich selber drum zu kümmern, aber einer der netten Onkels im Forum wird's mir schon erklären."
Ein bisschen Eigenengagement inspiriert auch die möglichen Antwortgeber zur Mithilfe.

Insbesondere, da wir noch in keinster Weise wissem, was du genau machen willst, ausser, "dass du Probleme mit Pornoseiten hast", was doch eher eine diffuse Fragestellung ist :)

moul
10.07.06, 15:51
Also mit der Liste klappt es jetzt, habe aber nicht mit Squidguard gearbeitet sondern mit einer anderen.
Mit wieistmeineip habe ich auch alles geregelt. Es lag hier ran:


forwarded_for on

ich musste einfach nur folgendes machen


forwarded_for off

So, jetzt ist nur noch das Problem mit den Ports. Wie kann ich die jetzt nach außen sperren, so dass der alle den Proxyserver nutzen müssen?

MiGo
10.07.06, 17:13
du suchst nach "transparent proxy",
"Transparent Proxy" als Suchbegriff sollte dich da weiterbringen.

moul
10.07.06, 22:05
Ich habe von folgender Webseite http://www.linuxdevcenter.com/pub/a/linux/2001/10/25/transparent_proxy.html folgenden Beiterag:


Configuring a transparent proxy
Traffic interception

Intercept and/or redirect the traffic to the chosen port. Having the proxy on the same machine as the interceptor is preferable. The code example uses iptables as the redirection mechanism, and port 8080 as the proxy's http_port.
To a different machine

iptables -t nat -A PREROUTING -i $INTERFACE -p tcp --dport 80 -j DNAT --to 10.0.3.1:8080
To the same machine

iptables -t nat -A PREROUTING -i $INTERFACE -p tcp --dport 80 -j REDIRECT --to-port 8080
Squid configuration

In the squid.conf file, configure these options:

* httpd_accel_host virtual
* httpd_accel_port 80
(or whatever port you want to proxy)
* httpd_accel_with_proxy on
* httpd_accel_uses_host_header on

Note that you cannot transparently proxy more than one port at a time. The HTTP headers do not contain port information, so Squid cannot tell which port the request was intended for once the request has been intercepted.


Nur leider ist mein Englisch nicht so gut, könntest du mir da helfen?
Bis jetzt sieht meine squid.conf an den stellen die ich verändert habe so aus:



acl allowed_clients src 192.168.178.20

acl SPERRE_DOMAINS dstdomain -i "/etc/squid/deny_domains"
acl SPERRE_URLPARTS urlpath_regex -i "/etc/squid/deny_urlparts"

http_access deny SPERRE_DOMAINS
http_access deny SPERRE_URLPARTS

http_access allow allowed_clients
http_access deny all

MiGo
11.07.06, 07:20
iptables -t nat -A PREROUTING -i $INTERFACE -p tcp --dport 80 -j REDIRECT --to-port 8080
Die Zeile kannst du als root auf deinem Rechner einfach so eingeben.
Das leitet alle Anfragen, an Port 80 (dport) gerichtet sind und über deine Netzwerkkarte ($INTERFACE) rausgehen sollen, an deinen Port 8080 weiter, wo squid lauscht. $INTERFACE musst du natürlich noch durch deine Netzwerkkarte ersetzen.

Die Optionen weiter unten (httpd_accel_host virtual etc.) müssen wohl noch in deine Squid-Config.

Der Nachteil bei der Methode ist, dass du immer nur einen Port "zwangsverproxy'n" kannst. Also musst du Seiten, die auf https (Port 443) oder auf einem anderen Port laufen (www.boesepornseite.de.vu:8080) entweder zulassen oder ganz sperren.

moul
11.07.06, 07:46
Die Zeile kannst du als root auf deinem Rechner einfach so eingeben.
Das leitet alle Anfragen, an Port 80 (dport) gerichtet sind und über deine Netzwerkkarte ($INTERFACE) rausgehen sollen, an deinen Port 8080 weiter, wo squid lauscht. $INTERFACE musst du natürlich noch durch deine Netzwerkkarte ersetzen.

Die Optionen weiter unten (httpd_accel_host virtual etc.) müssen wohl noch in deine Squid-Config.

Der Nachteil bei der Methode ist, dass du immer nur einen Port "zwangsverproxy'n" kannst. Also musst du Seiten, die auf https (Port 443) oder auf einem anderen Port laufen (www.boesepornseite.de.vu:8080) entweder zulassen oder ganz sperren.

Also nur damit ich das richtig verstehe müsste das bei mir jetzt so aussehen:


iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 6881

Kann ich das aber nicht auch mit allen Ports machen?
Ich meine zum Beispiel auch so:


iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 6881



acl allowed_clients src 192.168.178.20

acl SPERRE_DOMAINS dstdomain -i "/etc/squid/deny_domains"
acl SPERRE_URLPARTS urlpath_regex -i "/etc/squid/deny_urlparts"

http_access deny SPERRE_DOMAINS
http_access deny SPERRE_URLPARTS

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

http_access allow allowed_clients
http_access deny all


Danke

MiGo
11.07.06, 14:03
Note that you cannot transparently proxy more than one port at a time. The HTTP headers do not contain port information, so Squid cannot tell which port the request was intended for once the request has been intercepted.
Gehen sollte das schon; allerdings wird dann alles ohne Unterscheidung auf Port 6881 umgebogen, da squid keine Unterscheidung machen kann, fuer welchen Port das Paket denn nun eigentlich bestimmt war.
Will sagen, auch eine Anfrage an "https://supersecure.encrypted.com" wird an Port 80 des Zielrechners gesendet und ist somit unverschlüsselt.