Squid-Kit-2: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 31: Zeile 31:
  
  
Syntax:
+
{| class="wikitable"
*htpasswd: Programmname
+
! Option !! Bedeutung
*-c: Create new passwordfile, also neue Passwortdatei erstellen
+
|-
*passwordfile: Passwortdatei mit beliebigem Namen. Auch der Ort kann beliebig gewählt werden
+
| <code>htpasswd</code> || Programmname (zum Verwalten von HTTP-Authentifizierungsdateien)
*username: Name eines Benutzers (beliebig)
+
|-
 
+
| <code>-c</code> || Erstellt eine neue Passwortdatei (nur beim ersten Mal verwenden!)
Nach Bestätigen des Befehls wird htpasswd nach einem Passwort für den Benutzer verlangen. Dies kann ebenfalls beliebig gewählt werden.
+
|-
 +
| <code>passwordfile</code> || Beliebiger Dateiname und Speicherort für die Passwortdatei
 +
|-
 +
| <code>username</code> || Beliebiger Benutzername, der eingetragen werden soll
 +
|}
  
 
==Änderungen an der squid.conf==
 
==Änderungen an der squid.conf==
Zeile 44: Zeile 48:
  
 
<pre>
 
<pre>
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
+
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 children 20 startup=0 idle=1
 
auth_param basic concurrency 0
 
auth_param basic concurrency 0
Zeile 50: Zeile 54:
 
auth_param basic realm xinux proxy server
 
auth_param basic realm xinux proxy server
 
auth_param basic casesensitive off
 
auth_param basic casesensitive off
 
 
acl ncsa_users proxy_auth REQUIRED
 
acl ncsa_users proxy_auth REQUIRED
 
 
http_access allow ncsa_users
 
http_access allow ncsa_users
 
 
</pre>
 
</pre>
 
+
{| class="wikitable"
Syntax:
+
! Option || Bedeutung
*auth_param: Definiert die Parameter für die Authentifizierung
+
|-
*basic: Teilt squid mit, dass es sich um grundsätzliche Einstellungen handelt, die zur Anwendung kommen wenn keine anderen verfügbar sind. Weitere Optionen siehe squid Manual
+
| <code>auth_param</code> || Definiert die Parameter für die Authentifizierung
*program: Es wird ein externes Programm zur Authentifizierung eingesetzt
+
|-
*/usr/lib/squid/basic_ncsa_auth: Hier befindet sich das Programm
+
| <code>basic</code> || Grundsätzliche Einstellungen, die verwendet werden, wenn keine anderen definiert sind (siehe Squid-Manual für weitere Optionen)
*/etc/squid/passwd: Dies ist die Passwortdatei
+
|-
*children: Wieviele Authentifikationsprozesse Squid maximal starten soll
+
| <code>program</code> || Externes Programm, das zur Authentifizierung verwendet wird
*concurrency: Wieviele Anfragen gleichzeitig bearbeitet werden dürfen
+
|-
*credentialsttl: Wie lange die Anmeldedaten gültig sein sollen
+
| <code>/usr/lib/squid/basic_ncsa_auth</code> || Pfad zum Authentifizierungsprogramm
*realm: Name des Bereichs für den der Proxy zuständig ist. Kann beliebig gewählt werden.
+
|-
*casesensitive: Legt fest ob der BENUTZERname case-sensitiv sein soll
+
| <code>/etc/squid/passwd</code> || Passwortdatei mit Benutzern und verschlüsselten Passwörtern
 +
|-
 +
| <code>children</code> || Anzahl der maximalen Authentifizierungsprozesse, die Squid starten darf
 +
|-
 +
| <code>concurrency</code> || Gibt an, wie viele Anfragen gleichzeitig verarbeitet werden können
 +
|-
 +
| <code>credentialsttl</code> || Legt fest, wie lange Anmeldedaten im Cache gültig sind (z. B. 2 Stunden)
 +
|-
 +
| <code>realm</code> || Beschreibung oder Name des Authentifizierungsbereichs (wird dem Benutzer angezeigt)
 +
|-
 +
| <code>casesensitive</code> || Legt fest, ob Benutzernamen groß-/kleinschreibungssensitiv behandelt werden
 +
|}
  
 
=Time=
 
=Time=

Aktuelle Version vom 1. Juli 2025, 08:52 Uhr

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