Aufmacher

Internetzugänge steuern und filtern mit Squid

Zugangskontrolle

Das Internet gehört für Kinder inzwischen zum Alltag, bringt aber auch unerwünschte Inhalte ins Haus. Neben einem wachsamen Auge helfen die richtigen Tools, um ungeeigneten Content von Kindern fern zu halten.

Das Thema Netzwerke und Filtern fällt äußerst komplex aus. Ansätze gibt es fast so viele wie zu filternde Inhalte. Aus diesem Grund scheint die Materie speziell für Anfänger oft mit großen Einstiegshürden verbunden. Mit ein wenig Grundwissen über Iptables und Squid bauen Sie aber quasi mit Bordmitteln auf einem Linux-Rechner einen wirkungsvollen Filtermechanismus auf.

Systemvoraussetzungen

Im Beispiel steht ein Linux-Heimserver mit Firewall und Routing bereit. Er sollte als einziger PC am Internet hängen und allen anderen Clients den Zugang ermöglichen, damit niemand den Filter umgeht. Der Router selbst darf daher mindestens die TCP-Ports 21 und 80 nicht weiterleiten, damit die Clients bei den Protokollen FTP und HTTP auf den Proxy zugreifen. Als Proxy arbeitet Squid [1] – im Beispiel in Version 2.6.

Bei Debian 4.0 und Ubuntu 8.04 heben Sie die Software mit einem einfachen apt-get install squid auf die Platte. Für die Clients kommt jedes beliebige Betriebssystem in Frage, solange es auf TCP/IP als Netzwerkprotokoll setzt. Stellen auf den Clients den Router als Proxy-Host im Browser ein (Abbildung 1). Denjenigen, die mit möglichst wenig Aufwand einen eigenen Router installieren wollen, sei Fli4l [2] ans Herz gelegt, das Squid als Zusatzpaket anbietet.

Abbildung 1: Lediglich die Konfiguration des Browsers erfolgt auf jedem Client.

Grundkonfiguration

Laufen das Basissystem und Squid, so geht es an die Konfiguration. Standardmäßig liegt in /etc/squid/squid.conf die Konfigurationsdatei des Proxys. Online [3] finden Sie eine gut kommentierte Version. Eine wichtige Maßnahme nehmen Sie jedoch direkt in der Firewall vor, damit diese eingehende Anfragen auf den Proxy von allen externen Netzen blockiert. So geht niemand unbefugt von außen über den Server online. Listing 1 liefert zwei Alternativen, die Sie jedoch unbedingt auf das eigene Setup anpassen müssen. Es empfiehlt sich, bei der Firewall alle Ports zu sperren und nur diejenigen explizit zu öffnen, die Sie unbedingt benötigen.

Listing 1
# Variante 1
# verwirft eingehende Anfragen auf den Squid-Port 3128,
# außer sie kommen aus dem Netz 192.168.1.*
iptables -I INPUT -p tcp --dport 3128 -s ! 192.168.1.0/24 -j DROP
# Variante 2
# verwirft eingehende Anfragen auf den Squid-Port 3128,
# außer sie kommen von der Netzkarte eth0 (lokales Netz)
iptables -I INPUT -p tcp --dport 3128 -i ! eth0 -j DROP

Zum besseren Verständnis stellen Sie über die Option error_directory /usr/share/squid/errors/German in der squid.conf die Sprache der Squid-Fehlerseiten auf Deutsch um. Alle weiteren Beispiele in diesem Artikel funktionieren so, dass Sie diese jeweils einzeln unterhalb der Zeile INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS eintragen können.

Wenden Sie mehrere Beispiele gleichzeitig an, so gilt es auf die Reihenfolge und richtige Kombination der Parameter zu achten. Nähere Informationen liefert die Hilfe von Squid. Damit das Programm die aktualisierte Konfiguration einliest, bedarf es jeweils eines einfachen /etc/init.d/squid reload auf der Kommandozeile. Es lohnt sich aber in jedem Fall, die Ratschläge aus dem Kasten "Wichtige Sicherheitshinweise" zu beachten.

Wichtige Sicherheitshinweise

Die Konfiguration eines Proxys hängt maßgeblich davon ab, wie die Netzwerkstruktur aussieht. Dieser Artikel dient daher nur als Anregung und basiert auf der Vorkonfiguration der Pakete von Ubuntu 8.04 mit Squid in der Version 2.6.STABLE18. Andere Distributionen oder Versionen erfordern unter Umständen andere Schritte.

Vor Inbetriebnahme lohnt es, einen Blick in das Squid-Handbuch zu werfen und die Sicherheit des Systems zu prüfen, denn ein offener und falsch konfigurierter Proxy ist so schlimm wie ein ungesichertes WLAN: Er ermöglicht es theoretisch jedem Internet-Nutzer mit der Identität des Proxy-Betreibers zu surfen. Der Betreiber eines Proxys haftet dann eventuell für das Verhalten unberechtigter Mitnutzer. Eine funktionierende Firewall, aktuelle Pakete und eine abgesicherte Squid-Konfiguration gehören daher zur Pflicht.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2016: Neue Desktops

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Drucker Epson XP-332 unter ubuntu 14.04 einrichten
Andrea Wagenblast, 30.11.2016 22:07, 0 Antworten
Hallo, habe vergeblich versucht mein Multifunktionsgerät Epson XP-332 als neuen Drucker unter...
Apricity Gnome unter Win 10 via VirtualBox
André Driesel, 30.11.2016 06:28, 2 Antworten
Halo Leute, ich versuche hier schon seit mehreren Tagen Apricity OS Gnome via VirtualBox zum l...
EYE of Gnome
FRank Schubert, 15.11.2016 20:06, 2 Antworten
Hallo, EOG öffnet Fotos nur in der Größenordnung 4000 × 3000 Pixel. Größere Fotos werden nic...
Kamera mit Notebook koppeln
Karl Spiegel, 12.11.2016 15:02, 2 Antworten
Hi, Fotografen ich werde eine SONY alpha 77ii bekommen, und möchte die LifeView-Möglichkeit nu...
Linux auf externe SSD installieren
Roland Seidl, 28.10.2016 20:44, 1 Antworten
Bin mit einem Mac unterwegs. Mac Mini 2012 i7. Würde gerne Linux parallel betreiben. Aber auf e...