Squid-Kit-2

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Beispielkonzept

Bestimmte Rechner dürfen alles alle Anderen dürfen nur auf bestimmte Webseiten.

Diese Rechner dürfen alles
  • vi /etc/squid/teamleitung.txt
 172.17.113.24  
 172.17.113.33
 172.17.113.49  
Der Rest bekommt Einschränkungen welche Seite sie aufrufen dürfen.
  • vi /etc/squid/badsites.txt
bild.de
sex
www.faz.net
In die squid.conf kommen nun die acls
acl teamleitung src "/etc/squid/teamleitung.txt"
acl badsites url_regex  "/etc/squid/badsites.txt"
Anwenden der acls
http_access allow teamleitung
http_access deny badsites
http_access allow it-dmz
http_access allow it-lan

Authentifizierung

Zur Vermeidung von ungewollten Zugriffen lässt sich in Squid auch eine Authetifizierung erzwingen =Installation von htpasswd

  • apt install apache2-utils

Erstellen einer Passwort Datei

  • htpasswd -c /etc/squid/password martha
  • htpasswd /etc/squid/password leroy


Option Bedeutung
htpasswd Programmname (zum Verwalten von HTTP-Authentifizierungsdateien)
-c Erstellt eine neue Passwortdatei (nur beim ersten Mal verwenden!)
passwordfile Beliebiger Dateiname und Speicherort für die Passwortdatei
username Beliebiger Benutzername, der eingetragen werden soll

Änderungen an der squid.conf

Folgende Einträge werden am Anfang der squid.conf eingefügt:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/password
auth_param basic children 20 startup=0 idle=1
auth_param basic concurrency 0
auth_param basic credentialsttl 500 seconds
auth_param basic realm xinux proxy server
auth_param basic casesensitive off
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
Option Bedeutung
auth_param Definiert die Parameter für die Authentifizierung
basic Grundsätzliche Einstellungen, die verwendet werden, wenn keine anderen definiert sind (siehe Squid-Manual für weitere Optionen)
program Externes Programm, das zur Authentifizierung verwendet wird
/usr/lib/squid/basic_ncsa_auth Pfad zum Authentifizierungsprogramm
/etc/squid/passwd Passwortdatei mit Benutzern und verschlüsselten Passwörtern
children Anzahl der maximalen Authentifizierungsprozesse, die Squid starten darf
concurrency Gibt an, wie viele Anfragen gleichzeitig verarbeitet werden können
credentialsttl Legt fest, wie lange Anmeldedaten im Cache gültig sind (z. B. 2 Stunden)
realm Beschreibung oder Name des Authentifizierungsbereichs (wird dem Benutzer angezeigt)
casesensitive Legt fest, ob Benutzernamen groß-/kleinschreibungssensitiv behandelt werden

Time

  • Um eine Website zu einer gewissen Zeit freizugeben, benutzt man "time"

erstellen der acl

acl break-time time 12:00-13:00

erstellen der http_access

http_access allow bad-sites break-time
  • In diesem Beispiel werden die bad-sites um 12:00-13:00 freigeschaltet